summaryrefslogtreecommitdiffstats
path: root/abs
diff options
context:
space:
mode:
Diffstat (limited to 'abs')
-rw-r--r--abs/core/LinHES-config/LinHES-release2
-rwxr-xr-xabs/core/LinHES-config/PKGBUILD12
-rw-r--r--abs/core/LinHES-config/mv_install.py3
-rw-r--r--abs/core/LinHES-config/myth_settings_wrapper.sh6
-rwxr-xr-xabs/core/LinHES-config/systemconfig.py74
-rwxr-xr-xabs/core/LinHES-system/PKGBUILD10
-rwxr-xr-xabs/core/LinHES-system/checkXFSfrag.sh10
-rwxr-xr-xabs/core/LinHES-system/misc_which_recorder.pl2
-rwxr-xr-xabs/core/LinHES-system/xfs_defrag.cron2
-rwxr-xr-xabs/core/ceton_infinitv/PKGBUILD4
-rwxr-xr-xabs/core/linhes-theme/PKGBUILD43
-rw-r--r--abs/core/linhes-theme/base.xml.patch411
-rw-r--r--abs/core/linhes-theme/browser-ui.xml.patch13
-rw-r--r--abs/core/linhes-theme/config-ui.xml.patch408
-rw-r--r--abs/core/linhes-theme/controls-ui.xml.patch11
-rw-r--r--abs/core/linhes-theme/musicsettings-ui.xml.patch366
-rw-r--r--abs/core/linhes-theme/mytharchive-ui.xml.patch38
-rw-r--r--abs/core/linhes-theme/mythburn-ui.xml.patch20
-rw-r--r--abs/core/linhes-theme/mythnative-ui.xml.patch20
-rw-r--r--abs/core/linhes-theme/notification-ui.xml.patch54
-rw-r--r--abs/core/linhes-theme/schedule-ui.xml.patch117
-rw-r--r--abs/core/linhes-theme/settings-ui.xml.patch11
-rw-r--r--abs/core/linhes-theme/standardsetting-ui.xml441
-rw-r--r--abs/core/linhes-theme/video-ui.xml.patch135
-rw-r--r--abs/core/linhes-theme/weather-ui.xml.patch126
-rw-r--r--abs/core/linux/PKGBUILD35
-rw-r--r--abs/core/linux/config804
-rw-r--r--abs/core/linux/config.x86_647976
-rw-r--r--abs/core/linux/linux.install.pkg2
-rwxr-xr-xabs/core/mythdb-initial/PKGBUILD10
-rw-r--r--abs/core/mythdb-initial/custom.sql30
-rw-r--r--abs/core/mythdb-initial/mc.sql20
-rwxr-xr-xabs/core/mythdb-initial/mythdb.install36
-rwxr-xr-xabs/core/mythinstall/MythVantage-app/mythinstall/mythinstall.pro20
-rw-r--r--abs/core/mythinstall/PKGBUILD6
-rw-r--r--abs/core/mythtv/stable-0.28/git_src/git_hash2
-rw-r--r--abs/core/mythtv/stable-0.28/git_src/git_hash_web2
-rw-r--r--abs/core/mythtv/stable-0.28/mythplugins/PKGBUILD4
-rw-r--r--abs/core/mythtv/stable-0.28/mythtv/PKGBUILD5
-rw-r--r--abs/core/mythtv/stable-0.28/mythweb/PKGBUILD2
-rwxr-xr-xabs/core/mythtv/stable-29/git_src/checkout_mythtv.sh40
-rwxr-xr-xabs/core/mythtv/stable-29/git_src/checkout_mythweb.sh38
-rw-r--r--abs/core/mythtv/stable-29/git_src/git_hash1
-rw-r--r--abs/core/mythtv/stable-29/git_src/git_hash_web1
-rw-r--r--abs/core/mythtv/stable-29/mythplugins/0317-0336-MythMusic-Fix-Playlist-copyTracks-and-removeAllTrack.patch50
-rw-r--r--abs/core/mythtv/stable-29/mythplugins/PKGBUILD128
-rw-r--r--abs/core/mythtv/stable-29/mythplugins/cdparanoia.patch52
-rw-r--r--abs/core/mythtv/stable-29/mythplugins/mythburn.py-aspectratio.patch138
-rw-r--r--abs/core/mythtv/stable-29/mythplugins/mythplugins-mythzoneminder.install11
-rw-r--r--abs/core/mythtv/stable-29/mythtv/0006-cardutil_show_displayname.patch24
-rw-r--r--abs/core/mythtv/stable-29/mythtv/0037-pull103-Add-heuristic-in-TMDB-script-to-detect-movie-release-years.patch52
-rw-r--r--abs/core/mythtv/stable-29/mythtv/0287-MythUiImage-Don-t-block-UI-when-exiting-screens.patch412
-rw-r--r--abs/core/mythtv/stable-29/mythtv/0292-UPnP-Reduce-startup-latency-by-moving-blocking-code-to-own-thread.patch98
-rw-r--r--abs/core/mythtv/stable-29/mythtv/0294-0283-FE-Add-network-status-to-machine-status-dialog.patch71
-rw-r--r--abs/core/mythtv/stable-29/mythtv/PKGBUILD138
-rw-r--r--abs/core/mythtv/stable-29/mythtv/addDamagedToProgDetails.patch11
-rw-r--r--abs/core/mythtv/stable-29/mythtv/autoskip_reduce_commskip_jumpback.patch13
-rw-r--r--abs/core/mythtv/stable-29/mythtv/change_msg_types.patch20
-rw-r--r--abs/core/mythtv/stable-29/mythtv/defaultThemeLinHES.patch11
-rw-r--r--abs/core/mythtv/stable-29/mythtv/disable_mythnotification_tuner_failure.patch43
-rw-r--r--abs/core/mythtv/stable-29/mythtv/menu-xml/HOST_SETTINGS.xml114
-rw-r--r--abs/core/mythtv/stable-29/mythtv/menu-xml/dvd_backup.xml39
-rw-r--r--abs/core/mythtv/stable-29/mythtv/menu-xml/game.xml12
-rw-r--r--abs/core/mythtv/stable-29/mythtv/menu-xml/info_menu.xml76
-rw-r--r--abs/core/mythtv/stable-29/mythtv/menu-xml/is.xml3
-rw-r--r--abs/core/mythtv/stable-29/mythtv/menu-xml/lh_backend_control.xml24
-rw-r--r--abs/core/mythtv/stable-29/mythtv/menu-xml/library.xml.patch25
-rw-r--r--abs/core/mythtv/stable-29/mythtv/menu-xml/linhes.xml70
-rw-r--r--abs/core/mythtv/stable-29/mythtv/menu-xml/linhes_tools.xml31
-rw-r--r--abs/core/mythtv/stable-29/mythtv/menu-xml/mainmenu.xml.patch15
-rw-r--r--abs/core/mythtv/stable-29/mythtv/menu-xml/mythbackup.xml22
-rw-r--r--abs/core/mythtv/stable-29/mythtv/menu-xml/mythrestore.xml24
-rw-r--r--abs/core/mythtv/stable-29/mythtv/menu-xml/optical_menu.xml.patch23
-rw-r--r--abs/core/mythtv/stable-29/mythtv/menu-xml/original/create_patch.sh5
-rw-r--r--abs/core/mythtv/stable-29/mythtv/menu-xml/siriusmenu.xml.del419
-rw-r--r--abs/core/mythtv/stable-29/mythtv/menu-xml/update.xml11
-rw-r--r--abs/core/mythtv/stable-29/mythtv/menu-xml/update2.xml25
-rw-r--r--abs/core/mythtv/stable-29/mythtv/menu-xml/xmmenu.xml.del574
-rw-r--r--abs/core/mythtv/stable-29/mythtv/myth_settings.patch1960
-rw-r--r--abs/core/mythtv/stable-29/mythtv/mythfrontend_en_us.ts_Title_Case.patch24248
-rw-r--r--abs/core/mythtv/stable-29/mythtv/mythtv.install34
-rw-r--r--abs/core/mythtv/stable-29/mythtv/recordings145
-rw-r--r--abs/core/mythtv/stable-29/mythtv/searchMetatdataSelectedGrabber.patch18
-rw-r--r--abs/core/mythtv/stable-29/mythtv/suggestedstarttime.patch.v132
-rw-r--r--abs/core/mythtv/stable-29/mythtv/videoAlwaysUseBookmark.patch22
-rw-r--r--abs/core/mythtv/stable-29/mythweb/PKGBUILD58
-rw-r--r--abs/core/mythtv/stable-29/mythweb/mythweb.include8
-rw-r--r--abs/core/mythtv/stable-29/mythweb/mythweb.install22
-rw-r--r--abs/core/mythtv/stable-29/mythweb/mythweb_gen_light.conf1
-rw-r--r--abs/core/nvidia-304xx-utils/PKGBUILD10
-rw-r--r--abs/core/nvidia-304xx/PKGBUILD70
-rw-r--r--abs/core/nvidia-304xx/drm-driver-legacy.patch20
-rw-r--r--abs/core/nvidia-304xx/kernel-4.14.patch29
-rw-r--r--abs/core/nvidia-304xx/kernel_4.10.patch105
-rw-r--r--abs/core/nvidia-304xx/nvidia-304xx.install13
-rw-r--r--abs/core/nvidia-340xx-utils/PKGBUILD10
-rw-r--r--abs/core/nvidia-340xx/4.10.0_kernel.patch131
-rw-r--r--abs/core/nvidia-340xx/4.11.0_kernel.patch112
-rw-r--r--abs/core/nvidia-340xx/PKGBUILD57
-rw-r--r--abs/core/nvidia-340xx/fs52243.patch14
-rw-r--r--abs/core/nvidia-340xx/kernel-4.11.patch38
-rw-r--r--abs/core/nvidia-340xx/kernel-4.14.patch29
-rw-r--r--abs/core/nvidia-340xx/nvidia-340xx.install13
-rw-r--r--abs/core/nvidia-utils/PKGBUILD21
-rw-r--r--abs/core/nvidia/PKGBUILD44
-rw-r--r--abs/core/p11-kit/PKGBUILD42
-rw-r--r--abs/core/perl_modules/perl-xml-treepp/PKGBUILD35
-rw-r--r--abs/core/python_modules/python-appdirs/PKGBUILD53
-rw-r--r--abs/core/python_modules/python-appdirs/__changelog2
-rw-r--r--abs/core/python_modules/python-beautifulsoup4/PKGBUILD57
-rw-r--r--abs/core/python_modules/python-beautifulsoup4/__changelog2
-rw-r--r--abs/core/python_modules/python-chardet/PKGBUILD38
-rw-r--r--abs/core/python_modules/python-chardet/__changelog2
-rw-r--r--abs/core/python_modules/python-cherrypy/PKGBUILD60
-rw-r--r--abs/core/python_modules/python-cherrypy/__changelog1
-rw-r--r--abs/core/python_modules/python-click/PKGBUILD41
-rw-r--r--abs/core/python_modules/python-feedparser/PKGBUILD58
-rw-r--r--abs/core/python_modules/python-feedparser/__changelog1
-rw-r--r--abs/core/python_modules/python-flask-login/PKGBUILD48
-rw-r--r--abs/core/python_modules/python-flask-login/__changelog1
-rw-r--r--abs/core/python_modules/python-flask-restful/LICENSE25
-rw-r--r--abs/core/python_modules/python-flask-restful/PKGBUILD54
-rw-r--r--abs/core/python_modules/python-flask/PKGBUILD60
-rw-r--r--abs/core/python_modules/python-flask/__changelog1
-rw-r--r--abs/core/python_modules/python-future/PKGBUILD66
-rw-r--r--abs/core/python_modules/python-future/__changelog1
-rw-r--r--abs/core/python_modules/python-html5lib/LICENSE17
-rw-r--r--abs/core/python_modules/python-html5lib/PKGBUILD42
-rw-r--r--abs/core/python_modules/python-html5lib/__changelog2
-rw-r--r--abs/core/python_modules/python-idna/PKGBUILD12
-rw-r--r--abs/core/python_modules/python-itsdangerous/PKGBUILD37
-rw-r--r--abs/core/python_modules/python-itsdangerous/__changelog1
-rw-r--r--abs/core/python_modules/python-jsonschema/PKGBUILD38
-rw-r--r--abs/core/python_modules/python-jsonschema/__changelog2
-rw-r--r--abs/core/python_modules/python-ndg-httpsclient/PKGBUILD48
-rw-r--r--abs/core/python_modules/python-ndg-httpsclient/__changelog2
-rw-r--r--abs/core/python_modules/python-packaging/PKGBUILD49
-rw-r--r--abs/core/python_modules/python-packaging/__changelog2
-rw-r--r--abs/core/python_modules/python-path/PKGBUILD40
-rw-r--r--abs/core/python_modules/python-path/__changelog2
-rw-r--r--abs/core/python_modules/python-pip/PKGBUILD44
-rw-r--r--abs/core/python_modules/python-pip/__changelog2
-rw-r--r--abs/core/python_modules/python-pyparsing/PKGBUILD64
-rw-r--r--abs/core/python_modules/python-pyparsing/__changelog2
-rw-r--r--abs/core/python_modules/python-pyrss2gen/PKGBUILD35
-rw-r--r--abs/core/python_modules/python-pyrss2gen/__changelog2
-rw-r--r--abs/core/python_modules/python-pysocks/PKGBUILD64
-rw-r--r--abs/core/python_modules/python-pysocks/__changelog2
-rw-r--r--abs/core/python_modules/python-pytest-runner/PKGBUILD52
-rw-r--r--abs/core/python_modules/python-pytest-runner/__changelog2
-rw-r--r--abs/core/python_modules/python-pytz/PKGBUILD58
-rw-r--r--abs/core/python_modules/python-pytz/__changelog1
-rw-r--r--abs/core/python_modules/python-rebulk/PKGBUILD34
-rw-r--r--abs/core/python_modules/python-rebulk/__changelog2
-rw-r--r--abs/core/python_modules/python-regex/PKGBUILD46
-rw-r--r--abs/core/python_modules/python-regex/__changelog1
-rw-r--r--abs/core/python_modules/python-requests-cache/PKGBUILD34
-rw-r--r--abs/core/python_modules/python-requests-cache/__changelog1
-rw-r--r--abs/core/python_modules/python-requests/PKGBUILD64
-rw-r--r--abs/core/python_modules/python-requests/__changelog2
-rw-r--r--abs/core/python_modules/python-requests/certs.patch14
-rw-r--r--abs/core/python_modules/python-rpyc/PKGBUILD30
-rw-r--r--abs/core/python_modules/python-rpyc/__changelog2
-rw-r--r--abs/core/python_modules/python-setuptools-scm/PKGBUILD68
-rw-r--r--abs/core/python_modules/python-setuptools-scm/__changelog2
-rw-r--r--abs/core/python_modules/python-setuptools/PKGBUILD109
-rw-r--r--abs/core/python_modules/python-six/PKGBUILD46
-rw-r--r--abs/core/python_modules/python-sqlalchemy/PKGBUILD63
-rw-r--r--abs/core/python_modules/python-sqlalchemy/__changelog2
-rw-r--r--abs/core/python_modules/python-terminaltables/PKGBUILD27
-rw-r--r--abs/core/python_modules/python-tzlocal/PKGBUILD45
-rw-r--r--abs/core/python_modules/python-tzlocal/__changelog1
-rw-r--r--abs/core/python_modules/python-urllib3/LICENSE32
-rw-r--r--abs/core/python_modules/python-urllib3/PKGBUILD72
-rw-r--r--abs/core/python_modules/python-urllib3/__changelog1
-rw-r--r--abs/core/python_modules/python-webencodings/PKGBUILD40
-rw-r--r--abs/core/python_modules/python-webencodings/__changelog2
-rw-r--r--abs/core/python_modules/python-werkzeug/PKGBUILD61
-rw-r--r--abs/core/python_modules/python-werkzeug/__changelog1
-rw-r--r--abs/core/python_modules/python2-aniso8601/PKGBUILD29
-rw-r--r--abs/core/python_modules/python2-apscheduler/PKGBUILD28
-rw-r--r--abs/core/python_modules/python2-babelfish/PKGBUILD24
-rw-r--r--abs/core/python_modules/python2-colorclass/PKGBUILD23
-rw-r--r--abs/core/python_modules/python2-flask-compress/PKGBUILD26
-rw-r--r--abs/core/python_modules/python2-flask-cors/PKGBUILD21
-rw-r--r--abs/core/python_modules/python2-flask-cors/README.md16
-rw-r--r--abs/core/python_modules/python2-flask-restplus086/PKGBUILD35
-rw-r--r--abs/core/python_modules/python2-funcsigs/PKGBUILD28
-rw-r--r--abs/core/python_modules/python2-functools32/PKGBUILD29
-rw-r--r--abs/core/python_modules/python2-futures/LICENSE21
-rw-r--r--abs/core/python_modules/python2-futures/PKGBUILD30
-rw-r--r--abs/core/python_modules/python2-guessit/PKGBUILD29
-rw-r--r--abs/core/python_modules/python2-ordereddict/PKGBUILD19
-rw-r--r--abs/core/python_modules/python2-pathlib/PKGBUILD21
-rw-r--r--abs/core/python_modules/python2-paver/PKGBUILD25
-rw-r--r--abs/core/python_modules/python2-plumbum/PKGBUILD29
-rw-r--r--abs/core/python_modules/python2-pynzb/PKGBUILD30
-rw-r--r--abs/core/python_modules/python2-pytvmaze/PKGBUILD18
-rw-r--r--abs/core/python_modules/python2-transmissionrpc/PKGBUILD23
-rw-r--r--abs/core/python_modules/python2-zxcvbn/PKGBUILD25
-rwxr-xr-xabs/core/system-templates/PKGBUILD4
-rw-r--r--abs/core/system-templates/templates/xorg/304xx_supported.txt688
-rw-r--r--abs/core/system-templates/templates/xorg/340xx_supported.txt1162
-rw-r--r--abs/core/system-templates/templates/xorg/nvidia_supported.txt667
-rw-r--r--[-rwxr-xr-x]abs/core/xmltv/PKGBUILD37
-rwxr-xr-xabs/core/xymon/PKGBUILD2
-rw-r--r--abs/core/xymon/xymon-client.install3
-rw-r--r--abs/core/xymon/xymon-server.install4
-rw-r--r--abs/extra/flexget/ChangeLog5367
-rw-r--r--abs/extra/flexget/PKGBUILD93
-rw-r--r--abs/extra/flexget/fix_guessit_2.1.2.patch11
-rw-r--r--abs/extra/flexget/flexget.service14
-rw-r--r--abs/extra/google-chrome/PKGBUILD6
-rw-r--r--abs/extra/google-chrome/eula_text.html901
-rw-r--r--abs/extra/gyp/PKGBUILD26
-rw-r--r--abs/extra/libglvnd/PKGBUILD25
-rw-r--r--abs/extra/ninja/PKGBUILD47
-rw-r--r--abs/extra/nspr/PKGBUILD40
-rw-r--r--abs/extra/nss/PKGBUILD120
-rw-r--r--abs/extra/nss/bug1400603.patch942
-rw-r--r--abs/extra/nss/bundle.sh42
-rw-r--r--abs/extra/nss/ca-certificates-mozilla.install11
-rw-r--r--abs/extra/nss/certdata2pem.py198
-rw-r--r--abs/extra/nss/enable-libpkix.patch12
-rw-r--r--abs/extra/nss/legacy-certs.patch26
-rw-r--r--abs/extra/nss/no-plt.diff48
-rw-r--r--abs/extra/nss/nss-config.xml132
-rw-r--r--abs/extra/nss/nss.install13
-rw-r--r--abs/extra/nss/nss.pc.in2
-rw-r--r--abs/extra/nvidia-settings/PKGBUILD12
-rw-r--r--abs/extra/nvidia-settings/libxnvctrl_so.patch2
-rw-r--r--abs/extra/plex-media-server/PKGBUILD28
-rw-r--r--abs/extra/plex-media-server/terms.txt563
-rw-r--r--abs/extra/re2c/PKGBUILD33
-rw-r--r--abs/extra/transmission/PKGBUILD102
-rw-r--r--abs/extra/transmission/transmission-2.90-libsystemd.patch13
-rw-r--r--abs/extra/transmission/transmission-2.92-openssl-1.1.0.patch261
-rw-r--r--abs/extra/transmission/transmission-cli.install17
-rw-r--r--abs/extra/transmission/transmission-cli.sysusers1
-rw-r--r--abs/extra/transmission/transmission-cli.tmpfiles1
-rw-r--r--abs/extra/transmission/transmission-gtk.install12
-rw-r--r--abs/extra/transmission/transmission-qt.install11
-rw-r--r--abs/extra/transmission/transmission.systemd14
-rw-r--r--abs/extra/transmission/transmission.tmpfiles1
-rw-r--r--abs/extra/transmission/transmissiond46
-rw-r--r--abs/extra/transmission/transmissiond.conf4
-rw-r--r--abs/extra/web-on-linhes/PKGBUILD6
-rw-r--r--abs/extra/web-on-linhes/web-on-linhes.sh1
-rwxr-xr-xabs/extra/web-on-linhes/web-on-linhes_is.conf8
249 files changed, 45290 insertions, 10511 deletions
diff --git a/abs/core/LinHES-config/LinHES-release b/abs/core/LinHES-config/LinHES-release
index f578cec..17fbb93 100644
--- a/abs/core/LinHES-config/LinHES-release
+++ b/abs/core/LinHES-config/LinHES-release
@@ -1 +1 @@
-LinHES R8.4.3 (Breaking Ground)
+LinHES R8.5 (Gareth)
diff --git a/abs/core/LinHES-config/PKGBUILD b/abs/core/LinHES-config/PKGBUILD
index e0beaae..a296661 100755
--- a/abs/core/LinHES-config/PKGBUILD
+++ b/abs/core/LinHES-config/PKGBUILD
@@ -1,6 +1,6 @@
pkgname=LinHES-config
-pkgver=8.4.3
-pkgrel=7
+pkgver=8.5
+pkgrel=2
conflicts=(MythVantage-config MythVantage-config-dev LinHES-config-dev LinHes-config )
pkgdesc="Install and configure your system"
depends=('bc' 'libstatgrab' 'mysql-python' 'expect' 'curl' 'dnsutils' 'parted'
@@ -141,7 +141,7 @@ package() {
install -o root -g root -D -m 0755 blacklist_nouveau.conf $pkgdir/etc/modprobe.d/blacklist_nouveau.conf
}
-md5sums=('fe70208a7c11f7e2115655ad0004ddaf'
+md5sums=('518c868141fe443e9258144c029ed3f9'
'51525188ac6f6034422c5d71d0c84408'
'f6e9dd7bc6cf0aaa3bd203dab4cb79b9'
'2596460462cf6c889cf8f95485537b20'
@@ -151,12 +151,12 @@ md5sums=('fe70208a7c11f7e2115655ad0004ddaf'
'b1427dcdbba2ed2924a86a5a1d1cd6a3'
'27e4fcacca9b9662dd782fbdc92fceea'
'2a7f3b34e522acfd08283b86c8926aba'
- 'b596d2e3779a434435bc0f0277b1ba3e'
+ 'da60447a2a5fe0e6f5aaed2e677281ef'
'4239a837227ff97a24c5335de47ce029'
'f0376c98a7986897406d393186c0365e'
'157e73d0f90d7b306aba8f5921aeedd3'
'1f58c0393a131f4a8f9a84b3fe08a7e4'
- 'cd8de15b472f29557e91e6e61084f91f'
+ '589968ef48f2b472774257cdce9197c0'
'5f890ea9bda6aef652d2560ca19dac07'
'ab2aa42c2947148c2b1cac0ade6d1d55'
'd429b59d3cfb37b0624c6a4a71a7c2c0'
@@ -180,7 +180,7 @@ md5sums=('fe70208a7c11f7e2115655ad0004ddaf'
'0e1c98392887b6efcb3f8b04ead7c4f9'
'3cb673adb83b6afa52cffaa621b9d96b'
'781f161a79c3188a31c8615b8258b241'
- 'dc56af9523253917c9feee0f083b4781'
+ '44e32e7015612cbf5d9f6539f4b6799b'
'6cb0aac63623a44463c4209862d2baa0'
'cdd5008ee77e67c1d51ad73a24612485'
'2596460462cf6c889cf8f95485537b20'
diff --git a/abs/core/LinHES-config/mv_install.py b/abs/core/LinHES-config/mv_install.py
index 11af990..f414942 100644
--- a/abs/core/LinHES-config/mv_install.py
+++ b/abs/core/LinHES-config/mv_install.py
@@ -1621,6 +1621,8 @@ def full_install(hostoptions):
cmd = "chroot %s %s/bin/install_db_chroot.sh |tee /tmp/chrootdb.out" %(data_config.MOUNTPOINT, MVROOT)
runcmd(cmd)
+ mysqldb("start","chroot")
+
logging.info("Running systemconfig in chroot")
cmd = "chroot %s %s/bin/systemconfig.sh all,this_is_install" %(data_config.MOUNTPOINT, MVROOT)
rc = runcmd(cmd)[0]
@@ -1629,7 +1631,6 @@ def full_install(hostoptions):
#move_myth_home("backup")
- mysqldb("start","chroot")
double_mount()
mysqldb("stop", "chroot")
diff --git a/abs/core/LinHES-config/myth_settings_wrapper.sh b/abs/core/LinHES-config/myth_settings_wrapper.sh
index 37d5e33..b20b6bc 100644
--- a/abs/core/LinHES-config/myth_settings_wrapper.sh
+++ b/abs/core/LinHES-config/myth_settings_wrapper.sh
@@ -230,6 +230,8 @@ case $OPERATION in
then
define_xml ${IP_ADDRESS} $hostname settings BackendServerIP
load_xml $gen_xml
+ define_xml ${IP_ADDRESS} $hostname settings BackendServerAddr
+ load_xml $gen_xml
define_xml ${IP_ADDRESS} '' settings MasterServerIP
load_xml $gen_xml
@@ -239,6 +241,8 @@ case $OPERATION in
then
define_xml ${IP_ADDRESS} $hostname settings BackendServerIP
load_xml $gen_xml
+ define_xml ${IP_ADDRESS} $hostname settings BackendServerAddr
+ load_xml $gen_xml
fi
@@ -254,6 +258,8 @@ case $OPERATION in
then
define_xml '' $hostname settings BackendServerIP
load_xml $gen_xml
+ define_xml '' $hostname settings BackendServerAddr
+ load_xml $gen_xml
fi
diff --git a/abs/core/LinHES-config/systemconfig.py b/abs/core/LinHES-config/systemconfig.py
index ef5fef1..bd02408 100755
--- a/abs/core/LinHES-config/systemconfig.py
+++ b/abs/core/LinHES-config/systemconfig.py
@@ -1,6 +1,7 @@
#!/usr/bin/python2
# -*- coding: utf-8 -*-
import sys, os, commands, glob, time
+from time import time, localtime, strftime
import getopt, re, MySQLdb
import logging
import mv_common , mv_network
@@ -67,9 +68,9 @@ def setup_x(systemconfig):
if mv_common.read_config(mv_common.module_config,"xorg") == False :
logging.info("____Skipping of Xorg, config disabled____")
else:
- if not os.path.exists('/usr/share/icons/default'):
- if os.path.exists('/usr/share/icons/Vanilla-DMZ-AA'):
- os.symlink('/usr/share/icons/Vanilla-DMZ-AA','/usr/share/icons/default');
+ if not os.path.exists('/usr/share/icons/default'):
+ if os.path.exists('/usr/share/icons/Vanilla-DMZ-AA'):
+ mv_common.link_file('/usr/share/icons/Vanilla-DMZ-AA','/usr/share/icons/default');
if systemconfig.get("UseXLargeMouse") == "1" :
cmd = "echo Xcursor.size: 48 > %s/.Xdefaults" %data_config.MYTHHOME
else:
@@ -81,26 +82,8 @@ def setup_x(systemconfig):
def generate_config_xml(uuid,dbhost):
- #configxml_t ='''
-#<Configuration>
- #<UPnP>
- #<UDN>
- #<MediaRenderer>%s</MediaRenderer>
- #</UDN>
- #<MythFrontend>
- #<DefaultBackend>
- #<DBHostName>%s</DBHostName>
- #<DBUserName>mythtv</DBUserName>
- #<DBPassword>mythtv</DBPassword>
- #<DBName>mythconverg</DBName>
- #<DBPort>0</DBPort>
- #</DefaultBackend>
- #</MythFrontend>
- #</UPnP>
-#</Configuration>
- #'''
configxml_t='''
- <Configuration>
+<Configuration>
<LocalHostName>my-unique-identifier-goes-here</LocalHostName>
<Database>
<PingHost>1</PingHost>
@@ -136,11 +119,16 @@ def gen_uuid():
def setup_config_xml(systemconfig):
#setup mysql.txt and config.xml
- logging.info(" setup config xml")
+ logging.info(" setup config.xml")
mv_root = systemconfig.get("MVROOT")
mysqltxt = "/usr/share/mythtv/mysql.txt"
- configxml_file = "/usr/share/mythtv/config.xml"
+ #mythfrontend will delete and create config.xml in the mythhome dir
+ #this breaks the link to /usr/share/mythtv/config.xml and causes other
+ #users (root) to be out of sync mythtv user
+ configxml_file = data_config.MYTHHOME + "/.mythtv/config.xml"
+ configxml_share_link = "/usr/share/mythtv/config.xml"
+ configxml_root_link = "/root/.mythtv/config.xml"
templates = systemconfig.get("TEMPLATES")
mysqltemplate = templates + "/mysql.txt"
@@ -148,18 +136,29 @@ def setup_config_xml(systemconfig):
uuid = gen_uuid()
config_xml=generate_config_xml(uuid,dbhost)
mv_common.mkdir_mythhome(data_config.MYTHHOME,"mythtv","mythtv")
-
-
+ mv_common.mkdir_mythhome("/root","root","root")
delfile = data_config.MYTHHOME + "/.mythtv/mysql.txt"
mv_common.remove_file(delfile)
delfile = mv_root + "/bin/mythtv/.mythtv/mysql.txt"
mv_common.remove_file(delfile)
- filecheck = data_config.MYTHHOME + "/templates/mysql.txt"
- if os.path.exists(filecheck):
- logging.info(" Scrapping all the previous work and using %s for mysql.txt", filecheck)
- mv_common.cp_and_log(filecheck, mysqltxt)
+
+ #backup config.xml files and delete
+ currenttime = strftime("%b-%d-%Y-%H:%M:%S", localtime())
+ for i in [ configxml_file , configxml_share_link, configxml_root_link ]:
+ if os.path.islink(i):
+ # path is a link, delete it
+ logging.info(" Removing link %s ", i)
+ mv_common.remove_file(i)
+ else:
+ # path is a file, backup and delete unless it is mythhome
+ if configxml_file != i:
+ cmd = "mv %s %s-%s" %(i,i,currenttime)
+ mv_common.runcmd_output(cmd)
+
+ #create config.xml
try:
+ logging.info(" Writing %s", configxml_file)
f = open(configxml_file, 'w')
for outline in config_xml:
@@ -168,18 +167,9 @@ def setup_config_xml(systemconfig):
except:
logging.debug(" Couldn't write config.xml")
- home_xml_file=data_config.MYTHHOME + "/.mythtv/config.xml"
- mv_common.link_file(configxml_file,home_xml_file)
-
- #setup link for root user
- mv_common.mkdir_mythhome("/root","root","root")
- home_xml_file="/root/.mythtv/config.xml"
- mv_common.remove_file(home_xml_file)
- mv_common.link_file(configxml_file,home_xml_file)
-
-
-
-
+ #link /usr/share/mythtv/config.xml and /root/.mythtv/config.xml
+ mv_common.link_file(configxml_file,configxml_share_link)
+ mv_common.link_file(configxml_file,configxml_root_link)
diff --git a/abs/core/LinHES-system/PKGBUILD b/abs/core/LinHES-system/PKGBUILD
index fbf5ae1..3ff5184 100755
--- a/abs/core/LinHES-system/PKGBUILD
+++ b/abs/core/LinHES-system/PKGBUILD
@@ -1,6 +1,6 @@
pkgname=LinHES-system
-pkgver=8.4
-pkgrel=25
+pkgver=8.5
+pkgrel=2
arch=('i686' 'x86_64')
install=system.install
pkgdesc="Everything that makes LinHES an automated system"
@@ -120,13 +120,13 @@ md5sums=('c6e6b83a1f4c35ef4501e277657ab2ac'
'8fe86aa9109a285aedce3c8658952bbb'
'3300ea8b02e4fb8bd3409df348de6e16'
'145b1da6ce501b3ce38ea415a576bf2d'
- 'b51c93ad9f3717a616d92899f6bfde76'
+ '8675584f14873a843f5c3f99af936b85'
'd8f30983055dcfe2f53197d0f9a62158'
'17f678d37187be0f12d67f64e40429c6'
'bacc813b48bafcc6fe906e5969930501'
'dedd3fcb1abec6361f4060d8149c7d6d'
'8b0298f70f97cc1dc2a58b9a73c64bd3'
- '85558db5864bc70676ef46acc4595f88'
+ 'd2f1bec810a740885d9c0a2893186587'
'e30bf8ec8b9dcc2ceb7127375a91d8d1'
'e9f545c3bcf9c85b45496c281fc6a1b8'
'a94fe6d980f4b810f2e2ae5352084b39'
@@ -142,7 +142,7 @@ md5sums=('c6e6b83a1f4c35ef4501e277657ab2ac'
'02c810c2f47b7c4495fdacaf54189473'
'1aac1872bf9569ea58ceb2f6f766a654'
'1fb7b4badf30508b0a761a2ae7d7887d'
- '4d7164800122243be6513b29c8fc498e'
+ '8d7b147972dc30a38e093825eb9f4b02'
'0b05329fda4b7c982778c233495a53d9'
'36bdfa8d877cea20ca3870faf08e08d5'
'59d0602bac7e06f11abba1894acc8bb0'
diff --git a/abs/core/LinHES-system/checkXFSfrag.sh b/abs/core/LinHES-system/checkXFSfrag.sh
index 5fccece..d25eaa8 100755
--- a/abs/core/LinHES-system/checkXFSfrag.sh
+++ b/abs/core/LinHES-system/checkXFSfrag.sh
@@ -31,12 +31,22 @@ e='/usr/bin/echo -e' # Use the echo command, not
xfsfsr=/usr/bin/xfs_fsr # Set variable with the path to xfs_fsr.
xfsdb=/usr/bin/xfs_db # Set variable with the path to xfs_db.
ionice=/usr/bin/ionice # Set variable with the path to ionice.
+idle='/usr/LH/bin/idle.py -s' # Set varialbe with path to idle.py.
pctmax=12 # Set maxiumum frag percent needed for defrag.
# This is zero here for testing purposes only
# a higher number should be used in production.
array=`df -T|grep xfs|cut -f 1 --delim=" "` # Array of all XFS file systems.
for i in ${array[@]};
do
+ #check for idle flag
+ if [[ $1 == "--idle" ]]
+ then
+ while ! $idle
+ do
+ echo "System is busy. Waiting 10 minutes before trying again."
+ sleep 600
+ done
+ fi
#check that the device is SATA and skip defrag on SSDs
device=`echo ${i} | cut -f 3 --delim="/" | sed 's/[0-9]//g'`
isSATA=`cat /sys/block/${device}/queue/rotational`
diff --git a/abs/core/LinHES-system/misc_which_recorder.pl b/abs/core/LinHES-system/misc_which_recorder.pl
index 2ad91b0..05c8600 100755
--- a/abs/core/LinHES-system/misc_which_recorder.pl
+++ b/abs/core/LinHES-system/misc_which_recorder.pl
@@ -61,7 +61,7 @@ else
while (<$fh>)
{
# Myth .25 & .27 regex to find start of recording for digital and analog MPEG
- if (/^(\d+-\d+-\d+T\d+\:\d+\:\d+)(?:.*) (?:Started|Tuning) recording: (.*): channel (\d+) on cardid (\d+), sourceid (\d+)/ || /^(\d+-\d+-\d+T\d+\:\d+\:\d+)(?:.*) \(UpdateRecStatus\) Updating status for (.*)() on cardid (\d+) \(Will Record => Recording\)()/)
+ if (/^(\d+-\d+-\d+T\d+\:\d+\:\d+)(?:.*) (?:Started|Tuning) recording: (.*): channel (\d+) on cardid \[(\d+)\], sourceid (\d+)/ || /^(\d+-\d+-\d+T\d+\:\d+\:\d+)(?:.*) \(UpdateRecStatus\) Updating status for (.*)() on cardid \[(\d+)\] \(Will Record => Recording\)()/)
{
if ($mode eq "--noheader")
{
diff --git a/abs/core/LinHES-system/xfs_defrag.cron b/abs/core/LinHES-system/xfs_defrag.cron
index e47176b..792a4b4 100755
--- a/abs/core/LinHES-system/xfs_defrag.cron
+++ b/abs/core/LinHES-system/xfs_defrag.cron
@@ -1,3 +1,3 @@
#!/bin/bash
#. /etc/profile
-/usr/LH/bin/checkXFSfrag.sh | /usr/bin/logger -t xfs_defrag
+/usr/LH/bin/checkXFSfrag.sh --idle | /usr/bin/logger -t xfs_defrag
diff --git a/abs/core/ceton_infinitv/PKGBUILD b/abs/core/ceton_infinitv/PKGBUILD
index 113e3eb..0ebb33d 100755
--- a/abs/core/ceton_infinitv/PKGBUILD
+++ b/abs/core/ceton_infinitv/PKGBUILD
@@ -2,10 +2,10 @@
pkgname=ceton_infinitv
#_kernver=`uname -r`
-_kernver=4.9.31-1-ARCH
+_kernver=4.9.64-1-ARCH
_extramods="extramodules-4.9-ARCH"
pkgver=2013.0326.2226
-pkgrel=21
+pkgrel=23
usb_pkgver=0.1.0
pci_pkgver=`echo $pkgver | tr . _`
pkgdesc="Drivers for Ceton InfiniTV4 - pci/usb "
diff --git a/abs/core/linhes-theme/PKGBUILD b/abs/core/linhes-theme/PKGBUILD
index 07cb1b5..0420f3e 100755
--- a/abs/core/linhes-theme/PKGBUILD
+++ b/abs/core/linhes-theme/PKGBUILD
@@ -1,23 +1,26 @@
pkgname=linhes-theme
-pkgver=8.4
-pkgrel=22
+pkgver=8.5
+pkgrel=4
pkgdesc="Default LinHES MythTV theme"
arch=('i686' 'x86_64')
license=('GPL2')
url="http://linhes.org/"
patches=('readme.txt.patch' 'osd.xml.patch' 'base.xml.patch' 'browser-ui.xml.patch'
- 'controls-ui.xml.patch' 'menu-ui-vert.xml.patch'
- 'music-base.xml.patch' 'music-ui.xml.patch'
+ 'config-ui.xml.patch' 'controls-ui.xml.patch' 'menu-ui-vert.xml.patch'
+ 'music-base.xml.patch' 'music-ui.xml.patch' 'musicsettings-ui.xml.patch'
+ 'mytharchive-ui.xml.patch' 'mythburn-ui.xml.patch'
+ 'mythnative-ui.xml.patch'
'notification-ui.xml.patch' 'qtlook.txt.patch'
- 'recordings-ui.xml.patch' 'schedule-ui.xml.patch'
- 'status-ui.xml.patch' 'stream-ui.xml.patch' 'video-ui.xml.patch')
+ 'recordings-ui.xml.patch' 'schedule-ui.xml.patch' 'settings-ui.xml.patch'
+ 'status-ui.xml.patch' 'stream-ui.xml.patch' 'video-ui.xml.patch'
+ 'weather-ui.xml.patch')
#The LinHES theme is based on TintedGlass 4.56 by Harley Peters
source=(`echo ${patches[@]:0}` 'themeinfo.xml' 'install-ui.xml' 'osd_subtitle.xml'
'bubble_background.png' 'preview.png' 'blank_coverart.png'
'checkmark.png' 'error.png' 'gears.png' 'question.png' 'warning.png'
- 'progdetails_page1.html' 'image-ui.xml'
+ 'image-ui.xml' 'standardsetting-ui.xml'
'LHLogo.png' 'LHLogoAndText.png')
install=$pkgname.install
@@ -59,8 +62,6 @@ package() {
msg "Copy *.xml and adding backgrounds and images for LinHES"
rsync -pL $srcdir/*.xml $pkgdir/$THEMEROOT/LinHES/
- rsync -pL $srcdir/progdetails_page1.html $pkgdir/$THEMEROOT/LinHES/htmls/
- rsync -pL $srcdir/progdetails_page1.html $pkgdir/$THEMEROOT/LinHES/htmls/progdetails_page2.html
rm -r $pkgdir/$THEMEROOT/LinHES/images/backgrounds/*
rm -r $pkgdir/$THEMEROOT/LinHES/osd.xml.alt
rsync -pL $srcdir/bubble_background.png $pkgdir/$THEMEROOT/LinHES/images/backgrounds/background.png
@@ -75,6 +76,9 @@ package() {
rsync -pL $srcdir/LHLogo.png $pkgdir/$THEMEROOT/LinHES/images/
rsync -pL $srcdir/LHLogoAndText.png $pkgdir/$THEMEROOT/LinHES/images/
+ #remove old htmls directory
+ rm -r $pkgdir/$THEMEROOT/LinHES/htmls
+
#vertical menu
mv $pkgdir/$THEMEROOT/LinHES/menu-ui-vert.xml $pkgdir/$THEMEROOT/LinHES/menu-ui.xml
@@ -95,19 +99,26 @@ package() {
}
md5sums=('2dca856c2a4d1f959473512c94e43b60'
'3fc2c8838a9e331a2d19c114760a5acb'
- '66dd0365257d88b48ffeec00289e3b22'
- '66436e11442b31bf8238f36eae453298'
- 'ed56a335f8523d288609a81c005cab3f'
+ 'b534a456304ed75d0082e04e4fd7a965'
+ 'd1d54968a2297924673d9653f707df33'
+ 'b7ab73f7e445b617b1ea293ca40ef4e4'
+ '26a6db272dee225b9e4dc282f1494e51'
'b90b745c72a057c78ebd0b6f2c5530b9'
'a0ea2d3e386c0b483b31aa1a2703f9eb'
'8f8c27146e11954f60913da6d1fce073'
- '80bb72994eca59ca6dc9034ac185e7cc'
+ '09806f2e1d1e6050cc0d10cc6c5daf36'
+ 'cf259052229f42646d7f37023ec55f44'
+ '52bb1c1a6c693adc8c04227fb124955a'
+ '643e7d548587b8742ed5accb6d736257'
+ 'dd1e013e806efc26049ea89637a51f83'
'9fe3371a8b964a7028126405cfaa330b'
'537e12f58ae8da81176d8b982ac9c783'
- '0a50f8ecd3d73622b31b52b905307c34'
+ 'a0b6733e4a6734a3c24e8dc3b0c14e74'
+ '384871202030f41148536e2e89bb1801'
'4d01487b534e45c631734501ec0da501'
'8312aff444945f80a76100696c81cb2e'
- '5527190d8dd74e720b9160f851727390'
+ '81a2706cd36a16a1e0c54d87f3a0857b'
+ '4125880d1739b196a8041ecc3d773ee2'
'5a8fb2a5f0e657d52be6f0a6a006ce72'
'36952501471b05395e4f061557447b2f'
'bfc32b9fa5dca3d46dd6f365ecb449b5'
@@ -119,7 +130,7 @@ md5sums=('2dca856c2a4d1f959473512c94e43b60'
'e8dee86a10ce7c4423a97305b38b4668'
'e8ac15e38b3dc99c9e889e439ba356de'
'e8cf0d3a55ba3be47deae55c05432141'
- '58834fbee0230c713802c61e635cbab0'
'3f600b966bd813dd27f620762ddb3ac8'
+ 'a2d7c855d78b4fa5e9714509891a6cb9'
'b51ef0cbf8ed2d3a8c1a8257a89aceff'
'09ad14842f828b7a8d24070ec8214fe5')
diff --git a/abs/core/linhes-theme/base.xml.patch b/abs/core/linhes-theme/base.xml.patch
index 1f3b71a..fb6091f 100644
--- a/abs/core/linhes-theme/base.xml.patch
+++ b/abs/core/linhes-theme/base.xml.patch
@@ -1,5 +1,5 @@
---- base.xml.orig 2016-12-13 20:41:54.779274682 +0000
-+++ base.xml 2017-01-12 17:34:48.863983285 +0000
+--- base.xml.orig 2017-12-01 19:19:20.906194024 +0000
++++ base.xml 2017-12-01 19:13:11.344053140 +0000
@@ -3,55 +3,55 @@
<mythuitheme>
@@ -233,7 +233,19 @@
<font state="normal">basesmallverylightgrey</font>
<font state="running">basesmallgreen</font>
<cutdown>yes</cutdown>
-@@ -411,7 +415,7 @@
+@@ -392,9 +396,10 @@
+
+ <!-- Base heading definition. -->
+ <textarea name="base_heading">
+- <area>0,0,1280,22</area>
++ <area>486,0,308,22</area>
+ <font>baseextrasmall</font>
+ <align>allcenter</align>
++ <scroll direction="horizontal" />
+ <value>Heading</value>
+ </textarea>
+
+@@ -411,7 +416,7 @@
<area>283,436,50,11</area>
<type>roundbox</type>
<fill color="#000000" alpha="200" />
@@ -242,7 +254,7 @@
</shape>
<shape name="base_backdrop_line">
-@@ -424,7 +428,7 @@
+@@ -424,7 +429,7 @@
<!-- Base definition of a base popup backdrop -->
<shape name="base_popup_backdrop" from="base_backdrop">
@@ -251,7 +263,16 @@
</shape>
<!-- Base definition of a heading group -->
-@@ -535,10 +539,10 @@
+@@ -481,7 +486,7 @@
+
+ <!-- Base denfinition of a clock -->
+ <clock name="base_clock">
+- <area>494,698,292,22</area>
++ <area>486,698,308,22</area>
+ <font>baseextrasmall</font>
+ <template>%DATE%, %TIME%</template>
+ <align>allcenter</align>
+@@ -535,10 +540,10 @@
<type>box</type>
<fill style="gradient">
<gradient direction="horizontal" alpha="50">
@@ -266,7 +287,7 @@
</gradient>
</fill>
</shape>
-@@ -547,10 +551,10 @@
+@@ -547,10 +552,10 @@
<type>box</type>
<fill style="gradient">
<gradient direction="horizontal" alpha="50">
@@ -281,7 +302,7 @@
</gradient>
</fill>
</shape>
-@@ -667,10 +671,10 @@
+@@ -667,10 +672,10 @@
<type>box</type>
<fill style="gradient">
<gradient direction="horizontal" alpha="50">
@@ -296,7 +317,7 @@
</gradient>
</fill>
</shape>
-@@ -679,10 +683,10 @@
+@@ -679,10 +684,10 @@
<type>box</type>
<fill style="gradient">
<gradient direction="horizontal" alpha="50">
@@ -311,7 +332,7 @@
</gradient>
</fill>
</shape>
-@@ -700,10 +704,10 @@
+@@ -700,10 +705,10 @@
<type>box</type>
<fill style="gradient">
<gradient direction="horizontal" alpha="50">
@@ -326,7 +347,7 @@
</gradient>
</fill>
</shape>
-@@ -712,10 +716,10 @@
+@@ -712,10 +717,10 @@
<type>box</type>
<fill style="gradient">
<gradient direction="horizontal" alpha="50">
@@ -341,7 +362,7 @@
</gradient>
</fill>
</shape>
-@@ -863,7 +867,7 @@
+@@ -863,7 +868,7 @@
<type>roundbox</type>
<fill color="#1a1a1a" alpha="175" />
<line color="#454545" alpha="180" width="2" />
@@ -350,7 +371,7 @@
</shape>
<shape name="select_bar_top_highlight">
<area>0,0,100%,2</area>
-@@ -956,7 +960,7 @@
+@@ -956,7 +961,7 @@
<type>roundbox</type>
<fill color="#333333" alpha="175" />
<line color="#454545" alpha="180" width="2" />
@@ -359,7 +380,7 @@
</shape>
</group>
-@@ -967,7 +971,7 @@
+@@ -967,7 +972,7 @@
<type>roundbox</type>
<fill color="#1a1a1a" alpha="175" />
<line color="#454545" alpha="180" width="2" />
@@ -368,7 +389,7 @@
</shape>
<shape name="select_bar_top_highlight">
<area>0,0,100%,2</area>
-@@ -1060,7 +1064,7 @@
+@@ -1060,7 +1065,7 @@
<type>roundbox</type>
<fill color="#333333" alpha="175" />
<line color="#454545" alpha="180" width="2" />
@@ -377,7 +398,7 @@
</shape>
</group>
-@@ -1071,7 +1075,7 @@
+@@ -1071,7 +1076,7 @@
<type>roundbox</type>
<fill color="#1a1a1a" alpha="175" />
<line color="#454545" alpha="180" width="2" />
@@ -386,7 +407,7 @@
</shape>
<shape name="select_bar_top_highlight">
<area>0,0,100%,2</area>
-@@ -1164,7 +1168,7 @@
+@@ -1164,7 +1169,7 @@
<type>roundbox</type>
<fill color="#1a1a1a" alpha="175" />
<line color="#454545" alpha="180" width="2" />
@@ -395,7 +416,7 @@
</shape>
</group>
-@@ -1233,7 +1237,7 @@
+@@ -1233,7 +1238,7 @@
<type>roundbox</type>
<fill color="#333333" alpha="175" />
<line color="#454545" alpha="180" width="2" />
@@ -404,7 +425,7 @@
</shape>
</group>
-@@ -1455,7 +1459,7 @@
+@@ -1455,7 +1460,7 @@
<area>0,0,100%,100%</area>
</group>
<textarea name="buttontext">
@@ -413,7 +434,7 @@
</textarea>
</state>
<state name="selectedinactive" from="active">
-@@ -1564,6 +1568,9 @@
+@@ -1564,6 +1569,9 @@
<group name="select_bar" from="base_select_bar_selectedinactive_group">
<area>0,0,100%,100%</area>
</group>
@@ -423,7 +444,7 @@
<imagetype name="buttonarrow">
<filename>images/lists_right_arrow.png</filename>
<alpha>0</alpha>
-@@ -1664,6 +1671,7 @@
+@@ -1664,6 +1672,7 @@
</state>
</statetype>
<textarea name="buttontext" from="base_text_font_state_small">
@@ -431,7 +452,40 @@
</textarea>
<statetype name="buttoncheck">
<state type="off">
-@@ -2186,7 +2194,7 @@
+@@ -1732,7 +1741,7 @@
+ <area>15,1,100%-15,100%</area>
+ <align>allcenter</align>
+ <font>basemedium</font>
+- <font state="selected">basemedium</font>
++ <font state="selected">basemediumyellow</font>
+ <font state="disabled">basemediumdarkgrey</font>
+ </textarea>
+ </state>
+@@ -1831,16 +1840,20 @@
+ <area>0,0,30,30</area>
+ <statetype name="checkstate">
+ <state type="off">
+- <imagetype name="background">
++ <imagetype name="mark">
+ <filename>images/unchecked.png</filename>
+ </imagetype>
+ </state>
+- <state type="half" />
+- <state type="full">
++ <state type="half">
+ <imagetype name="mark">
+ <filename>images/checked.png</filename>
+ </imagetype>
+ </state>
++ <state type="full">
++ <imagetype name="mark">
++ <filename>images/checked_selected.png</filename>
++ </imagetype>
++ </state>
+ </statetype>
+ <statetype name="background">
+ <state name="active" />
+@@ -2186,7 +2199,7 @@
</shape>
<shape name="popup-seperator-line" from="base_line">
@@ -440,7 +494,7 @@
</shape>
<shape name="popup-third-line" from="base_highlight_line">
-@@ -2202,18 +2210,18 @@
+@@ -2202,23 +2215,23 @@
</shape>
<shape name="popup-arrows-backdrop" from="base_arrows_backdrop">
@@ -463,7 +517,32 @@
<statetype name="buttonitem">
<state name="active">
<area>0,0,100%,34</area>
-@@ -2244,10 +2252,10 @@
+ <textarea name="buttontext">
+- <area>8,0,586,34</area>
++ <area>8,0,570,34</area>
+ </textarea>
+ <imagetype name="buttonarrow">
+ <position>560,8</position>
+@@ -2227,7 +2240,8 @@
+ <state name="selectedactive">
+ <area>0,0,100%,34</area>
+ <textarea name="buttontext">
+- <area>8,0,586,34</area>
++ <area>8,0,570,34</area>
++ <scroll direction="horizontal" />
+ </textarea>
+ <imagetype name="buttonarrow">
+ <position>560,8</position>
+@@ -2236,7 +2250,7 @@
+ <state name="selectedinactive">
+ <area>0,0,100%,34</area>
+ <textarea name="buttontext">
+- <area>8,0,586,34</area>
++ <area>8,0,570,34</area>
+ </textarea>
+ <imagetype name="buttonarrow">
+ <position>560,8</position>
+@@ -2244,10 +2258,10 @@
</state>
</statetype>
<statetype name="upscrollarrow">
@@ -476,7 +555,7 @@
</statetype>
</buttonlist>
</window>
-@@ -2299,7 +2307,7 @@
+@@ -2299,7 +2313,7 @@
</shape>
<shape name="large-dialogbox-arrows-backdrop" from="base_arrows_backdrop">
@@ -485,7 +564,7 @@
</shape>
<textarea name="messagearea" from="basetextarea">
-@@ -2332,10 +2340,10 @@
+@@ -2332,10 +2346,10 @@
</state>
</statetype>
<statetype name="upscrollarrow">
@@ -498,7 +577,103 @@
</statetype>
</buttonlist>
</window>
-@@ -2795,10 +2803,10 @@
+@@ -2486,7 +2500,7 @@
+
+ <textarea name="message" from="basetextarea">
+ <area>8,8,571,127</area>
+- <font>basesmalldarkyellow</font>
++ <font>basesmall</font>
+ <align>allcenter</align>
+ <multiline>yes</multiline>
+ <cutdown>no</cutdown>
+@@ -2501,6 +2515,7 @@
+ <area>338,151,150,35</area>
+ <value>OK</value>
+ </button>
++
+ </window>
+
+ <!-- Popup search dialog used to search button lists -->
+@@ -2630,12 +2645,12 @@
+
+ <textarea name="message" from="basetextarea">
+ <area>10,14,567,36</area>
+- <font>basesmalldarkyellow</font>
++ <font>basesmall</font>
+ <align>allcenter</align>
+ </textarea>
+
+ <textedit name="input" from="base_textedit">
+- <area>150,62,287,40</area>
++ <area>50,62,487,40</area>
+ </textedit>
+
+ <button name="ok" from="base_button">
+@@ -2708,6 +2723,63 @@
+
+ </window>
+
++ <window name="MythSpinBoxDialog">
++ <area>-1,-1,587,178</area>
++
++ <animation trigger="AboutToShow">
++ <section>
++ <alpha start="0" end="255" easingcurve="OutQuart"/>
++ <zoom start="0" end="100" easingcurve="OutQuart"/>
++ </section>
++ </animation>
++
++ <animation trigger="AboutToHide">
++ <section>
++ <alpha start="255" end="0" easingcurve="InQuart"/>
++ <zoom start="100" end="0" easingcurve="InQuart"/>
++ </section>
++ </animation>
++
++ <shape name="Myth-spinbox-backdrop" from="base_popup_backdrop">
++ <area>0,0,587,178</area>
++ </shape>
++
++ <shape name="Myth-spinbox-backdrop-line" from="base_backdrop_line">
++ <area>1,1,585,176</area>
++ </shape>
++
++ <shape name="Myth-spinbox-dialog-top-line" from="base_highlight_line">
++ <area>2,2,583,2</area>
++ </shape>
++
++ <shape name="Myth-spinbox-dialog-bottom-line" from="base_highlight_line">
++ <area>2,174,583,2</area>
++ </shape>
++
++ <shape name="Myth-spinbox-dialog-left-line" from="base_highlight_vertical_line">
++ <area>2,4,2,170</area>
++ </shape>
++
++ <shape name="Myth-spinbox-dialog-right-line" from="base_highlight_vertical_line">
++ <area>583,4,2,170</area>
++ </shape>
++
++ <textarea name="message" from="basetextarea">
++ <area>10,14,567,36</area>
++ <font>basesmall</font>
++ <align>allcenter</align>
++ </textarea>
++
++ <spinbox name="input" from="base_spinbox">
++ <position>253,62</position>
++ </spinbox>
++
++ <button name="ok" from="base_button">
++ <area>218,124,150,35</area>
++ <value>OK</value>
++ </button>
++ </window>
++
+ <window name="MythSearchDialog">
+ <area>-1,-1,602,488</area>
+
+@@ -2795,10 +2867,10 @@
</state>
</statetype>
<statetype name="upscrollarrow">
@@ -511,3 +686,187 @@
</statetype>
</buttonlist>
+@@ -2819,7 +2891,7 @@
+ <group name="fanart-group" from="base_fanart_group" />
+
+ <textarea name="heading" from="base_heading">
+- <value>FileBrowser</value>
++ <value>File Browser</value>
+ </textarea>
+
+ <shape name="fullpath-backdrop" from="base_backdrop">
+@@ -2836,87 +2908,85 @@
+ </shape>
+
+ <shape name="file-browser-preview-backdrop" from="base_backdrop">
+- <area>20,92,615,592</area>
++ <area>645,92,615,592</area>
+ </shape>
+
+ <shape name="file-browser-preview-backdrop-line" from="base_backdrop_line">
+- <area>21,93,613,590</area>
++ <area>646,93,613,590</area>
+ </shape>
+
+ <shape name="file-browser-preview-top-line" from="base_highlight_line">
+- <area>22,94,611,2</area>
++ <area>647,94,611,2</area>
+ </shape>
+
+ <shape name="file-browser-preview-bottom-line" from="base_highlight_line">
+- <area>22,680,611,2</area>
++ <area>647,680,611,2</area>
+ </shape>
+
+ <shape name="file-browser-preview-left-line" from="base_highlight_vertical_line">
+- <area>22,96,2,584</area>
++ <area>647,96,2,584</area>
+ </shape>
+
+ <shape name="file-browser-preview-right-line" from="base_highlight_vertical_line">
+- <area>631,96,2,584</area>
++ <area>1256,96,2,584</area>
+ </shape>
+
+ <shape name="file-browser-preview-image-line" from="base_backdrop_line">
+- <area>42,158,571,324</area>
++ <area>667,107,571,324</area>
+ </shape>
+
+ <shape name="file-browser-preview-image-top-line" from="base_highlight_line">
+- <area>43,159,569,2</area>
++ <area>668,108,569,2</area>
+ </shape>
+
+ <shape name="file-browser-preview-image-bottom-line" from="base_highlight_line">
+- <area>43,479,569,2</area>
++ <area>668,428,569,2</area>
+ </shape>
+
+ <shape name="file-browser-preview-image-left-line" from="base_highlight_vertical_line">
+- <area>43,161,2,318</area>
++ <area>668,110,2,318</area>
+ </shape>
+
+ <shape name="file-browser-preview-image-right-line" from="base_highlight_vertical_line">
+- <area>610,161,2,318</area>
++ <area>1235,110,2,318</area>
+ </shape>
+
+ <shape name="file-browser-backdrop" from="base_backdrop">
+- <area>645,92,615,592</area>
++ <area>20,92,615,592</area>
+ </shape>
+
+ <shape name="file-browser-backdrop-line" from="base_backdrop_line">
+- <area>646,93,613,590</area>
++ <area>21,93,613,590</area>
+ </shape>
+
+ <shape name="file-browser-top-line" from="base_highlight_line">
+- <area>647,94,611,2</area>
++ <area>22,94,611,2</area>
+ </shape>
+
+ <shape name="file-browser-bottom-line" from="base_highlight_line">
+- <area>647,680,611,2</area>
++ <area>22,680,611,2</area>
+ </shape>
+
+ <shape name="file-browser-left-line" from="base_highlight_vertical_line">
+- <area>647,96,2,584</area>
++ <area>22,96,2,584</area>
+ </shape>
+
+ <shape name="file-browser-right-line" from="base_highlight_vertical_line">
+- <area>1256,96,2,584</area>
++ <area>631,96,2,584</area>
+ </shape>
+
+ <shape name="file-browser-arrows-backdrop" from="base_arrows_backdrop">
+- <area>1207,684,50,10</area>
++ <area>582,684,50,10</area>
+ </shape>
+
+ <textarea name="fullpath" from="basetextarea">
+- <area>24,39,1224,37</area>
+ <cutdown>yes</cutdown>
+- <font>basesmallblue</font>
+- <align>allcenter</align>
+- <value>Filename</value>
++ <font>basesmall</font>
++ <align>allcenter</align>
+ </textarea>
+
+ <buttonlist name="filelist" from="base_list">
+- <area>653,100,599,578</area>
++ <area>28,100,599,578</area>
+ <statetype name="buttonitem">
+ <state name="active">
+ <area>0,0,599,54</area>
+@@ -3029,52 +3099,53 @@
+ </buttonlist>
+
+ <textedit name="location" from="base_textedit">
+- <area>40,107,575,40</area>
++ <area>665,446,575,40</area>
+ </textedit>
+
+ <imagetype name="no_preview">
+- <area>46,161,563,318</area>
++ <area>671,110,563,318</area>
+ <filename>images/file_browser_no_preview.png</filename>
+ <mask>images/masks/file_browser_preview_mask.png</mask>
+ <preserveaspect>true</preserveaspect>
+ </imagetype>
+
+ <imagetype name="preview">
+- <area>46,161,563,318</area>
++ <area>671,110,563,318</area>
+ <mask>images/masks/file_browser_preview_mask.png</mask>
+ <preserveaspect>true</preserveaspect>
+ </imagetype>
+
+ <button name="back" from="base_button">
+- <area>252,493,150,35</area>
++ <area>750,560,150,35</area>
+ <value>Up Level</value>
+ </button>
+
+ <button name="home" from="base_button">
+- <area>252,540,150,35</area>
++ <area>1005,560,150,35</area>
+ <value>Home</value>
+ </button>
+
+ <button name="cancel" from="base_button">
+- <area>252,587,150,35</area>
++ <area>750,630,150,35</area>
+ <value>Cancel</value>
+ </button>
+
+ <button name="ok" from="base_button">
+- <area>252,634,150,35</area>
++ <area>1005,630,150,35</area>
+ <value>OK</value>
+ </button>
+
+ <textarea name="info_label" from="basetextarea">
+- <area>408,554,221,24</area>
+- <align>allcenter</align>
++ <area>865,501,80,24</area>
++ <font>basesmaller</font>
++ <align>right</align>
+ <value>File Size:</value>
+ </textarea>
+
+ <textarea name="info" from="basetextarea">
+- <area>408,584,221,24</area>
+- <font>baseevensmallerblue</font>
+- <align>allcenter</align>
++ <area>955,501,100,24</area>
++ <font>basesmaller</font>
++ <align>left</align>
+ </textarea>
+
+ <group name="clock-backdrop-group" from="base_clock_backdrop_group" />
diff --git a/abs/core/linhes-theme/browser-ui.xml.patch b/abs/core/linhes-theme/browser-ui.xml.patch
index b307572..4fc4d0e 100644
--- a/abs/core/linhes-theme/browser-ui.xml.patch
+++ b/abs/core/linhes-theme/browser-ui.xml.patch
@@ -1,5 +1,14 @@
---- browser-ui.xml.orig 2017-06-07 14:40:58.276800749 +0000
-+++ browser-ui.xml 2017-06-07 14:39:39.636910230 +0000
+--- browser-ui.xml.orig 2017-10-26 18:22:20.964735039 +0000
++++ browser-ui.xml 2017-10-26 18:22:03.746982358 +0000
+@@ -322,7 +322,7 @@
+
+ <textarea name="description" from="basetextarea">
+ <area>239,468,802,145</area>
+- <font>basesmallblue</font>
++ <font>basesmall</font>
+ <multiline>yes</multiline>
+ <align>allcenter</align>
+ </textarea>
@@ -411,40 +411,50 @@
</textarea>
diff --git a/abs/core/linhes-theme/config-ui.xml.patch b/abs/core/linhes-theme/config-ui.xml.patch
new file mode 100644
index 0000000..0ce47cf
--- /dev/null
+++ b/abs/core/linhes-theme/config-ui.xml.patch
@@ -0,0 +1,408 @@
+--- config-ui.xml.orig 2017-12-01 19:19:08.627784142 +0000
++++ config-ui.xml 2017-12-01 19:10:38.513844323 +0000
+@@ -645,7 +645,7 @@
+ <textarea name="helptext" from="basetextarea">
+ <area>231,372,818,227</area>
+ <multiline>yes</multiline>
+- <font>basesmallblue</font>
++ <font>basesmall</font>
+ <align>allcenter</align>
+ </textarea>
+
+@@ -734,7 +734,7 @@
+ <textarea name="helptext" from="basetextarea">
+ <area>231,372,818,227</area>
+ <multiline>yes</multiline>
+- <font>basesmallblue</font>
++ <font>basesmall</font>
+ <align>allcenter</align>
+ </textarea>
+
+@@ -901,7 +901,7 @@
+ <textarea name="helptext" from="basetextarea">
+ <area>233,488,814,111</area>
+ <multiline>yes</multiline>
+- <font>basesmallblue</font>
++ <font>basesmall</font>
+ <align>allcenter</align>
+ </textarea>
+
+@@ -1000,7 +1000,7 @@
+ <textarea name="helptext" from="basetextarea">
+ <area>231,372,818,227</area>
+ <multiline>yes</multiline>
+- <font>basesmallblue</font>
++ <font>basesmall</font>
+ <align>allcenter</align>
+ </textarea>
+
+@@ -1016,4 +1016,369 @@
+
+ </window>
+
++ <window name="backendselection">
++
++ <textarea name="heading" from="base_heading">
++ <value>MythTV Servers</value>
++ </textarea>
++
++ <shape name="beconnect-backdrop" from="base_backdrop">
++ <area>115,36,1050,649</area>
++ </shape>
++
++ <shape name="beconnect-backdrop-line" from="base_backdrop_line">
++ <area>116,37,1048,500</area>
++ </shape>
++
++ <shape name="beconnect-top-line" from="base_highlight_line">
++ <area>117,38,1046,2</area>
++ </shape>
++
++ <shape name="beconnect-bottom-line" from="base_highlight_line">
++ <area>117,534,1046,2</area>
++ </shape>
++
++ <shape name="beconnect-left-line" from="base_highlight_vertical_line">
++ <area>117,40,2,494</area>
++ </shape>
++
++ <shape name="beconnect-right-line" from="base_highlight_vertical_line">
++ <area>1161,40,2,494</area>
++ </shape>
++
++ <shape name="beconnect-bottom-backdrop-line" from="base_backdrop_line">
++ <area>116,547,1048,137</area>
++ </shape>
++
++ <shape name="beconnect-bottom-top-line" from="base_highlight_line">
++ <area>117,548,1046,2</area>
++ </shape>
++
++ <shape name="beconnect-bottom-bottom-line" from="base_highlight_line">
++ <area>117,681,1046,2</area>
++ </shape>
++
++ <shape name="beconnect-bottom-left-line" from="base_highlight_vertical_line">
++ <area>117,550,2,131</area>
++ </shape>
++
++ <shape name="beconnect-bottom-right-line" from="base_highlight_vertical_line">
++ <area>1161,550,2,131</area>
++ </shape>
++
++ <shape name="beconnect-bottom-seperator-first-line" from="base_line">
++ <area>138,620,1004,2</area>
++ </shape>
++
++ <buttonlist name="backends" from="base_list_state">
++ <area>123,44,1034,494</area>
++ <statetype name="buttonitem">
++ <state name="active">
++ <area>0,0,1034,30</area>
++ <group name="select_bar" from="base_select_bar_active_group">
++ <area>0,0,100%,100%</area>
++ </group>
++ <textarea name="buttontext" from="basetextarea">
++ <area>8,0,420,100%</area>
++ <align>left,vcenter</align>
++ </textarea>
++ <textarea name="modelname" from="buttontext" /> <!-- Workaround for vanishing buttontext bug -->
++ <textarea name="protocollabel" from="buttontext" depends="protocolversion">
++ <area>432,0,100,100%</area>
++ <cutdown>yes</cutdown>
++ <align>right,vcenter</align>
++ <value>Protocol:</value>
++ <font>basesmallerblue</font>
++ </textarea>
++ <textarea name="protocolversion" from="buttontext">
++ <area>538,0,50,100%</area>
++ <cutdown>yes</cutdown>
++ <align>left,vcenter</align>
++ <font>basesmaller</font>
++ </textarea>
++ <textarea name="versionlabel" from="protocollabel" depends="version">
++ <area>596,0,100,100%</area>
++ <value>Version:</value>
++ </textarea>
++ <textarea name="version" from="protocolversion">
++ <area>704,0,242,100%</area>
++ </textarea>
++ <statetype name="connection">
++ <area>8,0,100%-8,100%</area>
++ <state name="good">
++ <area>0,0,100%,100%</area>
++ </state>
++ <state name="protocolmismatch">
++ <area>0,0,100%,100%</area>
++ <textarea name="description">
++ <area>0,0,100%,100%</area>
++ <align>allcenter</align>
++ <value>Version Mismatch Between Client and Server</value>
++ <font>basesmallred</font>
++ </textarea>
++ </state>
++ <state name="blocked" from="protocolmismatch">
++ <textarea name="description">
++ <area>0,0,100%,100%</area>
++ <align>allcenter</align>
++ <value>Firewall is Blocking the Server</value>
++ <font>basesmallred</font>
++ </textarea>
++ </state>
++ </statetype>
++ <statetype name="securitypin">
++ <area>946,0,80,100%</area>
++ <state name="yes">
++ <area>0,0,80,100%</area>
++ <textarea name="description">
++ <area>0,0,80,100%</area>
++ <align>allcenter</align>
++ <value>LOCKED</value>
++ <font>basesupersmallred</font>
++ </textarea>
++ </state>
++ <state name="no" from="yes">
++ <textarea name="description">
++ <value>UNLOCKED</value>
++ <font>basesupersmallgreen</font>
++ </textarea>
++ </state>
++ </statetype>
++ </state>
++ <state name="inactive" from="active" />
++ <state name="selectedactive" from="active">
++ <area>0,0,1034,64</area>
++ <group name="select_bar" from="base_select_bar_selectedactive_group">
++ <area>0,0,100%,100%</area>
++ </group>
++ <textarea name="buttontext" from="basetextarea">
++ <area>8,0,420,100%</area>
++ <align>left,vcenter</align>
++ <font>basesmallyellow</font>
++ </textarea>
++ <textarea name="modelname" from="buttontext" /> <!-- Workaround for vanishing buttontext bug -->
++ <textarea name="protocolversion" from="buttontext">
++ <area>538,0,50,100%</area>
++ <cutdown>yes</cutdown>
++ <align>left,vcenter</align>
++ <font>basesmalleryellow</font>
++ </textarea>
++ <textarea name="version" from="protocolversion">
++ <area>704,0,242,100%</area>
++ </textarea>
++ </state>
++ <state name="selectedinactive" from="selectedactive">
++ <group name="select_bar" from="base_select_bar_selectedinactive_group">
++ <area>0,0,100%,100%</area>
++ </group>
++ </state>
++ </statetype>
++ <statetype name="upscrollarrow">
++ <position>998,494</position>
++ </statetype>
++ <statetype name="downscrollarrow">
++ <position>1018,494</position>
++ </statetype>
++ <helptext>Select a server.</helptext>
++ </buttonlist>
++
++ <textarea name="helptext" from="basetextarea">
++ <area>139,552,1003,66</area>
++ <font>basesmaller</font>
++ <cutdown>yes</cutdown>
++ <align>allcenter</align>
++ <multiline>yes</multiline>
++ </textarea>
++ <button name="cancel" from="base_button">
++ <area>265,632,150,40</area>
++ <value>Cancel</value>
++ <helptext>Close without saving the selected server.</helptext>
++ </button>
++ <button name="manual" from="base_button">
++ <area>565,632,150,40</area>
++ <value>Manual</value>
++ <helptext>Manually select a server.</helptext>
++ </button>
++ <button name="save" from="base_button">
++ <area>865,632,150,40</area>
++ <value>Save</value>
++ <helptext>Save the selected server.</helptext>
++ </button>
++ </window>
++
++ <window name="guistartup">
++
++ <textarea name="heading" from="base_heading">
++ <value>MythTV Startup Status</value>
++ </textarea>
++
++ <shape name="startup-backdrop" from="base_backdrop">
++ <area>115,36,1050,649</area>
++ </shape>
++
++ <shape name="startup-backdrop-line" from="base_backdrop_line">
++ <area>116,37,1048,506</area>
++ </shape>
++
++ <shape name="startup-top-line" from="base_highlight_line">
++ <area>117,38,1046,2</area>
++ </shape>
++
++ <shape name="startup-bottom-line" from="base_highlight_line">
++ <area>117,540,1046,2</area>
++ </shape>
++
++ <shape name="startup-left-line" from="base_highlight_vertical_line">
++ <area>117,40,2,500</area>
++ </shape>
++
++ <shape name="startup-right-line" from="base_highlight_vertical_line">
++ <area>1161,40,2,500</area>
++ </shape>
++
++ <shape name="startup-bottom-backdrop-line" from="base_backdrop_line">
++ <area>116,547,1048,137</area>
++ </shape>
++
++ <shape name="startup-bottom-top-line" from="base_highlight_line">
++ <area>117,548,1046,2</area>
++ </shape>
++
++ <shape name="startup-bottom-bottom-line" from="base_highlight_line">
++ <area>117,681,1046,2</area>
++ </shape>
++
++ <shape name="startup-bottom-left-line" from="base_highlight_vertical_line">
++ <area>117,550,2,131</area>
++ </shape>
++
++ <shape name="startup-bottom-right-line" from="base_highlight_vertical_line">
++ <area>1161,550,2,131</area>
++ </shape>
++
++ <shape name="startup-bottom-seperator-first-line" from="base_line">
++ <area>138,620,1004,2</area>
++ </shape>
++
++ <progressbar name="progress" from="baseprogressbar">
++ <position>372,214</position>
++ </progressbar>
++
++ <statetype name="statusstate">
++ <area>129,255,1022,40</area>
++ <state name="start">
++ <area>0,0,1022,40</area>
++ <textarea name="status" from="basetextarea">
++ <area>0,0,1022,40</area>
++ <font>basemedium</font>
++ <align>allcenter</align>
++ <value>Waking up Database Machine</value>
++ <multiline>true</multiline>
++ </textarea>
++ </state>
++ <state name="startFail" from="start">
++ <textarea name="status">
++ <value>Database Machine Failed to Wake Up</value>
++ </textarea>
++ </state>
++ <state name="dbAwake" from="start">
++ <textarea name="status">
++ <value>Waiting for Database to Start</value>
++ </textarea>
++ </state>
++ <state name="dbAwakeFail" from="start">
++ <textarea name="status">
++ <value>Database Failed to Start</value>
++ </textarea>
++ </state>
++ <state name="dbStarted" from="start">
++ <textarea name="status">
++ <value>Attempting to Connect to Database</value>
++ </textarea>
++ </state>
++ <state name="dbStartedFail" from="start">
++ <textarea name="status">
++ <value>Unable to Connect to Database</value>
++ </textarea>
++ </state>
++ <state name="beWOL" from="start">
++ <textarea name="status">
++ <value>Attempting to Wake Master Backend</value>
++ </textarea>
++ </state>
++ <state name="beWOLFail" from="start">
++ <textarea name="status">
++ <value>Master Backend Failed to Wake</value>
++ </textarea>
++ </state>
++ <state name="beAwake" from="start">
++ <textarea name="status">
++ <value>Attempting to Connect to Master Backend</value>
++ </textarea>
++ </state>
++ <state name="beAwakeFail" from="start">
++ <textarea name="status">
++ <value>Unable to Connect to Master Backend</value>
++ </textarea>
++ </state>
++ </statetype>
++
++ <statetype name="messagestate">
++ <area>129,316,1022,40</area>
++ <state name="makeselection">
++ <area>0,0,100%,100%</area>
++ <textarea name="message" from="basetextarea">
++ <area>0,0,100%,100%</area>
++ <font>basemedium</font>
++ <align>allcenter</align>
++ <value></value>
++ <multiline>true</multiline>
++ </textarea>
++ </state>
++ <state name="empty" from="makeselection">
++ <textarea name="message">
++ <value></value>
++ </textarea>
++ </state>
++ </statetype>
++
++ <textarea name="helptext" from="basetextarea">
++ <area>139,552,1003,66</area>
++ <font>basesmaller</font>
++ <cutdown>yes</cutdown>
++ <align>allcenter</align>
++ <multiline>yes</multiline>
++ </textarea>
++
++ <button name="dummy" from="base_button">
++ <area>0%,80%,0,0</area>
++ <value></value>
++ <helptext></helptext>
++ </button>
++
++ <button name="retry" from="base_button">
++ <area>205,632,150,40</area>
++ <value>Retry</value>
++ <helptext>Try again to establish connections.</helptext>
++ </button>
++
++ <button name="search" from="base_button">
++ <area>445,632,150,40</area>
++ <value>Search</value>
++ <helptext>Search the local network for the MythTV Backend.</helptext>
++ </button>
++
++ <button name="setup" from="base_button">
++ <area>685,632,150,40</area>
++ <value>Setup</value>
++ <helptext>Use Database setup to enter database parameters.</helptext>
++ </button>
++
++ <button name="exit" from="base_button">
++ <area>925,632,150,40</area>
++ <value>Exit</value>
++ <helptext>Exit from MythTV.</helptext>
++ </button>
++ </window>
++
+ </mythuitheme>
diff --git a/abs/core/linhes-theme/controls-ui.xml.patch b/abs/core/linhes-theme/controls-ui.xml.patch
index 6da0bcd..2e20aa5 100644
--- a/abs/core/linhes-theme/controls-ui.xml.patch
+++ b/abs/core/linhes-theme/controls-ui.xml.patch
@@ -1,5 +1,5 @@
--- controls-ui.xml.orig 2016-12-13 20:38:02.325765836 +0000
-+++ controls-ui.xml 2016-12-13 20:34:54.356551993 +0000
++++ controls-ui.xml 2017-10-26 17:04:02.966374691 +0000
@@ -73,7 +73,7 @@
<area>0,0,1280,720</area>
@@ -9,3 +9,12 @@
</textarea>
<shape name="edit-keys-backdrop" from="base_backdrop">
+@@ -225,7 +225,7 @@
+
+ <textarea name="description" from="basetextarea">
+ <area>229,510,822,84</area>
+- <font>basesmallblue</font>
++ <font>basesmall</font>
+ <multiline>yes</multiline>
+ <align>allcenter</align>
+ </textarea>
diff --git a/abs/core/linhes-theme/musicsettings-ui.xml.patch b/abs/core/linhes-theme/musicsettings-ui.xml.patch
new file mode 100644
index 0000000..a667eab
--- /dev/null
+++ b/abs/core/linhes-theme/musicsettings-ui.xml.patch
@@ -0,0 +1,366 @@
+--- musicsettings-ui.xml.orig 2017-10-26 18:28:30.226541178 +0000
++++ musicsettings-ui.xml 2017-10-26 19:57:07.944986189 +0000
+@@ -60,7 +60,7 @@
+ <textarea name="musiclocation_label" from="basetextarea">
+ <area>129,72,428,40</area>
+ <align>right,vcenter</align>
+- <value>Directory to hold music:</value>
++ <value>Directory to Hold Music:</value>
+ </textarea>
+
+ <textedit name="musiclocation" from="base_textedit">
+@@ -70,7 +70,7 @@
+ <textarea name="musiccddevice_label" from="basetextarea">
+ <area>129,143,428,40</area>
+ <align>right,vcenter</align>
+- <value>CD device:</value>
++ <value>CD Device:</value>
+ </textarea>
+
+ <textedit name="musiccddevice" from="base_textedit">
+@@ -80,7 +80,7 @@
+ <textarea name="musicaudiodevice_label" from="basetextarea">
+ <area>129,214,428,40</area>
+ <align>right,vcenter</align>
+- <value>Audio device:</value>
++ <value>Audio Device:</value>
+ </textarea>
+
+ <textedit name="musicaudiodevice" from="base_textedit">
+@@ -90,7 +90,7 @@
+ <textarea name="musicdefaultupmix_label" from="basetextarea">
+ <area>129,285,429,30</area>
+ <align>right,vcenter</align>
+- <value>Convert stereo to 5.1 sound:</value>
++ <value>Convert Stereo to 5.1 Surround:</value>
+ </textarea>
+
+ <checkbox name="musicdefaultupmix" from="base_checkbox">
+@@ -120,7 +120,7 @@
+ <textarea name="allowtagwriting_label" from="basetextarea">
+ <area>129,478,428,30</area>
+ <align>right,vcenter</align>
+- <value>Allow metadata to be written to tags:</value>
++ <value>Allow Metadata to be Written to Tags:</value>
+ </textarea>
+
+ <checkbox name="allowtagwriting" from="base_checkbox">
+@@ -129,19 +129,20 @@
+
+ <textarea name="helptext" from="basetextarea">
+ <area>139,552,1003,66</area>
+- <font>basesmallerblue</font>
++ <font>basesmaller</font>
+ <cutdown>yes</cutdown>
+ <align>allcenter</align>
+ <multiline>yes</multiline>
+ </textarea>
+
+- <button name="save" from="base_button">
++ <button name="cancel" from="base_button">
+ <area>233,632,350,40</area>
+- <value>Save</value>
++ <value>Cancel</value>
+ </button>
+- <button name="cancel" from="base_button">
++
++ <button name="save" from="base_button">
+ <area>697,632,350,40</area>
+- <value>Cancel</value>
++ <value>Save</value>
+ </button>
+ </window>
+
+@@ -213,7 +214,7 @@
+ <textarea name="filenametemplate_label" from="basetextarea">
+ <area>128,127,430,40</area>
+ <align>right,vcenter</align>
+- <value>File storage location:</value>
++ <value>File Storage Location:</value>
+ </textarea>
+
+ <textedit name="filenametemplate" from="base_textedit">
+@@ -223,7 +224,7 @@
+ <textarea name="nowhitespace_label" from="basetextarea">
+ <area>128,190,430,30</area>
+ <align>right,vcenter</align>
+- <value>Replace space with underscore:</value>
++ <value>Replace Space with Underscore:</value>
+ </textarea>
+
+ <checkbox name="nowhitespace" from="base_checkbox">
+@@ -253,7 +254,7 @@
+ <textarea name="mp3usevbr_label" from="basetextarea">
+ <area>128,369,430,30</area>
+ <align>right,vcenter</align>
+- <value>Use variable bitrates:</value>
++ <value>Use Variable Bitrates:</value>
+ </textarea>
+
+ <checkbox name="mp3usevbr" from="base_checkbox">
+@@ -263,7 +264,7 @@
+ <textarea name="ejectcd_label" from="basetextarea">
+ <area>128,422,430,30</area>
+ <align>right,vcenter</align>
+- <value>Automatically eject CDs after ripping:</value>
++ <value>Automatically Eject CDs After Ripping:</value>
+ </textarea>
+
+ <checkbox name="ejectcd" from="base_checkbox">
+@@ -282,20 +283,20 @@
+
+ <textarea name="helptext" from="basetextarea">
+ <area>139,552,1003,66</area>
+- <font>basesmallerblue</font>
++ <font>basesmaller</font>
+ <cutdown>yes</cutdown>
+ <align>allcenter</align>
+ <multiline>yes</multiline>
+ </textarea>
+
+- <button name="save" from="base_button">
++ <button name="cancel" from="base_button">
+ <area>233,632,350,40</area>
+- <value>Save</value>
++ <value>Cancel</value>
+ </button>
+
+- <button name="cancel" from="base_button">
++ <button name="save" from="base_button">
+ <area>697,632,350,40</area>
+- <value>Cancel</value>
++ <value>Save</value>
+ </button>
+ </window>
+
+@@ -307,109 +308,140 @@
+ </textarea>
+
+ <shape name="player-settings-backdrop" from="base_backdrop">
+- <area>215,36,850,649</area>
++ <area>115,36,1050,649</area>
+ </shape>
+
+ <shape name="player-settings-backdrop-line" from="base_backdrop_line">
+- <area>216,37,848,506</area>
++ <area>116,37,1048,506</area>
+ </shape>
+
+ <shape name="player-settings-top-line" from="base_highlight_line">
+- <area>217,38,846,2</area>
++ <area>117,38,1046,2</area>
+ </shape>
+
+ <shape name="player-settings-bottom-line" from="base_highlight_line">
+- <area>217,540,846,2</area>
++ <area>117,540,1046,2</area>
+ </shape>
+
+ <shape name="player-settings-left-line" from="base_highlight_vertical_line">
+- <area>217,40,2,500</area>
++ <area>117,40,2,500</area>
+ </shape>
+
+ <shape name="player-settings-right-line" from="base_highlight_vertical_line">
+- <area>1061,40,2,500</area>
++ <area>1161,40,2,500</area>
+ </shape>
+
+ <shape name="player-settings-bottom-backdrop-line" from="base_backdrop_line">
+- <area>216,547,848,137</area>
++ <area>116,547,1048,137</area>
+ </shape>
+
+ <shape name="player-settings-bottom-top-line" from="base_highlight_line">
+- <area>217,548,846,2</area>
++ <area>117,548,1046,2</area>
+ </shape>
+
+ <shape name="player-settings-bottom-bottom-line" from="base_highlight_line">
+- <area>217,681,846,2</area>
++ <area>117,681,1046,2</area>
+ </shape>
+
+ <shape name="player-settings-bottom-left-line" from="base_highlight_vertical_line">
+- <area>217,550,2,131</area>
++ <area>117,550,2,131</area>
+ </shape>
+
+ <shape name="player-settings-bottom-right-line" from="base_highlight_vertical_line">
+- <area>1061,550,2,131</area>
++ <area>1161,550,2,131</area>
+ </shape>
+
+ <shape name="player-settings-bottom-seperator-first-line" from="base_line">
+- <area>238,613,804,2</area>
++ <area>138,620,1004,2</area>
+ </shape>
+
+ <textarea name="resumemode_label" from="basetextarea">
+- <area>315,112,300,40</area>
++ <area>129,72,428,40</area>
+ <align>right,vcenter</align>
+- <value>Resume mode:</value>
++ <value>Playlist Resume Mode:</value>
+ </textarea>
+
+ <buttonlist name="resumemode" from="base_selector">
+- <area>625,112,300,40</area>
++ <area>567,72,550,40</area>
++ </buttonlist>
++
++ <textarea name="resumemodeeditor_label" from="basetextarea">
++ <area>129,143,428,40</area>
++ <align>right,vcenter</align>
++ <value>Editor Resume Mode:</value>
++ </textarea>
++
++ <buttonlist name="resumemodeeditor" from="base_selector">
++ <area>567,143,550,40</area>
++ </buttonlist>
++
++ <textarea name="resumemoderadio_label" from="basetextarea">
++ <area>129,214,428,40</area>
++ <align>right,vcenter</align>
++ <value>Radio Resume Mode:</value>
++ </textarea>
++
++ <buttonlist name="resumemoderadio" from="base_selector">
++ <area>567,214,550,40</area>
++ </buttonlist>
++
++ <textarea name="jumpaction_label" from="basetextarea">
++ <area>129,285,429,30</area>
++ <align>right,vcenter</align>
++ <value>Action on Jump Point:</value>
++ </textarea>
++
++ <buttonlist name="jumpaction" from="resumemode">
++ <position>567,285</position>
+ </buttonlist>
+
+ <textarea name="exitaction_label" from="basetextarea">
+- <area>315,224,300,40</area>
++ <area>129,346,428,40</area>
+ <align>right,vcenter</align>
+- <value>Action on exit:</value>
++ <value>Action on Exit:</value>
+ </textarea>
+
+ <buttonlist name="exitaction" from="resumemode">
+- <area>625,224,300,40</area>
++ <area>567,346,550,40</area>
+ </buttonlist>
+
+ <textarea name="autolookupcd_label" from="basetextarea">
+- <area>315,336,300,30</area>
++ <area>129,417,428,30</area>
+ <align>right,vcenter</align>
+- <value>Automatically lookup CDs:</value>
++ <value>Automatically Lookup CDs:</value>
+ </textarea>
+
+ <checkbox name="autolookupcd" from="base_checkbox">
+- <position>625,336</position>
++ <position>567,417</position>
+ </checkbox>
+
+ <textarea name="autoplaycd_label" from="basetextarea">
+- <area>315,438,300,30</area>
++ <area>129,478,428,30</area>
+ <align>right,vcenter</align>
+ <value>Automatically Play CDs:</value>
+ </textarea>
+
+ <checkbox name="autoplaycd" from="base_checkbox">
+- <position>625,438</position>
++ <position>567,478</position>
+ </checkbox>
+
+ <textarea name="helptext" from="basetextarea">
+- <area>239,559,802,44</area>
+- <font>basesmallerblue</font>
++ <area>139,552,1003,66</area>
++ <font>basesmaller</font>
+ <cutdown>yes</cutdown>
+ <align>allcenter</align>
+ <multiline>yes</multiline>
+ </textarea>
+
+- <button name="save" from="base_button">
+- <area>273,628,350,40</area>
+- <value>Save</value>
+- </button>
+ <button name="cancel" from="base_button">
+- <area>657,628,350,40</area>
++ <area>233,632,350,40</area>
+ <value>Cancel</value>
+ </button>
++
++ <button name="save" from="base_button">
++ <area>697,632,350,40</area>
++ <value>Save</value>
++ </button>
+ </window>
+
+ <window name="ratingsettings">
+@@ -508,23 +540,22 @@
+ </spinbox>
+
+ <textarea name="helptext" from="basetextarea">
+- <area>239,559,802,44</area>
+- <font>basesmallerblue</font>
++ <area>239,553,802,50</area>
++ <font>basesmaller</font>
+ <cutdown>yes</cutdown>
+ <align>allcenter</align>
+ <multiline>yes</multiline>
+ </textarea>
+
+- <button name="save" from="base_button">
+- <area>273,628,350,40</area>
+- <value>Save</value>
+- </button>
+-
+ <button name="cancel" from="base_button">
+- <area>657,628,350,40</area>
++ <area>233,632,350,40</area>
+ <value>Cancel</value>
+ </button>
+
++ <button name="save" from="base_button">
++ <area>697,632,350,40</area>
++ <value>Save</value>
++ </button>
+ </window>
+
+ <window name="visualizationsettings">
+@@ -624,21 +655,21 @@
+
+ <textarea name="helptext" from="basetextarea">
+ <area>239,559,802,44</area>
+- <font>basesmallerblue</font>
++ <font>basesmaller</font>
+ <cutdown>yes</cutdown>
+ <align>allcenter</align>
+ <multiline>yes</multiline>
+ </textarea>
+
+- <button name="save" from="base_button">
+- <area>273,628,350,40</area>
+- <value>Save</value>
+- </button>
+-
+ <button name="cancel" from="base_button">
+- <area>657,628,350,40</area>
++ <area>233,632,350,40</area>
+ <value>Cancel</value>
+ </button>
++
++ <button name="save" from="base_button">
++ <area>697,632,350,40</area>
++ <value>Save</value>
++ </button>
+ </window>
+
+ </mythuitheme>
diff --git a/abs/core/linhes-theme/mytharchive-ui.xml.patch b/abs/core/linhes-theme/mytharchive-ui.xml.patch
new file mode 100644
index 0000000..78271f9
--- /dev/null
+++ b/abs/core/linhes-theme/mytharchive-ui.xml.patch
@@ -0,0 +1,38 @@
+--- mytharchive-ui.xml.orig 2017-12-01 19:19:38.943858051 +0000
++++ mytharchive-ui.xml 2017-12-01 19:13:29.711674546 +0000
+@@ -70,7 +70,7 @@
+
+ <textarea name="destination_text" from="basetextarea">
+ <area>139,552,1003,66</area>
+- <font>basesmallerblue</font>
++ <font>basesmaller</font>
+ <cutdown>yes</cutdown>
+ <align>allcenter</align>
+ <multiline>yes</multiline>
+@@ -549,7 +549,7 @@
+ </statetype>
+ <imagetype name="buttonimage">
+ <area>28,2,77,50</area>
+- <filename>images/file_browser_no_preview.png</filename>
++ <filename>images/file_browser_folder.png</filename>
+ <preserveaspect>true</preserveaspect>
+ </imagetype>
+ <textarea name="buttontext">
+@@ -576,7 +576,7 @@
+ </statetype>
+ <imagetype name="buttonimage">
+ <area>38,4,138,104</area>
+- <filename>images/file_browser_no_preview.png</filename>
++ <filename>images/file_browser_folder.png</filename>
+ <preserveaspect>true</preserveaspect>
+ </imagetype>
+ <textarea name="buttontext">
+@@ -1046,7 +1046,7 @@
+
+ <textarea name="logitem_text" from="basetextarea">
+ <area>139,538,1003,82</area>
+- <font>basesmallerblue</font>
++ <font>basesmaller</font>
+ <cutdown>yes</cutdown>
+ <align>allcenter</align>
+ <multiline>yes</multiline>
diff --git a/abs/core/linhes-theme/mythburn-ui.xml.patch b/abs/core/linhes-theme/mythburn-ui.xml.patch
new file mode 100644
index 0000000..52737e7
--- /dev/null
+++ b/abs/core/linhes-theme/mythburn-ui.xml.patch
@@ -0,0 +1,20 @@
+--- mythburn-ui.xml.orig 2017-10-26 17:12:51.497611372 +0000
++++ mythburn-ui.xml 2017-10-26 17:04:02.976373390 +0000
+@@ -264,7 +264,7 @@
+
+ <textarea name="themedescription" from="basetextarea">
+ <area>139,552,1003,66</area>
+- <font>basesmallerblue</font>
++ <font>basesmaller</font>
+ <cutdown>yes</cutdown>
+ <align>allcenter</align>
+ <multiline>yes</multiline>
+@@ -922,7 +922,7 @@
+
+ <textarea name="help_text" from="basetextarea">
+ <area>139,552,1003,66</area>
+- <font>basesmallerblue</font>
++ <font>basesmaller</font>
+ <cutdown>yes</cutdown>
+ <align>allcenter</align>
+ <multiline>yes</multiline>
diff --git a/abs/core/linhes-theme/mythnative-ui.xml.patch b/abs/core/linhes-theme/mythnative-ui.xml.patch
new file mode 100644
index 0000000..18c1750
--- /dev/null
+++ b/abs/core/linhes-theme/mythnative-ui.xml.patch
@@ -0,0 +1,20 @@
+--- mythnative-ui.xml.orig 2017-10-26 17:13:24.073372813 +0000
++++ mythnative-ui.xml 2017-10-26 17:04:02.976373390 +0000
+@@ -304,7 +304,7 @@
+ </statetype>
+ <imagetype name="buttonimage">
+ <area>28,2,77,50</area>
+- <filename>images/file_browser_no_preview.png</filename>
++ <filename>images/file_browser_folder.png</filename>
+ <preserveaspect>true</preserveaspect>
+ </imagetype>
+ <textarea name="buttontext">
+@@ -331,7 +331,7 @@
+ </statetype>
+ <imagetype name="buttonimage">
+ <area>38,4,138,104</area>
+- <filename>images/file_browser_no_preview.png</filename>
++ <filename>images/file_browser_folder.png</filename>
+ <preserveaspect>true</preserveaspect>
+ </imagetype>
+ <textarea name="buttontext">
diff --git a/abs/core/linhes-theme/notification-ui.xml.patch b/abs/core/linhes-theme/notification-ui.xml.patch
index 98b1287..923f712 100644
--- a/abs/core/linhes-theme/notification-ui.xml.patch
+++ b/abs/core/linhes-theme/notification-ui.xml.patch
@@ -1,5 +1,5 @@
---- notification-ui.xml.orig 2016-10-10 19:55:20.796354375 +0000
-+++ notification-ui.xml 2016-10-10 19:40:05.992756927 +0000
+--- notification-ui.xml.orig 2017-12-05 21:58:48.987074621 +0000
++++ notification-ui.xml 2017-12-05 22:00:42.962305760 +0000
@@ -3,11 +3,9 @@
<mythuitheme>
@@ -102,23 +102,24 @@
-
<textarea name="progress_text" from="basetextarea" depends="progress">
- <area>370,113,396,30</area>
-+ <area>14,80,206,30</area>
- <font>basesomewhatsmaller</font>
+- <font>basesomewhatsmaller</font>
++ <area>14,72,438,30</area>
++ <font>baseevensmaller</font>
<align>right</align>
+ <scroll direction="left" startdelay="1"/>
</textarea>
<progressbar name="progress" from="baseprogressbar">
- <position>14,148</position>
-+ <position>230,90</position>
++ <position>14,96</position>
<imagetype name="background">
- <area>0,0,752,10</area>
-+ <area>0,0,226,10</area>
++ <area>0,0,438,10</area>
<filename>images/progressbar/progressbar_background.png</filename>
</imagetype>
<imagetype name="progressimage">
- <area>0,0,752,10</area>
-+ <area>0,0,220,10</area>
++ <area>0,0,438,10</area>
<filename>images/progressbar/progressbar_fill.png</filename>
</imagetype>
</progressbar>
@@ -201,7 +202,7 @@
</imagetype>
</state>
<state name="warning">
-@@ -194,65 +188,60 @@
+@@ -194,79 +188,74 @@
<imagetype name="imageerror">
<filename>images/warning.png</filename>
<mask>images/masks/notification_image_mask.png</mask>
@@ -284,8 +285,28 @@
- </textarea>
-
<textarea name="progress_text" from="basetextarea" depends="progress">
- <area>370,113,398,30</area>
- <font>basesomewhatsmaller</font>
+- <area>370,113,398,30</area>
+- <font>basesomewhatsmaller</font>
++ <area>14,72,324,30</area>
++ <font>baseevensmaller</font>
+ <align>right</align>
+ </textarea>
+-
++
+ <progressbar name="progress" from="baseprogressbar">
+- <position>170,148</position>
++ <position>14,96</position>
+ <imagetype name="background">
+- <area>0,0,598,10</area>
++ <area>0,0,324,10</area>
+ <filename>images/progressbar/progressbar_background.png</filename>
+ </imagetype>
+ <imagetype name="progressimage">
+- <area>0,0,598,10</area>
++ <area>0,0,324,10</area>
+ <filename>images/progressbar/progressbar_fill.png</filename>
+ </imagetype>
+ </progressbar>
@@ -283,12 +272,12 @@
</shape>
@@ -334,7 +355,7 @@
<area>0,0,100%,100%</area>
<preserveaspect>true</preserveaspect>
</imagetype>
-@@ -325,22 +314,16 @@
+@@ -325,7 +314,7 @@
<state name="busy">
<area>0,0,100%,100%</area>
<imagetype name="imagebusy">
@@ -343,15 +364,18 @@
<area>0,0,100%,100%</area>
<preserveaspect>true</preserveaspect>
</imagetype>
- </state>
+@@ -333,14 +322,14 @@
</statetype>
-- <imagetype name="image" depends="!mediastate&amp;!errorstate">
+ <imagetype name="image" depends="!mediastate&amp;!errorstate">
- <filename>images/damaged_fullscreen.png</filename>
- <area>0,0,100%,100%</area>
- <preserveaspect>true</preserveaspect>
-- </imagetype>
--
++ <filename>images/error.png</filename>
++ <mask>images/masks/notification_image_mask.png</mask>
++ <area>423,20,435,435</area>
+ </imagetype>
+
<textarea name="title" from="basetextarea">
<area>170,475,940,45</area>
- <font>baseextralargebold</font>
diff --git a/abs/core/linhes-theme/schedule-ui.xml.patch b/abs/core/linhes-theme/schedule-ui.xml.patch
index 0ed5ba4..00e1066 100644
--- a/abs/core/linhes-theme/schedule-ui.xml.patch
+++ b/abs/core/linhes-theme/schedule-ui.xml.patch
@@ -1,5 +1,5 @@
--- schedule-ui.xml.orig 2017-01-12 02:24:06.812272686 +0000
-+++ schedule-ui.xml 2017-01-12 02:24:53.802894035 +0000
++++ schedule-ui.xml 2017-10-26 17:04:02.976373390 +0000
@@ -126,7 +126,7 @@
<conflictingcolor>#ff6600</conflictingcolor>
<cutdown>no</cutdown>
@@ -9,6 +9,15 @@
<recordstatus type="SingleRecord" image="images/gg-rs-single.png"></recordstatus>
<recordstatus type="TimeslotRecord" image="images/gg-rs-timeslot.png"></recordstatus>
<recordstatus type="ChannelRecord" image="images/gg-rs-channel.png"></recordstatus>
+@@ -1084,7 +1084,7 @@
+
+ <textarea name="helptext">
+ <area>0,39,1280,34</area>
+- <font>basesmallblue</font>
++ <font>basesmall</font>
+ <align>allcenter</align>
+ <value>(1) Channel (2) Priority</value>
+ </textarea>
@@ -1437,10 +1437,10 @@
</state>
</statetype>
@@ -35,7 +44,111 @@
</statetype>
</buttonlist>
-@@ -3098,10 +3098,10 @@
+@@ -1854,7 +1854,7 @@
+
+ </window>
+
+- <window name="progdetails">
++ <window name="programdetails">
+ <area>0,0,1280,720</area>
+
+ <textarea name="heading" from="base_heading">
+@@ -1885,12 +1885,90 @@
+ <area>1256,40,2,641</area>
+ </shape>
+
+- <webbrowser name="browser">
++ <shape name="arrows-backdrop" from="base_arrows_backdrop">
++ <area>1210,685,50,13</area>
++ </shape>
++
++ <buttonlist name="infolist">
++ <layout>vertical</layout>
++ <spacing>4</spacing>
++ <arrange>stack</arrange>
++ <wrapstyle>items</wrapstyle>
++ <align>top</align>
+ <area>26,42,1228,637</area>
+- <zoom>1.0</zoom>
+- <background color="#000000" alpha="1"/>
+- </webbrowser>
++ <buttonarea>0,0,100%,100%</buttonarea>
++
++ <statetype name="buttonitem">
++ <area>0,0,100%,124</area>
++ <minsize shrink="short">100%,5</minsize>
++ <state name="active">
++ <area>0,0,100%,100%</area>
++ <minsize shrink="short">100%,6</minsize>
++ <shape name="background">
++ <!-- work around a stack / minsize display bug by using
++ empty image to help spacing -->
++ <area>0,0,100%,100%</area>
++ <minsize shrink="short">100%,5</minsize>
++ </shape>
++ <textarea name="name" from="basetextarea">
++ <area>5,3,24%,-3</area>
++ <minsize shrink="short">100%,5</minsize>
++ <multiline>yes</multiline>
++ <cutdown>no</cutdown>
++ <align>top,right</align>
++ <font>basesmallblue</font>
++ </textarea>
++ <textarea name="sep">
++ <area>25%,3,10,-3</area>
++ <minsize shrink="short">100%,5</minsize>
++ <align>top,left</align>
++ <value>:</value>
++ <font>basesmallblue</font>
++ </textarea>
++ <textarea name="value">
++ <area>25%+15,3,-10,-3</area>
++ <minsize shrink="short">100%,5</minsize>
++ <multiline>yes</multiline>
++ <cutdown>no</cutdown>
++ <align>top,left</align>
++ <font>basesmall</font>
++ </textarea>
++ </state>
++ <state name="selectedactive" from="active" />
++ <state name="selectedinactive" from="active" />
++ </statetype>
+
++ <statetype name="upscrollarrow">
++ <position>1192,645</position>
++ <state type="off">
++ <imagetype name="upoff">
++ <filename>images/lists_up_arrow.png</filename>
++ <alpha>80</alpha>
++ </imagetype>
++ </state>
++ <state type="full">
++ <imagetype name="upon">
++ <filename>images/lists_up_arrow.png</filename>
++ <alpha>200</alpha>
++ </imagetype>
++ </state>
++ </statetype>
++ <statetype name="downscrollarrow">
++ <position>1212,645</position>
++ <state type="off">
++ <imagetype name="dnoff">
++ <filename>images/lists_down_arrow.png</filename>
++ <alpha>80</alpha>
++ </imagetype>
++ </state>
++ <state type="full">
++ <imagetype name="dnon">
++ <filename>images/lists_down_arrow.png</filename>
++ <alpha>200</alpha>
++ </imagetype>
++ </state>
++ </statetype>
++ </buttonlist>
+ </window>
+
+ <window name="searchpopup">
+@@ -3098,10 +3176,10 @@
</state>
</statetype>
<statetype name="upscrollarrow">
diff --git a/abs/core/linhes-theme/settings-ui.xml.patch b/abs/core/linhes-theme/settings-ui.xml.patch
new file mode 100644
index 0000000..d7b082a
--- /dev/null
+++ b/abs/core/linhes-theme/settings-ui.xml.patch
@@ -0,0 +1,11 @@
+--- settings-ui.xml.orig 2017-10-26 17:20:33.167538071 +0000
++++ settings-ui.xml 2017-10-26 17:04:02.976373390 +0000
+@@ -103,7 +103,7 @@
+
+ <textarea name="label-text" from="basetextarea">
+ <area>244,470,792,69</area>
+- <font>basesmallblue</font>
++ <font>basesmall</font>
+ <align>allcenter</align>
+ </textarea>
+
diff --git a/abs/core/linhes-theme/standardsetting-ui.xml b/abs/core/linhes-theme/standardsetting-ui.xml
new file mode 100644
index 0000000..a50e985
--- /dev/null
+++ b/abs/core/linhes-theme/standardsetting-ui.xml
@@ -0,0 +1,441 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE mythuitheme SYSTEM "http://www.mythtv.org/schema/mythuitheme.dtd">
+
+<mythuitheme>
+ <window name="settingssetup">
+ <textarea name="title" from="base_heading">
+ <value>Settings</value>
+ </textarea>
+<!--
+ <shape name="group-help-backdrop" from="base_backdrop" depends="grouphelp">
+ <area>20,86,1240,420</area>
+ <area>20,36,1240,40</area>
+ </shape>
+
+ <shape name="group-help-backdrop-line" from="base_backdrop_line" depends="grouphelp">
+ <area>21,87,1238,418</area>
+ <area>21,37,1238,37</area>
+ </shape>
+
+ <shape name="group-help-top-line" from="base_highlight_line" depends="grouphelp">
+ <area>22,88,1236,2</area>
+ <area>22,38,1236,2</area>
+ </shape>
+
+ <shape name="group-help-bottom-line" from="base_highlight_line" depends="grouphelp">
+ <area>22,502,1236,2</area>
+ <area>22,72,1236,2</area>
+ </shape>
+
+ <shape name="group-help-left-line" from="base_highlight_vertical_line" depends="grouphelp">
+ <area>22,90,2,412</area>
+ <area>22,40,2,32</area>
+ </shape>
+
+ <shape name="group-help-right-line" from="base_highlight_vertical_line" depends="grouphelp">
+ <area>1256,90,2,412</area>
+ <area>1256,40,2,32</area>
+ </shape>
+-->
+
+ <shape name="group-help-backdrop" from="base_backdrop">
+ <area>0,36,1280,40</area>
+ <type>box</type>
+ </shape>
+
+ <shape name="group-help-top-line" from="base_line">
+ <area>0,37,1280,2</area>
+ </shape>
+
+ <shape name="group-help-bottom-line" from="base_line">
+ <area>0,73,1280,2</area>
+ </shape>
+
+ <shape name="settings-list-backdrop" from="base_backdrop">
+ <area>20,86,1240,420</area>
+ </shape>
+
+ <shape name="settings-list-backdrop-line" from="base_backdrop_line">
+ <area>21,87,1238,418</area>
+ </shape>
+
+ <shape name="settings-list-top-line" from="base_highlight_line">
+ <area>22,88,1236,2</area>
+ </shape>
+
+ <shape name="settings-list-bottom-line" from="base_highlight_line">
+ <area>22,502,1236,2</area>
+ </shape>
+
+ <shape name="settings-list-left-line" from="base_highlight_vertical_line">
+ <area>22,90,2,412</area>
+ </shape>
+
+ <shape name="settings-list-right-line" from="base_highlight_vertical_line">
+ <area>1256,90,2,412</area>
+ </shape>
+
+ <shape name="settings-list-arrows-backdrop" from="base_arrows_backdrop">
+ <area>1207,506,50,11</area>
+ </shape>
+
+ <shape name="settings-bottom-backdrop" from="base_backdrop">
+ <area>20,516,1240,169</area>
+ </shape>
+
+ <shape name="settings-bottom-backdrop-line" from="base_backdrop_line">
+ <area>21,517,1238,167</area>
+ </shape>
+
+ <shape name="settings-bottom-top-line" from="base_highlight_line">
+ <area>22,518,1236,2</area>
+ </shape>
+
+ <shape name="settings-bottom-bottom-line" from="base_highlight_line">
+ <area>22,681,1236,2</area>
+ </shape>
+
+ <shape name="settings-bottom-left-line" from="base_highlight_vertical_line">
+ <area>22,520,2,161</area>
+ </shape>
+
+ <shape name="settings-bottom-right-line" from="base_highlight_vertical_line">
+ <area>1256,520,2,161</area>
+ </shape>
+
+ <shape name="settings-bottom-seperator-first-line" from="base_line">
+ <area>43,554,1194,2</area>
+ </shape>
+
+ <buttonlist name="settingslist" from="base_list">
+ <area>28,94,1224,404</area>
+ <layout>vertical</layout>
+ <spacing>4</spacing>
+ <scrollstyle>free</scrollstyle>
+ <arrange>stack</arrange>
+ <wrapstyle>items</wrapstyle>
+ <buttonarea>0,0,100%,100%</buttonarea>
+ <statetype name="buttonitem">
+ <state name="active">
+ <area>0,0,1224,30</area>
+ <group name="select_bar" from="base_select_bar_active_group">
+ <area>0,0,100%,100%</area>
+ </group>
+ <textarea name="buttontext">
+ <area>15,0,50%-5,30</area>
+ </textarea>
+
+ <group name="widgets">
+ <area>50%+5,0,100%,100%</area>
+ <statetype name="widgettype">
+ <area>0,0,100%-24,100%</area>
+ <state name="standard">
+ <area>0,0,100%,100%</area>
+ </state>
+ <state name="group">
+ <area>0,0,100%,100%</area>
+ </state>
+ <state name="checkbox">
+ <area>0,0,100%,100%</area>
+ </state>
+ <state name="textedit">
+ <area>0,0,100%,100%</area>
+ <group name="texteditgroup">
+ <area>0,0,100%,100%</area>
+ </group>
+ </state>
+ <state name="filebrowser">
+ <area>0,0,100%,100%</area>
+ </state>
+ <state name="spinbox" from="textedit" />
+ <state name="combobox" from="textedit" />
+ <state name="button">
+ <area>0,0,100%,100%</area>
+ </state>
+ </statetype>
+ <!-- we can not put more than one textarea with the same name
+ The textarea can no be in a custom state
+ We can not put the textarea in a state from statetype neither
+ Which mean we can not theme them differently according to the statetype
+ -->
+ <textarea name="value">
+ <area>5,0,100%-35,100%</area>
+ <font>basesmall</font>
+ <cutdown>yes</cutdown>
+ <align>right,vcenter</align>
+ </textarea>
+ </group>
+
+ <statetype name="buttoncheck">
+ <position>100%-56,50%-15</position>
+ <state type="off">
+ <imagetype name="checkoff">
+ <filename>images/unchecked.png</filename>
+ </imagetype>
+ </state>
+ <state type="half">
+ <imagetype name="checkhalf">
+ <filename>images/checked.png</filename>
+ </imagetype>
+ </state>
+ <state type="full">
+ <imagetype name="checkfull">
+ <filename>images/checked_selected.png</filename>
+ </imagetype>
+ </state>
+ </statetype>
+
+ <imagetype name="buttonarrow">
+ <position>100%-20,50%-8</position>
+ <filename>images/lists_right_arrow.png</filename>
+ </imagetype>
+ </state>
+
+ <state name="selectedactive" from="active">
+ <area>0,0,1224,64</area>
+ <group name="select_bar" from="base_select_bar_selectedactive_group">
+ <area>0,0,100%,100%</area>
+ </group>
+ <textarea name="buttontext">
+ <area>15,0,1194,64</area>
+ <font>basesmallyellow</font>
+ <align>left,vcenter</align>
+ <scroll direction="horizontal" />
+ </textarea>
+
+ <group name="widgets">
+ <statetype name="widgettype">
+ <state name="textedit">
+ <area>0,0,100%,100%</area>
+ <group name="texteditgroup" from="base_textedit_select_bar_selectedactive_group">
+ <area>0,5%,100%,95%</area>
+ </group>
+ </state>
+ <state name="filebrowser">
+ <area>0,0,100%,100%</area>
+ <group name="filebrowsergroup" from="base_textedit_select_bar_selectedactive_group">
+ <area>0,5%,100%,95%</area>
+ </group>
+ </state>
+ <state name="spinbox" from="textedit" />
+ <state name="combobox" from="textedit" />
+ <state name="standard">
+ <area>0,0,100%,100%</area>
+ <group name="buttongroup" from="base_textedit_select_bar_selectedactive_group">
+ <area>100%-150,5%,100%,95%</area>
+ </group>
+ <textarea name="buttonpress">
+ <area>100%-150,0,100%,100%</area>
+ <font>basesmallyellow</font>
+ <cutdown>yes</cutdown>
+ <align>allcenter</align>
+ <value>OK</value>
+ </textarea>
+ </state>
+ </statetype>
+ <textarea name="value">
+ <font>basesmallyellow</font>
+ <scroll direction="horizontal" />
+ </textarea>
+ </group>
+
+ <statetype name="buttoncheck">
+ <shape name="select_bar_top_highlight">
+ <area>0,-1,100%,2</area>
+ <type>box</type>
+ <fill style="gradient">
+ <gradient direction="horizontal" alpha="255">
+ <stop position="0" color="#000000"/>
+ <stop position="50" color="#d6d6d6"/>
+ <stop position="100" color="#000000"/>
+ </gradient>
+ </fill>
+ </shape>
+ <shape name="select_bar_bottom_highlight">
+ <area>0,100%-1,100%,2</area>
+ <type>box</type>
+ <fill style="gradient">
+ <gradient direction="horizontal" alpha="255">
+ <stop position="0" color="#000000"/>
+ <stop position="50" color="#d6d6d6"/>
+ <stop position="100" color="#000000"/>
+ </gradient>
+ </fill>
+ </shape>
+ <shape name="select_bar_left_highlight">
+ <area>-1,0,2,100%</area>
+ <type>box</type>
+ <fill style="gradient">
+ <gradient direction="vertical" alpha="255">
+ <stop position="0" color="#000000"/>
+ <stop position="50" color="#3a9aff"/>
+ <stop position="100" color="#000000"/>
+ </gradient>
+ </fill>
+ </shape>
+ <shape name="select_bar_right_highlight">
+ <area>100%-1,0,2,100%</area>
+ <type>box</type>
+ <fill style="gradient">
+ <gradient direction="vertical" alpha="255">
+ <stop position="0" color="#000000"/>
+ <stop position="50" color="#3a9aff"/>
+ <stop position="100" color="#000000"/>
+ </gradient>
+ </fill>
+ </shape>
+ </statetype>
+
+ </state>
+ <state name="disabledactive" from="active">
+ <textarea name="buttontext">
+ <font>basesmalllightgrey</font>
+ </textarea>
+ <group name="widgets">
+ <textarea name="value">
+ <font>basesmalllightgrey</font>
+ </textarea>
+ </group>
+ </state>
+ <state name="disabledinactive" from="disabledactive">
+ </state>
+ <state name="selectedinactive" from="active">
+ </state>
+ </statetype>
+ <statetype name="upscrollarrow">
+ <position>1186,413</position>
+ </statetype>
+ <statetype name="downscrollarrow">
+ <position>1206,413</position>
+ </statetype>
+ </buttonlist>
+
+ <!-- optional, display the help for the current group of settings -->
+ <textarea name="grouphelp" from="basetextarea">
+ <area>0,37,1280,37</area>
+ <font>basesmall</font>
+ <align>allcenter</align>
+ <multiline>no</multiline>
+ <scroll direction="horizontal" returnrate="2000" />
+ </textarea>
+
+ <textarea name="helplabel">
+ <area>44,520,1192,34</area>
+ <font>basemediumyellow</font>
+ <align>left,vcenter</align>
+ <value>Details</value>
+ </textarea>
+
+ <!-- optional, display the help for the currently selected setting -->
+ <textarea name="selectedsettinghelp" from="basetextarea">
+ <area>44,561,1192,124</area>
+ <font>basesmall</font>
+ <align>left</align>
+ <multiline>yes</multiline>
+ </textarea>
+ </window>
+
+ <window name="terminal">
+ <textarea name="heading" from="base_heading">
+ <value>Terminal</value>
+ </textarea>
+
+ <shape name="terminal-backdrop" from="base_backdrop">
+ <area>115,36,1050,488</area>
+ </shape>
+
+ <shape name="terminal-backdrop-line" from="base_backdrop_line">
+ <area>116,37,1048,486</area>
+ </shape>
+
+ <shape name="terminal-top-line" from="base_highlight_line">
+ <area>117,38,1046,2</area>
+ </shape>
+
+ <shape name="terminal-bottom-line" from="base_highlight_line">
+ <area>117,520,1046,2</area>
+ </shape>
+
+ <shape name="terminal-left-line" from="base_highlight_vertical_line">
+ <area>117,40,2,500</area>
+ </shape>
+
+ <shape name="terminal-right-line" from="base_highlight_vertical_line">
+ <area>1161,40,2,500</area>
+ </shape>
+
+ <shape name="terminal-arrows-backdrop" from="base_arrows_backdrop">
+ <area>1112,523,50,12</area>
+ </shape>
+
+ <shape name="terminal-bottom-backdrop" from="base_backdrop">
+ <area>115,534,1050,151</area>
+ </shape>
+
+ <shape name="terminal-bottom-backdrop-line" from="base_backdrop_line">
+ <area>116,535,1048,149</area>
+ </shape>
+
+ <shape name="terminal-bottom-top-line" from="base_highlight_line">
+ <area>117,536,1046,2</area>
+ </shape>
+
+ <shape name="terminal-bottom-bottom-line" from="base_highlight_line">
+ <area>117,681,1046,2</area>
+ </shape>
+
+ <shape name="terminal-bottom-left-line" from="base_highlight_vertical_line">
+ <area>117,538,2,143</area>
+ </shape>
+
+ <shape name="terminal-bottom-right-line" from="base_highlight_vertical_line">
+ <area>1161,538,2,143</area>
+ </shape>
+
+ <shape name="terminal-bottom-seperator-first-line" from="base_line">
+ <area>138,620,1004,2</area>
+ </shape>
+
+ <buttonlist name="output" from="base_list">
+ <area>123,44,1034,488</area>
+ <statetype name="buttonitem">
+ <state name="active">
+ <area>0,0,1034,30</area>
+ <textarea name="buttontext">
+ <area>8,0,1018,30</area>
+ <font>basesmaller</font>
+ </textarea>
+ </state>
+ <state name="selectedactive">
+ <area>0,0,1034,64</area>
+ <textarea name="buttontext">
+ <area>8,0,1018,64</area>
+ <align>vcenter</align>
+ <multiline>yes</multiline>
+ </textarea>
+ </state>
+ <state name="selectedinactive">
+ <area>0,0,1034,64</area>
+ <textarea name="buttontext">
+ <area>8,0,1018,64</area>
+ <align>vcenter</align>
+ <multiline>yes</multiline>
+ </textarea>
+ </state>
+ </statetype>
+ <statetype name="upscrollarrow">
+ <position>997,481</position>
+ </statetype>
+ <statetype name="downscrollarrow">
+ <position>1017,481</position>
+ </statetype>
+ </buttonlist>
+ <textedit name="textedit" from="base_textedit">
+ <area>139,558,1003,42</area>
+ </textedit>
+ <button name="enter" from="base_button">
+ <area>540,631,200,40</area>
+ <value>Enter</value>
+ </button>
+ </window>
+</mythuitheme>
diff --git a/abs/core/linhes-theme/video-ui.xml.patch b/abs/core/linhes-theme/video-ui.xml.patch
index 5c84fcd..e3a9f7d 100644
--- a/abs/core/linhes-theme/video-ui.xml.patch
+++ b/abs/core/linhes-theme/video-ui.xml.patch
@@ -1,5 +1,5 @@
--- video-ui.xml.orig 2016-12-13 20:43:30.600314830 +0000
-+++ video-ui.xml 2016-12-13 20:34:54.359884898 +0000
++++ video-ui.xml 2017-10-26 19:57:07.944986189 +0000
@@ -171,6 +171,7 @@
<textarea name="description" from="basetextarea">
<area>24,51,515,393</area>
@@ -1171,6 +1171,60 @@
</textarea>
<group name="clock-backdrop-group" from="base_clock_backdrop_group" />
+@@ -2205,40 +2269,40 @@
+ </textedit>
+
+ <textarea name="default_text" from="basetextarea">
+- <area>560,320,280,30</area>
+- <value>Use default player</value>
+- <align>vcenter</align>
++ <area>238,320,192,30</area>
++ <value>Use Default Player:</value>
++ <align>right,vcenter</align>
+ </textarea>
+
+ <checkbox name="default_check" from="base_checkbox">
+- <position>520,320</position>
++ <position>435,320</position>
+ </checkbox>
+
+ <textarea name="ignore_text" from="basetextarea">
+- <area>560,417,100,30</area>
++ <area>238,417,192,30</area>
+ <value>Ignore:</value>
+- <align>vcenter</align>
++ <align>right,vcenter</align>
+ </textarea>
+
+ <checkbox name="ignore_check" from="base_checkbox">
+- <position>520,417</position>
++ <position>435,417</position>
+ </checkbox>
+
+- <button name="done_button" from="base_button">
++ <button name="delete_button" from="base_button">
+ <area>320,624,150,35</area>
+- <value>Done</value>
++ <value>Delete</value>
+ </button>
+-
++
+ <button name="new_button" from="base_button">
+ <area>565,624,150,35</area>
+ <value>New</value>
+ </button>
+
+- <button name="delete_button" from="base_button">
++ <button name="done_button" from="base_button">
+ <area>810,624,150,35</area>
+- <value>Delete</value>
++ <value>Done</value>
+ </button>
+-
++
+ </window>
+
+ <window name="edit_metadata">
@@ -2947,82 +3011,84 @@
<multiline>no</multiline>
<font>basesmalldarkyellow</font>
@@ -1273,3 +1327,82 @@
<align>vcenter</align>
</textarea>
+@@ -3200,12 +3266,13 @@
+ </buttonlist>
+
+ <checkbox name="altcheck" from="base_checkbox">
+- <position>750,413</position>
++ <position>442,413</position>
+ </checkbox>
+
+ <textarea name="altcheck_text" from="basetextarea">
+- <area>475,413,265,30</area>
++ <area>242,397,190,60</area>
+ <align>right,vcenter</align>
++ <multiline>yes</multiline>
+ <value>Enable Alternate Player:</value>
+ </textarea>
+
+@@ -3221,19 +3288,19 @@
+
+ <textarea name="helptext" from="basetextarea">
+ <area>239,551,802,61</area>
+- <font>basesmallerblue</font>
++ <font>basesmaller</font>
+ <multiline>true</multiline>
+ <align>allcenter</align>
+ </textarea>
+
+- <button name="ok" from="base_button">
++ <button name="cancel" from="base_button">
+ <area>273,628,350,40</area>
+- <value>OK</value>
++ <value>Cancel</value>
+ </button>
+
+- <button name="cancel" from="base_button">
++ <button name="ok" from="base_button">
+ <area>657,628,350,40</area>
+- <value>Cancel</value>
++ <value>Save</value>
+ </button>
+
+ </window>
+@@ -3313,7 +3380,7 @@
+ <position>390,175</position>
+ </checkbox>
+
+- <textarea name="trailerplay_text" from="basetextarea">
++ <textarea name="trailerplay_text" from="basetextarea" depends="randomtrailercheck">
+ <area>245,259,175,40</area>
+ <value>Trailers to Play:</value>
+ <align>right,vcenter</align>
+@@ -3345,21 +3412,21 @@
+
+ <textarea name="helptext" from="basetextarea">
+ <area>239,523,802,76</area>
+- <font>basesmallerblue</font>
++ <font>basesmaller</font>
+ <multiline>true</multiline>
+ <align>allcenter</align>
+ </textarea>
+
+- <button name="ok" from="base_button">
+- <area>273,622,350,40</area>
+- <value>OK</value>
+- </button>
+-
+ <button name="cancel" from="base_button">
+- <area>657,622,350,40</area>
++ <area>273,628,350,40</area>
+ <value>Cancel</value>
+ </button>
+
++ <button name="ok" from="base_button">
++ <area>657,628,350,40</area>
++ <value>Save</value>
++ </button>
++
+ </window>
+
+ </mythuitheme>
diff --git a/abs/core/linhes-theme/weather-ui.xml.patch b/abs/core/linhes-theme/weather-ui.xml.patch
new file mode 100644
index 0000000..01c058a
--- /dev/null
+++ b/abs/core/linhes-theme/weather-ui.xml.patch
@@ -0,0 +1,126 @@
+--- weather-ui.xml.orig 2017-10-26 17:16:29.549239075 +0000
++++ weather-ui.xml 2017-10-26 17:04:02.976373390 +0000
+@@ -111,7 +111,7 @@
+
+ <textarea name="cclocation" from="basetextarea">
+ <area>232,90,816,42</area>
+- <font>basesmallblue</font>
++ <font>basesmall</font>
+ <align>allcenter</align>
+ </textarea>
+
+@@ -217,7 +217,7 @@
+
+ <textarea name="3dlocation" from="basetextarea">
+ <area>232,90,816,42</area>
+- <font>basesmallblue</font>
++ <font>basesmall</font>
+ <align>allcenter</align>
+ </textarea>
+
+@@ -385,7 +385,7 @@
+
+ <textarea name="6dlocation" from="basetextarea">
+ <area>232,90,816,42</area>
+- <font>basesmallblue</font>
++ <font>basesmall</font>
+ <align>allcenter</align>
+ </textarea>
+
+@@ -662,7 +662,7 @@
+
+ <textarea name="smdesc" from="basetextarea">
+ <area>232,90,816,42</area>
+- <font>basesmallblue</font>
++ <font>basesmall</font>
+ <align>allcenter</align>
+ </textarea>
+
+@@ -698,7 +698,7 @@
+
+ <textarea name="amdesc" from="basetextarea">
+ <area>232,90,816,42</area>
+- <font>basesmallblue</font>
++ <font>basesmall</font>
+ <align>allcenter</align>
+ </textarea>
+
+@@ -746,7 +746,7 @@
+
+ <textarea name="swlocation" from="basetextarea">
+ <area>233,90,816,42</area>
+- <font>basesmallblue</font>
++ <font>basesmall</font>
+ <align>allcenter</align>
+ </textarea>
+
+@@ -775,7 +775,7 @@
+
+ <textarea name="18hrlocation" from="basetextarea">
+ <area>232,90,816,42</area>
+- <font>basesmallblue</font>
++ <font>basesmall</font>
+ <align>allcenter</align>
+ </textarea>
+
+@@ -1205,7 +1205,7 @@
+
+ <textarea name="inactivehdr" from="basetextarea">
+ <area>215,40,415,38</area>
+- <font>basesmallyellow</font>
++ <font>basesmall</font>
+ <align>allcenter</align>
+ </textarea>
+
+@@ -1263,7 +1263,7 @@
+ <area>8,0,383,64</area>
+ <multiline>yes</multiline>
+ </textarea>
+- <imagetype name="rightarrow" from="buttonarrow">
++ <imagetype name="rightarrow" from="buttonarrow">
+ <position>399,22</position>
+ </imagetype>
+ </state>
+@@ -1285,7 +1285,7 @@
+
+ <textarea name="helptxt" from="basetextarea">
+ <area>223,446,847,158</area>
+- <font>basesomewhatsmallerblue</font>
++ <font>basesomewhatsmaller</font>
+ <multiline>yes</multiline>
+ <align>allcenter</align>
+ </textarea>
+@@ -1438,7 +1438,7 @@
+
+ <textarea name="srcinfo" from="basetextarea">
+ <area>164,470,952,130</area>
+- <font>basesmallblue</font>
++ <font>basesmall</font>
+ <multiline>yes</multiline>
+ <align>allcenter</align>
+ </textarea>
+@@ -1542,7 +1542,7 @@
+
+ <textarea name="helptxt" from="basetextarea">
+ <area>330,40,620,90</area>
+- <font>basesmallerblue</font>
++ <font>basesmaller</font>
+ <value>Enter your current location, nearest large town or city. In some countries postal codes are also supported. Hit the right or down arrow to continue. </value>
+ <multiline>yes</multiline>
+ <align>allcenter</align>
+@@ -1594,13 +1594,13 @@
+
+ <textarea name="numresults" from="basetextarea">
+ <area>330,517,620,42</area>
+- <font>basesmallblue</font>
++ <font>basesmall</font>
+ <align>allcenter</align>
+ </textarea>
+
+ <textarea name="source" from="basetextarea">
+ <area>330,559,620,42</area>
+- <font>basesmallblue</font>
++ <font>basesmall</font>
+ <align>allcenter</align>
+ </textarea>
+
diff --git a/abs/core/linux/PKGBUILD b/abs/core/linux/PKGBUILD
index bcf5a85..f7a2962 100644
--- a/abs/core/linux/PKGBUILD
+++ b/abs/core/linux/PKGBUILD
@@ -4,23 +4,31 @@
pkgbase=linux
#pkgbase=linux-custom
_srcname=linux-4.9
-pkgver=4.9.31
+pkgver=4.9.64
pkgrel=1
-arch=('i686' 'x86_64')
+arch=('x86_64')
url="https://www.kernel.org/"
license=('GPL2')
-makedepends=('xmlto' 'docbook-xsl' 'kmod' 'inetutils' 'bc' 'libelf')
+makedepends=('xmlto' 'docbook-xsl' 'kmod' 'inetutils' 'bc' 'libelf' 'git')
options=('!strip')
source=(https://www.kernel.org/pub/linux/kernel/v4.x/${_srcname}.tar.{xz,sign}
https://www.kernel.org/pub/linux/kernel/v4.x/patch-${pkgver}.{xz,sign}
# the main kernel config files
- 'config' 'config.x86_64'
+ 'config'
# pacman hook for initramfs regeneration
'90-linux.hook'
# standard config files for mkinitcpio ramdisk
linux.preset
change-default-console-loglevel.patch)
# https://www.kernel.org/pub/linux/kernel/v4.x/sha256sums.asc
+sha256sums=('029098dcffab74875e086ae970e3828456838da6e0ba22ce3f64ef764f3d7f1a'
+ 'SKIP'
+ 'e17b3219b2b9ebdeb180e509b3a1a6eb46d957d6a95c17f4e6b6b7199067949a'
+ 'SKIP'
+ '2bafc851b494310056bdc1a8bd3f5342f18c50a83594f5e5bf603406c5144ae4'
+ '834bd254b56ab71d73f59b3221f056c72f559553c04718e350ab2a3e2991afe0'
+ '1f036f7464da54ae510630f0edb69faa115287f86d9f17641197ffda8cfd49e0'
+ '1256b241cd477b265a3c2d64bdc19ffe3c9bbcee82ea3994c590c2c76e767d99')
validpgpkeys=('ABAF11C65A2970B130ABE3C479BE3E4300411886' # Linus Torvalds <torvalds@linux-foundation.org>
'647F28654894E3BD457199BE38DBBDC86092693E' # Greg Kroah-Hartman (Linux kernel stable release signing key) <greg@kroah.com>
)
@@ -41,11 +49,7 @@ prepare() {
# (relevant patch sent upstream: https://lkml.org/lkml/2011/7/26/227)
patch -p1 -i "${srcdir}/change-default-console-loglevel.patch"
- if [ "${CARCH}" = "x86_64" ]; then
- cat "${srcdir}/config.x86_64" > ./.config
- else
- cat "${srcdir}/config" > ./.config
- fi
+ cat "${srcdir}/config" > ./.config
if [ "${_kernelname}" != "" ]; then
sed -i "s|CONFIG_LOCALVERSION=.*|CONFIG_LOCALVERSION=\"${_kernelname}\"|g" ./.config
@@ -181,10 +185,6 @@ _package-headers() {
cp arch/${KARCH}/Makefile "${pkgdir}/usr/lib/modules/${_kernver}/build/arch/${KARCH}/"
- if [ "${CARCH}" = "i686" ]; then
- cp arch/${KARCH}/Makefile_32.cpu "${pkgdir}/usr/lib/modules/${_kernver}/build/arch/${KARCH}/"
- fi
-
cp arch/${KARCH}/kernel/asm-offsets.s "${pkgdir}/usr/lib/modules/${_kernver}/build/arch/${KARCH}/kernel/"
# add docbook makefile
@@ -292,12 +292,3 @@ for _p in ${pkgname[@]}; do
_package${_p#${pkgbase}}
}"
done
-md5sums=('0a68ef3615c64bd5ee54a3320e46667d'
- 'SKIP'
- '8a9cc9b791f63c40c02c765ee39fc806'
- 'SKIP'
- '2d73fc24ab59870bebde25e591e1bfb8'
- 'eca4246ff4ef81f714e0d909b5293b64'
- '90cd68710e3064d9b65f5549570f7821'
- '232b52576a62c7a333e9fe7a1e1ca359'
- 'df7fceae6ee5d7e7be7b60ecd7f6bb35')
diff --git a/abs/core/linux/config b/abs/core/linux/config
index 51c321b..c700de9 100644
--- a/abs/core/linux/config
+++ b/abs/core/linux/config
@@ -1,24 +1,25 @@
#
# Automatically generated file; DO NOT EDIT.
-# Linux/x86 4.9.13-1 Kernel Configuration
+# Linux/x86 4.9.53-1 Kernel Configuration
#
-# CONFIG_64BIT is not set
-CONFIG_X86_32=y
+CONFIG_64BIT=y
+CONFIG_X86_64=y
CONFIG_X86=y
CONFIG_INSTRUCTION_DECODER=y
-CONFIG_OUTPUT_FORMAT="elf32-i386"
-CONFIG_ARCH_DEFCONFIG="arch/x86/configs/i386_defconfig"
+CONFIG_OUTPUT_FORMAT="elf64-x86-64"
+CONFIG_ARCH_DEFCONFIG="arch/x86/configs/x86_64_defconfig"
CONFIG_LOCKDEP_SUPPORT=y
CONFIG_STACKTRACE_SUPPORT=y
CONFIG_MMU=y
-CONFIG_ARCH_MMAP_RND_BITS_MIN=8
-CONFIG_ARCH_MMAP_RND_BITS_MAX=16
+CONFIG_ARCH_MMAP_RND_BITS_MIN=28
+CONFIG_ARCH_MMAP_RND_BITS_MAX=32
CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MIN=8
CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MAX=16
CONFIG_NEED_DMA_MAP_STATE=y
CONFIG_NEED_SG_DMA_LENGTH=y
CONFIG_GENERIC_ISA_DMA=y
CONFIG_GENERIC_BUG=y
+CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y
CONFIG_GENERIC_HWEIGHT=y
CONFIG_ARCH_MAY_HAVE_PC_FDC=y
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
@@ -32,14 +33,16 @@ CONFIG_ARCH_HIBERNATION_POSSIBLE=y
CONFIG_ARCH_SUSPEND_POSSIBLE=y
CONFIG_ARCH_WANT_HUGE_PMD_SHARE=y
CONFIG_ARCH_WANT_GENERAL_HUGETLB=y
+CONFIG_ZONE_DMA32=y
+CONFIG_AUDIT_ARCH=y
CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y
CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
CONFIG_HAVE_INTEL_TXT=y
-CONFIG_X86_32_SMP=y
+CONFIG_X86_64_SMP=y
CONFIG_ARCH_SUPPORTS_UPROBES=y
CONFIG_FIX_EARLYCON_MEM=y
CONFIG_DEBUG_RODATA=y
-CONFIG_PGTABLE_LEVELS=2
+CONFIG_PGTABLE_LEVELS=4
CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
CONFIG_IRQ_WORK=y
CONFIG_BUILDTIME_EXTABLE_SORT=y
@@ -106,6 +109,7 @@ CONFIG_TICK_ONESHOT=y
CONFIG_NO_HZ_COMMON=y
# CONFIG_HZ_PERIODIC is not set
CONFIG_NO_HZ_IDLE=y
+# CONFIG_NO_HZ_FULL is not set
CONFIG_NO_HZ=y
CONFIG_HIGH_RES_TIMERS=y
@@ -113,6 +117,7 @@ CONFIG_HIGH_RES_TIMERS=y
# CPU/Task time and stats accounting
#
CONFIG_TICK_CPU_ACCOUNTING=y
+# CONFIG_VIRT_CPU_ACCOUNTING_GEN is not set
# CONFIG_IRQ_TIME_ACCOUNTING is not set
CONFIG_BSD_PROCESS_ACCT=y
CONFIG_BSD_PROCESS_ACCT_V3=y
@@ -129,7 +134,7 @@ CONFIG_RCU_EXPERT=y
CONFIG_SRCU=y
# CONFIG_TASKS_RCU is not set
CONFIG_RCU_STALL_COMMON=y
-CONFIG_RCU_FANOUT=32
+CONFIG_RCU_FANOUT=64
CONFIG_RCU_FANOUT_LEAF=16
# CONFIG_RCU_FAST_NO_HZ is not set
# CONFIG_TREE_RCU_TRACE is not set
@@ -143,7 +148,11 @@ CONFIG_LOG_BUF_SHIFT=19
CONFIG_LOG_CPU_MAX_BUF_SHIFT=12
CONFIG_NMI_LOG_BUF_SHIFT=13
CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y
+CONFIG_ARCH_SUPPORTS_NUMA_BALANCING=y
CONFIG_ARCH_WANT_BATCHED_UNMAP_TLB_FLUSH=y
+CONFIG_ARCH_SUPPORTS_INT128=y
+CONFIG_NUMA_BALANCING=y
+CONFIG_NUMA_BALANCING_DEFAULT_ENABLED=y
CONFIG_CGROUPS=y
CONFIG_PAGE_COUNTER=y
CONFIG_MEMCG=y
@@ -199,7 +208,7 @@ CONFIG_SYSFS_SYSCALL=y
# CONFIG_SYSCTL_SYSCALL is not set
CONFIG_KALLSYMS=y
# CONFIG_KALLSYMS_ALL is not set
-# CONFIG_KALLSYMS_ABSOLUTE_PERCPU is not set
+CONFIG_KALLSYMS_ABSOLUTE_PERCPU=y
CONFIG_KALLSYMS_BASE_RELATIVE=y
CONFIG_PRINTK=y
CONFIG_PRINTK_NMI=y
@@ -277,7 +286,8 @@ CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=y
CONFIG_HAVE_ALIGNED_STRUCT_PAGE=y
CONFIG_HAVE_CMPXCHG_LOCAL=y
CONFIG_HAVE_CMPXCHG_DOUBLE=y
-CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y
+CONFIG_ARCH_WANT_COMPAT_IPC_PARSE_VERSION=y
+CONFIG_ARCH_WANT_OLD_COMPAT_IPC=y
CONFIG_HAVE_ARCH_SECCOMP_FILTER=y
CONFIG_SECCOMP_FILTER=y
CONFIG_HAVE_GCC_PLUGINS=y
@@ -288,28 +298,36 @@ CONFIG_CC_STACKPROTECTOR=y
# CONFIG_CC_STACKPROTECTOR_REGULAR is not set
CONFIG_CC_STACKPROTECTOR_STRONG=y
CONFIG_HAVE_ARCH_WITHIN_STACK_FRAMES=y
+CONFIG_HAVE_CONTEXT_TRACKING=y
+CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y
CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y
CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y
-CONFIG_MODULES_USE_ELF_REL=y
+CONFIG_HAVE_ARCH_HUGE_VMAP=y
+CONFIG_HAVE_ARCH_SOFT_DIRTY=y
+CONFIG_MODULES_USE_ELF_RELA=y
+CONFIG_HAVE_IRQ_EXIT_ON_IRQ_STACK=y
CONFIG_ARCH_HAS_ELF_RANDOMIZE=y
CONFIG_HAVE_ARCH_MMAP_RND_BITS=y
CONFIG_HAVE_EXIT_THREAD=y
-CONFIG_ARCH_MMAP_RND_BITS=8
+CONFIG_ARCH_MMAP_RND_BITS=28
+CONFIG_HAVE_ARCH_MMAP_RND_COMPAT_BITS=y
+CONFIG_ARCH_MMAP_RND_COMPAT_BITS=8
CONFIG_HAVE_COPY_THREAD_TLS=y
+CONFIG_HAVE_STACK_VALIDATION=y
# CONFIG_HAVE_ARCH_HASH is not set
-CONFIG_ISA_BUS_API=y
-CONFIG_CLONE_BACKWARDS=y
+# CONFIG_ISA_BUS_API is not set
CONFIG_OLD_SIGSUSPEND3=y
-CONFIG_OLD_SIGACTION=y
+CONFIG_COMPAT_OLD_SIGACTION=y
# CONFIG_CPU_NO_EFFICIENT_FFS is not set
-# CONFIG_HAVE_ARCH_VMAP_STACK is not set
+CONFIG_HAVE_ARCH_VMAP_STACK=y
+CONFIG_VMAP_STACK=y
#
# GCOV-based kernel profiling
#
# CONFIG_GCOV_KERNEL is not set
CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y
-CONFIG_HAVE_GENERIC_DMA_COHERENT=y
+# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
CONFIG_SLABINFO=y
CONFIG_RT_MUTEXES=y
CONFIG_BASE_SMALL=0
@@ -325,7 +343,6 @@ CONFIG_MODULE_COMPRESS_GZIP=y
# CONFIG_MODULE_COMPRESS_XZ is not set
CONFIG_MODULES_TREE_LOOKUP=y
CONFIG_BLOCK=y
-CONFIG_LBDAF=y
CONFIG_BLK_DEV_BSG=y
CONFIG_BLK_DEV_BSGLIB=y
CONFIG_BLK_DEV_INTEGRITY=y
@@ -356,6 +373,7 @@ CONFIG_KARMA_PARTITION=y
CONFIG_EFI_PARTITION=y
# CONFIG_SYSV68_PARTITION is not set
# CONFIG_CMDLINE_PARTITION is not set
+CONFIG_BLOCK_COMPAT=y
CONFIG_BLK_MQ_PCI=y
#
@@ -394,8 +412,8 @@ CONFIG_ZONE_DMA=y
CONFIG_SMP=y
CONFIG_X86_FEATURE_NAMES=y
CONFIG_X86_FAST_FEATURE_TESTS=y
+CONFIG_X86_X2APIC=y
CONFIG_X86_MPPARSE=y
-# CONFIG_X86_BIGSMP is not set
# CONFIG_GOLDFISH is not set
# CONFIG_X86_EXTENDED_PLATFORM is not set
CONFIG_X86_INTEL_LPSS=y
@@ -403,61 +421,48 @@ CONFIG_X86_INTEL_LPSS=y
CONFIG_IOSF_MBI=y
# CONFIG_IOSF_MBI_DEBUG is not set
CONFIG_X86_SUPPORTS_MEMORY_FAILURE=y
-CONFIG_X86_32_IRIS=m
CONFIG_SCHED_OMIT_FRAME_POINTER=y
CONFIG_HYPERVISOR_GUEST=y
CONFIG_PARAVIRT=y
# CONFIG_PARAVIRT_DEBUG is not set
# CONFIG_PARAVIRT_SPINLOCKS is not set
+CONFIG_XEN=y
+CONFIG_XEN_DOM0=y
+CONFIG_XEN_PVHVM=y
+CONFIG_XEN_512GB=y
+CONFIG_XEN_SAVE_RESTORE=y
+# CONFIG_XEN_DEBUG_FS is not set
+CONFIG_XEN_PVH=y
CONFIG_KVM_GUEST=y
# CONFIG_KVM_DEBUG_FS is not set
-# CONFIG_LGUEST_GUEST is not set
CONFIG_PARAVIRT_TIME_ACCOUNTING=y
CONFIG_PARAVIRT_CLOCK=y
CONFIG_NO_BOOTMEM=y
-# CONFIG_M486 is not set
-# CONFIG_M586 is not set
-# CONFIG_M586TSC is not set
-# CONFIG_M586MMX is not set
-CONFIG_M686=y
-# CONFIG_MPENTIUMII is not set
-# CONFIG_MPENTIUMIII is not set
-# CONFIG_MPENTIUMM is not set
-# CONFIG_MPENTIUM4 is not set
-# CONFIG_MK6 is not set
-# CONFIG_MK7 is not set
# CONFIG_MK8 is not set
-# CONFIG_MCRUSOE is not set
-# CONFIG_MEFFICEON is not set
-# CONFIG_MWINCHIPC6 is not set
-# CONFIG_MWINCHIP3D is not set
-# CONFIG_MELAN is not set
-# CONFIG_MGEODEGX1 is not set
-# CONFIG_MGEODE_LX is not set
-# CONFIG_MCYRIXIII is not set
-# CONFIG_MVIAC3_2 is not set
-# CONFIG_MVIAC7 is not set
+# CONFIG_MPSC is not set
# CONFIG_MCORE2 is not set
# CONFIG_MATOM is not set
-CONFIG_X86_GENERIC=y
+CONFIG_GENERIC_CPU=y
CONFIG_X86_INTERNODE_CACHE_SHIFT=6
CONFIG_X86_L1_CACHE_SHIFT=6
-# CONFIG_X86_PPRO_FENCE is not set
-CONFIG_X86_INTEL_USERCOPY=y
-CONFIG_X86_USE_PPRO_CHECKSUM=y
CONFIG_X86_TSC=y
CONFIG_X86_CMPXCHG64=y
CONFIG_X86_CMOV=y
-CONFIG_X86_MINIMUM_CPU_FAMILY=5
+CONFIG_X86_MINIMUM_CPU_FAMILY=64
CONFIG_X86_DEBUGCTLMSR=y
CONFIG_CPU_SUP_INTEL=y
CONFIG_CPU_SUP_AMD=y
CONFIG_CPU_SUP_CENTAUR=y
-CONFIG_CPU_SUP_TRANSMETA_32=y
CONFIG_HPET_TIMER=y
CONFIG_HPET_EMULATE_RTC=y
CONFIG_DMI=y
-CONFIG_NR_CPUS=8
+CONFIG_GART_IOMMU=y
+CONFIG_CALGARY_IOMMU=y
+CONFIG_CALGARY_IOMMU_ENABLED_BY_DEFAULT=y
+CONFIG_SWIOTLB=y
+CONFIG_IOMMU_HELPER=y
+# CONFIG_MAXSMP is not set
+CONFIG_NR_CPUS=128
CONFIG_SCHED_SMT=y
CONFIG_SCHED_MC=y
CONFIG_PREEMPT_NONE=y
@@ -469,7 +474,6 @@ CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS=y
CONFIG_X86_MCE=y
CONFIG_X86_MCE_INTEL=y
CONFIG_X86_MCE_AMD=y
-# CONFIG_X86_ANCIENT_MCE is not set
CONFIG_X86_MCE_THRESHOLD=y
# CONFIG_X86_MCE_INJECT is not set
CONFIG_X86_THERMAL_VECTOR=y
@@ -481,45 +485,59 @@ CONFIG_PERF_EVENTS_INTEL_UNCORE=y
CONFIG_PERF_EVENTS_INTEL_RAPL=m
CONFIG_PERF_EVENTS_INTEL_CSTATE=m
CONFIG_PERF_EVENTS_AMD_POWER=m
-# CONFIG_X86_LEGACY_VM86 is not set
# CONFIG_VM86 is not set
CONFIG_X86_16BIT=y
-CONFIG_X86_ESPFIX32=y
-CONFIG_TOSHIBA=m
+CONFIG_X86_ESPFIX64=y
+CONFIG_X86_VSYSCALL_EMULATION=y
CONFIG_I8K=m
-CONFIG_X86_REBOOTFIXUPS=y
CONFIG_MICROCODE=y
CONFIG_MICROCODE_INTEL=y
CONFIG_MICROCODE_AMD=y
CONFIG_MICROCODE_OLD_INTERFACE=y
CONFIG_X86_MSR=m
CONFIG_X86_CPUID=m
-# CONFIG_NOHIGHMEM is not set
-CONFIG_HIGHMEM4G=y
-# CONFIG_HIGHMEM64G is not set
-CONFIG_PAGE_OFFSET=0xC0000000
-CONFIG_HIGHMEM=y
-CONFIG_ARCH_FLATMEM_ENABLE=y
+CONFIG_ARCH_PHYS_ADDR_T_64BIT=y
+CONFIG_ARCH_DMA_ADDR_T_64BIT=y
+CONFIG_X86_DIRECT_GBPAGES=y
+CONFIG_NUMA=y
+CONFIG_AMD_NUMA=y
+CONFIG_X86_64_ACPI_NUMA=y
+CONFIG_NODES_SPAN_OTHER_NODES=y
+# CONFIG_NUMA_EMU is not set
+CONFIG_NODES_SHIFT=6
CONFIG_ARCH_SPARSEMEM_ENABLE=y
+CONFIG_ARCH_SPARSEMEM_DEFAULT=y
CONFIG_ARCH_SELECT_MEMORY_MODEL=y
-CONFIG_ILLEGAL_POINTER_VALUE=0
+CONFIG_ARCH_MEMORY_PROBE=y
+CONFIG_ARCH_PROC_KCORE_TEXT=y
+CONFIG_ILLEGAL_POINTER_VALUE=0xdead000000000000
CONFIG_SELECT_MEMORY_MODEL=y
-CONFIG_FLATMEM_MANUAL=y
-# CONFIG_SPARSEMEM_MANUAL is not set
-CONFIG_FLATMEM=y
-CONFIG_FLAT_NODE_MEM_MAP=y
-CONFIG_SPARSEMEM_STATIC=y
+CONFIG_SPARSEMEM_MANUAL=y
+CONFIG_SPARSEMEM=y
+CONFIG_NEED_MULTIPLE_NODES=y
+CONFIG_HAVE_MEMORY_PRESENT=y
+CONFIG_SPARSEMEM_EXTREME=y
+CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y
+CONFIG_SPARSEMEM_ALLOC_MEM_MAP_TOGETHER=y
+CONFIG_SPARSEMEM_VMEMMAP=y
CONFIG_HAVE_MEMBLOCK=y
CONFIG_HAVE_MEMBLOCK_NODE_MAP=y
CONFIG_ARCH_DISCARD_MEMBLOCK=y
CONFIG_MEMORY_ISOLATION=y
-# CONFIG_HAVE_BOOTMEM_INFO_NODE is not set
+# CONFIG_MOVABLE_NODE is not set
+CONFIG_HAVE_BOOTMEM_INFO_NODE=y
+CONFIG_MEMORY_HOTPLUG=y
+CONFIG_MEMORY_HOTPLUG_SPARSE=y
+CONFIG_MEMORY_HOTPLUG_DEFAULT_ONLINE=y
+CONFIG_MEMORY_HOTREMOVE=y
CONFIG_SPLIT_PTLOCK_CPUS=4
+CONFIG_ARCH_ENABLE_SPLIT_PMD_PTLOCK=y
CONFIG_MEMORY_BALLOON=y
CONFIG_BALLOON_COMPACTION=y
CONFIG_COMPACTION=y
CONFIG_MIGRATION=y
-# CONFIG_PHYS_ADDR_T_64BIT is not set
+CONFIG_ARCH_ENABLE_HUGEPAGE_MIGRATION=y
+CONFIG_PHYS_ADDR_T_64BIT=y
CONFIG_BOUNCE=y
CONFIG_VIRT_TO_BUS=y
CONFIG_MMU_NOTIFIER=y
@@ -544,13 +562,17 @@ CONFIG_ZSMALLOC=y
# CONFIG_ZSMALLOC_STAT is not set
CONFIG_GENERIC_EARLY_IOREMAP=y
CONFIG_ARCH_SUPPORTS_DEFERRED_STRUCT_PAGE_INIT=y
+# CONFIG_DEFERRED_STRUCT_PAGE_INIT is not set
# CONFIG_IDLE_PAGE_TRACKING is not set
+CONFIG_ZONE_DEVICE=y
CONFIG_FRAME_VECTOR=y
-# CONFIG_HIGHPTE is not set
+CONFIG_ARCH_USES_HIGH_VMA_FLAGS=y
+CONFIG_ARCH_HAS_PKEYS=y
+CONFIG_X86_PMEM_LEGACY_DEVICE=y
+CONFIG_X86_PMEM_LEGACY=y
CONFIG_X86_CHECK_BIOS_CORRUPTION=y
CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK=y
CONFIG_X86_RESERVE_LOW=64
-# CONFIG_MATH_EMULATION is not set
CONFIG_MTRR=y
CONFIG_MTRR_SANITIZER=y
CONFIG_MTRR_SANITIZER_ENABLE_DEFAULT=0
@@ -560,8 +582,10 @@ CONFIG_ARCH_USES_PG_UNCACHED=y
CONFIG_ARCH_RANDOM=y
CONFIG_X86_SMAP=y
CONFIG_X86_INTEL_MPX=y
+CONFIG_X86_INTEL_MEMORY_PROTECTION_KEYS=y
CONFIG_EFI=y
CONFIG_EFI_STUB=y
+CONFIG_EFI_MIXED=y
CONFIG_SECCOMP=y
CONFIG_HZ_100=y
# CONFIG_HZ_250 is not set
@@ -575,19 +599,25 @@ CONFIG_KEXEC_JUMP=y
CONFIG_PHYSICAL_START=0x1000000
CONFIG_RELOCATABLE=y
# CONFIG_RANDOMIZE_BASE is not set
-CONFIG_X86_NEED_RELOCS=y
CONFIG_PHYSICAL_ALIGN=0x1000000
CONFIG_HOTPLUG_CPU=y
# CONFIG_BOOTPARAM_HOTPLUG_CPU0 is not set
# CONFIG_DEBUG_HOTPLUG_CPU0 is not set
# CONFIG_COMPAT_VDSO is not set
+# CONFIG_LEGACY_VSYSCALL_NATIVE is not set
+CONFIG_LEGACY_VSYSCALL_EMULATE=y
+# CONFIG_LEGACY_VSYSCALL_NONE is not set
# CONFIG_CMDLINE_BOOL is not set
CONFIG_MODIFY_LDT_SYSCALL=y
+CONFIG_HAVE_LIVEPATCH=y
CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
+CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
+CONFIG_USE_PERCPU_NUMA_NODE_ID=y
#
# Power management and ACPI options
#
+CONFIG_ARCH_HIBERNATION_HEADER=y
CONFIG_SUSPEND=y
CONFIG_SUSPEND_FREEZER=y
CONFIG_HIBERNATE_CALLBACKS=y
@@ -610,7 +640,6 @@ CONFIG_PM_CLK=y
CONFIG_PM_GENERIC_DOMAINS=y
CONFIG_WQ_POWER_EFFICIENT_DEFAULT=y
CONFIG_PM_GENERIC_DOMAINS_SLEEP=y
-CONFIG_PM_GENERIC_DOMAINS_OF=y
CONFIG_ACPI=y
CONFIG_ACPI_LEGACY_TABLES_LOOKUP=y
CONFIG_ARCH_MIGHT_HAVE_ACPI_PDC=y
@@ -634,6 +663,7 @@ CONFIG_ACPI_IPMI=m
CONFIG_ACPI_HOTPLUG_CPU=y
CONFIG_ACPI_PROCESSOR_AGGREGATOR=m
CONFIG_ACPI_THERMAL=m
+CONFIG_ACPI_NUMA=y
# CONFIG_ACPI_CUSTOM_DSDT is not set
CONFIG_ARCH_HAS_ACPI_TABLE_UPGRADE=y
CONFIG_ACPI_TABLE_UPGRADE=y
@@ -641,12 +671,15 @@ CONFIG_ACPI_TABLE_UPGRADE=y
CONFIG_ACPI_PCI_SLOT=y
CONFIG_X86_PM_TIMER=y
CONFIG_ACPI_CONTAINER=y
+CONFIG_ACPI_HOTPLUG_MEMORY=y
CONFIG_ACPI_HOTPLUG_IOAPIC=y
CONFIG_ACPI_SBS=m
CONFIG_ACPI_HED=y
CONFIG_ACPI_CUSTOM_METHOD=m
CONFIG_ACPI_BGRT=y
# CONFIG_ACPI_REDUCED_HARDWARE_ONLY is not set
+CONFIG_ACPI_NFIT=m
+# CONFIG_ACPI_NFIT_DEBUG is not set
CONFIG_HAVE_ACPI_APEI=y
CONFIG_HAVE_ACPI_APEI_NMI=y
CONFIG_ACPI_APEI=y
@@ -663,13 +696,6 @@ CONFIG_CRC_PMIC_OPREGION=y
CONFIG_BXT_WC_PMIC_OPREGION=y
CONFIG_ACPI_CONFIGFS=m
CONFIG_SFI=y
-CONFIG_X86_APM_BOOT=y
-CONFIG_APM=y
-# CONFIG_APM_IGNORE_USER_SUSPEND is not set
-CONFIG_APM_DO_ENABLE=y
-# CONFIG_APM_CPU_IDLE is not set
-# CONFIG_APM_DISPLAY_BLANK is not set
-# CONFIG_APM_ALLOW_INTS is not set
#
# CPU Frequency scaling
@@ -695,31 +721,19 @@ CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y
#
# CPU frequency scaling drivers
#
-# CONFIG_CPUFREQ_DT is not set
CONFIG_X86_INTEL_PSTATE=y
CONFIG_X86_PCC_CPUFREQ=m
CONFIG_X86_ACPI_CPUFREQ=m
CONFIG_X86_ACPI_CPUFREQ_CPB=y
-CONFIG_X86_POWERNOW_K6=m
-CONFIG_X86_POWERNOW_K7=m
-CONFIG_X86_POWERNOW_K7_ACPI=y
CONFIG_X86_POWERNOW_K8=m
CONFIG_X86_AMD_FREQ_SENSITIVITY=m
-CONFIG_X86_GX_SUSPMOD=m
# CONFIG_X86_SPEEDSTEP_CENTRINO is not set
-CONFIG_X86_SPEEDSTEP_ICH=m
-CONFIG_X86_SPEEDSTEP_SMI=m
CONFIG_X86_P4_CLOCKMOD=m
-CONFIG_X86_CPUFREQ_NFORCE2=m
-CONFIG_X86_LONGRUN=m
-CONFIG_X86_LONGHAUL=m
-CONFIG_X86_E_POWERSAVER=m
#
# shared options
#
CONFIG_X86_SPEEDSTEP_LIB=m
-CONFIG_X86_SPEEDSTEP_RELAXED_CAP_CHECK=y
#
# CPU Idle
@@ -731,18 +745,18 @@ CONFIG_CPU_IDLE_GOV_MENU=y
CONFIG_INTEL_IDLE=y
#
+# Memory power savings
+#
+CONFIG_I7300_IDLE_IOAT_CHANNEL=y
+CONFIG_I7300_IDLE=m
+
+#
# Bus options (PCI etc.)
#
CONFIG_PCI=y
-# CONFIG_PCI_GOBIOS is not set
-# CONFIG_PCI_GOMMCONFIG is not set
-# CONFIG_PCI_GODIRECT is not set
-# CONFIG_PCI_GOOLPC is not set
-CONFIG_PCI_GOANY=y
-CONFIG_PCI_BIOS=y
CONFIG_PCI_DIRECT=y
CONFIG_PCI_MMCONFIG=y
-CONFIG_PCI_OLPC=y
+CONFIG_PCI_XEN=y
CONFIG_PCI_DOMAINS=y
CONFIG_PCIEPORTBUS=y
CONFIG_HOTPLUG_PCI_PCIE=y
@@ -757,21 +771,21 @@ CONFIG_PCIEASPM_DEFAULT=y
CONFIG_PCIE_PME=y
CONFIG_PCIE_DPC=y
CONFIG_PCIE_PTM=y
+CONFIG_PCI_BUS_ADDR_T_64BIT=y
CONFIG_PCI_MSI=y
CONFIG_PCI_MSI_IRQ_DOMAIN=y
# CONFIG_PCI_DEBUG is not set
CONFIG_PCI_REALLOC_ENABLE_AUTO=y
CONFIG_PCI_STUB=m
+CONFIG_XEN_PCIDEV_FRONTEND=m
CONFIG_HT_IRQ=y
CONFIG_PCI_ATS=y
CONFIG_PCI_IOV=y
CONFIG_PCI_PRI=y
CONFIG_PCI_PASID=y
CONFIG_PCI_LABEL=y
+CONFIG_PCI_HYPERV=m
CONFIG_HOTPLUG_PCI=y
-CONFIG_HOTPLUG_PCI_COMPAQ=m
-# CONFIG_HOTPLUG_PCI_COMPAQ_NVRAM is not set
-CONFIG_HOTPLUG_PCI_IBM=m
CONFIG_HOTPLUG_PCI_ACPI=y
CONFIG_HOTPLUG_PCI_ACPI_IBM=m
CONFIG_HOTPLUG_PCI_CPCI=y
@@ -783,18 +797,8 @@ CONFIG_HOTPLUG_PCI_SHPC=m
# PCI host controller drivers
#
# CONFIG_PCIE_DW_PLAT is not set
+CONFIG_VMD=m
CONFIG_ISA_DMA_API=y
-CONFIG_ISA=y
-# CONFIG_EISA is not set
-# CONFIG_SCx200 is not set
-CONFIG_OLPC=y
-CONFIG_OLPC_XO1_PM=y
-CONFIG_OLPC_XO1_RTC=y
-CONFIG_OLPC_XO1_SCI=y
-CONFIG_OLPC_XO15_SCI=y
-CONFIG_ALIX=y
-# CONFIG_NET5501 is not set
-# CONFIG_GEOS is not set
CONFIG_AMD_NB=y
CONFIG_PCCARD=m
CONFIG_PCMCIA=m
@@ -812,9 +816,6 @@ CONFIG_YENTA_ENE_TUNE=y
CONFIG_YENTA_TOSHIBA=y
CONFIG_PD6729=m
CONFIG_I82092=m
-CONFIG_I82365=m
-CONFIG_TCIC=m
-CONFIG_PCMCIA_PROBE=y
CONFIG_PCCARD_NONSTATIC=y
# CONFIG_RAPIDIO is not set
# CONFIG_X86_SYSFB is not set
@@ -823,16 +824,24 @@ CONFIG_PCCARD_NONSTATIC=y
# Executable file formats / Emulations
#
CONFIG_BINFMT_ELF=y
+CONFIG_COMPAT_BINFMT_ELF=y
CONFIG_ELFCORE=y
CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y
CONFIG_BINFMT_SCRIPT=y
-CONFIG_HAVE_AOUT=y
-# CONFIG_BINFMT_AOUT is not set
+# CONFIG_HAVE_AOUT is not set
CONFIG_BINFMT_MISC=y
CONFIG_COREDUMP=y
-CONFIG_HAVE_ATOMIC_IOMAP=y
+CONFIG_IA32_EMULATION=y
+# CONFIG_IA32_AOUT is not set
+# CONFIG_X86_X32 is not set
+CONFIG_COMPAT=y
+CONFIG_COMPAT_FOR_U64_ALIGNMENT=y
+CONFIG_SYSVIPC_COMPAT=y
+CONFIG_KEYS_COMPAT=y
+CONFIG_X86_DEV_DMA_OPS=y
CONFIG_PMC_ATOM=y
CONFIG_NET=y
+CONFIG_COMPAT_NETLINK_MESSAGES=y
CONFIG_NET_INGRESS=y
CONFIG_NET_EGRESS=y
@@ -1467,10 +1476,11 @@ CONFIG_RPS=y
CONFIG_RFS_ACCEL=y
CONFIG_XPS=y
CONFIG_SOCK_CGROUP_DATA=y
-# CONFIG_CGROUP_NET_PRIO is not set
+CONFIG_CGROUP_NET_PRIO=y
CONFIG_CGROUP_NET_CLASSID=y
CONFIG_NET_RX_BUSY_POLL=y
CONFIG_BQL=y
+CONFIG_BPF_JIT=y
CONFIG_NET_FLOW_LIMIT=y
#
@@ -1495,13 +1505,9 @@ CONFIG_ROSE=m
CONFIG_MKISS=m
CONFIG_6PACK=m
CONFIG_BPQETHER=m
-CONFIG_SCC=m
-# CONFIG_SCC_DELAY is not set
-# CONFIG_SCC_TRXECHO is not set
CONFIG_BAYCOM_SER_FDX=m
CONFIG_BAYCOM_SER_HDX=m
CONFIG_BAYCOM_PAR=m
-CONFIG_BAYCOM_EPP=m
CONFIG_YAM=m
CONFIG_CAN=m
CONFIG_CAN_RAW=m
@@ -1516,8 +1522,6 @@ CONFIG_CAN_SLCAN=m
CONFIG_CAN_DEV=m
CONFIG_CAN_CALC_BITTIMING=y
CONFIG_CAN_LEDS=y
-# CONFIG_CAN_GRCAN is not set
-CONFIG_PCH_CAN=m
CONFIG_CAN_C_CAN=m
CONFIG_CAN_C_CAN_PLATFORM=m
CONFIG_CAN_C_CAN_PCI=m
@@ -1531,12 +1535,11 @@ CONFIG_CAN_SJA1000=m
CONFIG_CAN_SJA1000_PLATFORM=m
# CONFIG_CAN_EMS_PCMCIA is not set
CONFIG_CAN_EMS_PCI=m
-CONFIG_CAN_PEAK_PCMCIA=m
+# CONFIG_CAN_PEAK_PCMCIA is not set
CONFIG_CAN_PEAK_PCI=m
CONFIG_CAN_PEAK_PCIEC=y
CONFIG_CAN_KVASER_PCI=m
CONFIG_CAN_PLX_PCI=m
-# CONFIG_CAN_TSCAN1 is not set
CONFIG_CAN_SOFTING=m
# CONFIG_CAN_SOFTING_CS is not set
@@ -1606,7 +1609,6 @@ CONFIG_USB_IRDA=m
CONFIG_SIGMATEL_FIR=m
CONFIG_NSC_FIR=m
CONFIG_WINBOND_FIR=m
-CONFIG_TOSHIBA_FIR=m
CONFIG_SMC_IRCC_FIR=m
CONFIG_ALI_FIR=m
CONFIG_VLSI_FIR=m
@@ -1758,6 +1760,7 @@ CONFIG_LWTUNNEL=y
CONFIG_DST_CACHE=y
CONFIG_NET_DEVLINK=m
CONFIG_MAY_USE_DEVLINK=m
+CONFIG_HAVE_EBPF_JIT=y
#
# Device Drivers
@@ -1782,13 +1785,12 @@ CONFIG_DEV_COREDUMP=y
# CONFIG_DEBUG_DRIVER is not set
# CONFIG_DEBUG_DEVRES is not set
# CONFIG_DEBUG_TEST_DRIVER_REMOVE is not set
-# CONFIG_SYS_HYPERVISOR is not set
+CONFIG_SYS_HYPERVISOR=y
# CONFIG_GENERIC_CPU_DEVICES is not set
CONFIG_GENERIC_CPU_AUTOPROBE=y
CONFIG_REGMAP=y
CONFIG_REGMAP_I2C=y
CONFIG_REGMAP_SPI=y
-CONFIG_REGMAP_SPMI=m
CONFIG_REGMAP_MMIO=y
CONFIG_REGMAP_IRQ=y
CONFIG_DMA_SHARED_BUFFER=y
@@ -1806,7 +1808,6 @@ CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1
# CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED is not set
# CONFIG_MTD_REDBOOT_PARTS_READONLY is not set
CONFIG_MTD_CMDLINE_PARTS=m
-CONFIG_MTD_OF_PARTS=m
CONFIG_MTD_AR7_PARTS=m
#
@@ -1856,8 +1857,6 @@ CONFIG_MTD_ABSENT=m
#
CONFIG_MTD_COMPLEX_MAPPINGS=y
# CONFIG_MTD_PHYSMAP is not set
-CONFIG_MTD_PHYSMAP_OF=m
-# CONFIG_MTD_PHYSMAP_OF_VERSATILE is not set
# CONFIG_MTD_SBC_GXX is not set
# CONFIG_MTD_AMD76XROM is not set
# CONFIG_MTD_ICHXROM is not set
@@ -1908,17 +1907,7 @@ CONFIG_MTD_UBI_BEB_LIMIT=20
# CONFIG_MTD_UBI_FASTMAP is not set
# CONFIG_MTD_UBI_GLUEBI is not set
CONFIG_MTD_UBI_BLOCK=y
-CONFIG_OF=y
-# CONFIG_OF_UNITTEST is not set
-CONFIG_OF_PROMTREE=y
-CONFIG_OF_ADDRESS=y
-CONFIG_OF_ADDRESS_PCI=y
-CONFIG_OF_IRQ=y
-CONFIG_OF_NET=y
-CONFIG_OF_MDIO=m
-CONFIG_OF_PCI=y
-CONFIG_OF_PCI_IRQ=y
-# CONFIG_OF_OVERLAY is not set
+# CONFIG_OF is not set
CONFIG_ARCH_MIGHT_HAVE_PC_PARPORT=y
CONFIG_PARPORT=m
CONFIG_PARPORT_PC=m
@@ -1936,8 +1925,6 @@ CONFIG_PNP=y
#
# Protocols
#
-CONFIG_ISAPNP=y
-# CONFIG_PNPBIOS is not set
CONFIG_PNPACPI=y
CONFIG_BLK_DEV=y
# CONFIG_BLK_DEV_NULL_BLK is not set
@@ -1956,6 +1943,7 @@ CONFIG_BLK_DEV_CRYPTOLOOP=m
CONFIG_BLK_DEV_DRBD=m
# CONFIG_DRBD_FAULT_INJECTION is not set
CONFIG_BLK_DEV_NBD=m
+CONFIG_BLK_DEV_SKD=m
CONFIG_BLK_DEV_OSD=m
CONFIG_BLK_DEV_SX8=m
CONFIG_BLK_DEV_RAM=m
@@ -1965,6 +1953,8 @@ CONFIG_CDROM_PKTCDVD=m
CONFIG_CDROM_PKTCDVD_BUFFERS=8
# CONFIG_CDROM_PKTCDVD_WCACHE is not set
CONFIG_ATA_OVER_ETH=m
+CONFIG_XEN_BLKDEV_FRONTEND=m
+CONFIG_XEN_BLKDEV_BACKEND=m
CONFIG_VIRTIO_BLK=m
# CONFIG_BLK_DEV_HD is not set
CONFIG_BLK_DEV_RBD=m
@@ -1993,9 +1983,6 @@ CONFIG_TIFM_CORE=m
CONFIG_TIFM_7XX1=m
CONFIG_ICS932S401=m
CONFIG_ENCLOSURE_SERVICES=m
-CONFIG_CS5535_MFGPT=m
-CONFIG_CS5535_MFGPT_DEFAULT_IRQ=7
-CONFIG_CS5535_CLOCK_EVENT_SRC=m
CONFIG_HP_ILO=m
CONFIG_APDS9802ALS=m
CONFIG_ISL29003=m
@@ -2007,7 +1994,6 @@ CONFIG_HMC6352=m
CONFIG_DS1682=m
# CONFIG_TI_DAC7512 is not set
CONFIG_VMWARE_BALLOON=m
-CONFIG_PCH_PHUB=m
CONFIG_USB_SWITCH_FSA9480=m
# CONFIG_LATTICE_ECP3_CONFIG is not set
# CONFIG_SRAM is not set
@@ -2046,35 +2032,45 @@ CONFIG_VMWARE_VMCI=m
#
# Intel MIC Bus Driver
#
+CONFIG_INTEL_MIC_BUS=m
#
# SCIF Bus Driver
#
+CONFIG_SCIF_BUS=m
#
# VOP Bus Driver
#
+CONFIG_VOP_BUS=m
#
# Intel MIC Host Driver
#
+CONFIG_INTEL_MIC_HOST=m
#
# Intel MIC Card Driver
#
+CONFIG_INTEL_MIC_CARD=m
#
# SCIF Driver
#
+CONFIG_SCIF=m
#
# Intel MIC Coprocessor State Management (COSM) Drivers
#
+CONFIG_MIC_COSM=m
#
# VOP Driver
#
+CONFIG_VOP=m
CONFIG_VHOST_RING=m
+CONFIG_GENWQE=m
+CONFIG_GENWQE_PLATFORM_ERROR_RECOVERY=0
CONFIG_ECHO=m
# CONFIG_CXL_BASE is not set
# CONFIG_CXL_AFU_DRIVER_OPS is not set
@@ -2131,8 +2127,6 @@ CONFIG_SCSI_HPSA=m
CONFIG_SCSI_3W_9XXX=m
CONFIG_SCSI_3W_SAS=m
CONFIG_SCSI_ACARD=m
-CONFIG_SCSI_AHA152X=m
-CONFIG_SCSI_AHA1542=m
CONFIG_SCSI_AACRAID=m
CONFIG_SCSI_AIC7XXX=m
CONFIG_AIC7XXX_CMDS_PER_DEVICE=32
@@ -2173,8 +2167,9 @@ CONFIG_SCSI_UFSHCD_PLATFORM=m
# CONFIG_SCSI_UFS_DWC_TC_PLATFORM is not set
CONFIG_SCSI_HPTIOP=m
CONFIG_SCSI_BUSLOGIC=m
-# CONFIG_SCSI_FLASHPOINT is not set
+CONFIG_SCSI_FLASHPOINT=y
CONFIG_VMWARE_PVSCSI=m
+# CONFIG_XEN_SCSI_FRONTEND is not set
CONFIG_HYPERV_STORAGE=m
CONFIG_LIBFC=m
CONFIG_LIBFCOE=m
@@ -2190,8 +2185,6 @@ CONFIG_SCSI_EATA_MAX_TAGS=16
CONFIG_SCSI_FUTURE_DOMAIN=m
CONFIG_SCSI_GDTH=m
CONFIG_SCSI_ISCI=m
-CONFIG_SCSI_GENERIC_NCR5380=m
-CONFIG_SCSI_GENERIC_NCR5380_MMIO=m
CONFIG_SCSI_IPS=m
CONFIG_SCSI_INITIO=m
CONFIG_SCSI_INIA100=m
@@ -2199,7 +2192,6 @@ CONFIG_SCSI_PPA=m
CONFIG_SCSI_IMM=m
# CONFIG_SCSI_IZIP_EPP16 is not set
# CONFIG_SCSI_IZIP_SLOW_CTR is not set
-CONFIG_SCSI_NCR53C406A=m
CONFIG_SCSI_STEX=m
CONFIG_SCSI_SYM53C8XX_2=m
CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1
@@ -2209,7 +2201,6 @@ CONFIG_SCSI_SYM53C8XX_MMIO=y
CONFIG_SCSI_IPR=m
# CONFIG_SCSI_IPR_TRACE is not set
# CONFIG_SCSI_IPR_DUMP is not set
-CONFIG_SCSI_QLOGIC_FAS=m
CONFIG_SCSI_QLOGIC_1280=m
CONFIG_SCSI_QLA_FC=m
CONFIG_TCM_QLA2XXX=m
@@ -2217,10 +2208,8 @@ CONFIG_TCM_QLA2XXX=m
CONFIG_SCSI_QLA_ISCSI=m
CONFIG_SCSI_LPFC=m
# CONFIG_SCSI_LPFC_DEBUG_FS is not set
-CONFIG_SCSI_SYM53C416=m
CONFIG_SCSI_DC395x=m
CONFIG_SCSI_AM53C974=m
-CONFIG_SCSI_NSP32=m
CONFIG_SCSI_WD719X=m
# CONFIG_SCSI_DEBUG is not set
CONFIG_SCSI_PMCRAID=m
@@ -2231,7 +2220,6 @@ CONFIG_SCSI_CHELSIO_FCOE=m
CONFIG_SCSI_LOWLEVEL_PCMCIA=y
CONFIG_PCMCIA_AHA152X=m
CONFIG_PCMCIA_FDOMAIN=m
-CONFIG_PCMCIA_NINJA_SCSI=m
CONFIG_PCMCIA_QLOGIC=m
CONFIG_PCMCIA_SYM53C500=m
CONFIG_SCSI_DH=y
@@ -2255,8 +2243,6 @@ CONFIG_SATA_PMP=y
#
CONFIG_SATA_AHCI=m
CONFIG_SATA_AHCI_PLATFORM=m
-# CONFIG_AHCI_CEVA is not set
-# CONFIG_AHCI_QORIQ is not set
CONFIG_SATA_INIC162X=m
CONFIG_SATA_ACARD_AHCI=m
CONFIG_SATA_SIL24=m
@@ -2296,10 +2282,6 @@ CONFIG_PATA_ARTOP=m
CONFIG_PATA_ATIIXP=m
CONFIG_PATA_ATP867X=m
CONFIG_PATA_CMD64X=m
-CONFIG_PATA_CS5520=m
-CONFIG_PATA_CS5530=m
-CONFIG_PATA_CS5535=m
-CONFIG_PATA_CS5536=m
CONFIG_PATA_CYPRESS=m
CONFIG_PATA_EFAR=m
CONFIG_PATA_HPT366=m
@@ -2320,7 +2302,6 @@ CONFIG_PATA_PDC2027X=m
CONFIG_PATA_PDC_OLD=m
CONFIG_PATA_RADISYS=m
CONFIG_PATA_RDC=m
-CONFIG_PATA_SC1200=m
CONFIG_PATA_SCH=m
CONFIG_PATA_SERVERWORKS=m
CONFIG_PATA_SIL680=m
@@ -2334,14 +2315,11 @@ CONFIG_PATA_WINBOND=m
# PIO-only SFF controllers
#
CONFIG_PATA_CMD640_PCI=m
-CONFIG_PATA_ISAPNP=m
CONFIG_PATA_MPIIX=m
CONFIG_PATA_NS87410=m
CONFIG_PATA_OPTI=m
CONFIG_PATA_PCMCIA=m
-CONFIG_PATA_QDI=m
CONFIG_PATA_RZ1000=m
-CONFIG_PATA_WINBOND_VLB=m
#
# Generic fallback / legacy drivers
@@ -2508,8 +2486,6 @@ CONFIG_NET_DSA_QCA8K=m
CONFIG_ETHERNET=y
CONFIG_MDIO=m
CONFIG_NET_VENDOR_3COM=y
-CONFIG_EL3=m
-CONFIG_3C515=m
CONFIG_PCMCIA_3C574=m
CONFIG_PCMCIA_3C589=m
CONFIG_VORTEX=m
@@ -2526,13 +2502,9 @@ CONFIG_NET_VENDOR_AMAZON=y
CONFIG_ENA_ETHERNET=m
CONFIG_NET_VENDOR_AMD=y
CONFIG_AMD8111_ETH=m
-CONFIG_LANCE=m
CONFIG_PCNET32=m
CONFIG_PCMCIA_NMCLAN=m
-CONFIG_NI65=m
CONFIG_NET_VENDOR_ARC=y
-CONFIG_ARC_EMAC_CORE=m
-CONFIG_ARC_EMAC=m
CONFIG_NET_VENDOR_ATHEROS=y
CONFIG_ATL2=m
CONFIG_ATL1=m
@@ -2554,7 +2526,6 @@ CONFIG_CNIC=m
CONFIG_TIGON3=m
CONFIG_BNX2X=m
CONFIG_BNX2X_SRIOV=y
-CONFIG_SYSTEMPORT=m
CONFIG_BNXT=m
CONFIG_BNXT_SRIOV=y
CONFIG_NET_VENDOR_BROCADE=y
@@ -2567,9 +2538,6 @@ CONFIG_CHELSIO_T3=m
CONFIG_CHELSIO_T4=m
CONFIG_CHELSIO_T4VF=m
CONFIG_CHELSIO_LIB=m
-CONFIG_NET_VENDOR_CIRRUS=y
-CONFIG_CS89x0=m
-# CONFIG_CS89x0_PLATFORM is not set
CONFIG_NET_VENDOR_CISCO=y
CONFIG_ENIC=m
CONFIG_CX_ECAT=m
@@ -2610,10 +2578,12 @@ CONFIG_E1000E=m
CONFIG_E1000E_HWTS=y
CONFIG_IGB=m
CONFIG_IGB_HWMON=y
+CONFIG_IGB_DCA=y
CONFIG_IGBVF=m
CONFIG_IXGB=m
CONFIG_IXGBE=m
CONFIG_IXGBE_HWMON=y
+CONFIG_IXGBE_DCA=y
CONFIG_IXGBEVF=m
CONFIG_I40E=m
CONFIG_I40EVF=m
@@ -2650,6 +2620,7 @@ CONFIG_ENC28J60=m
CONFIG_ENCX24J600=m
CONFIG_NET_VENDOR_MYRI=y
CONFIG_MYRI10GE=m
+CONFIG_MYRI10GE_DCA=y
CONFIG_FEALNX=m
CONFIG_NET_VENDOR_NATSEMI=y
CONFIG_NATSEMI=m
@@ -2659,15 +2630,11 @@ CONFIG_NFP_NETVF=m
# CONFIG_NFP_NET_DEBUG is not set
CONFIG_NET_VENDOR_8390=y
CONFIG_PCMCIA_AXNET=m
-CONFIG_NE2000=m
CONFIG_NE2K_PCI=m
CONFIG_PCMCIA_PCNET=m
-CONFIG_ULTRA=m
-CONFIG_WD80x3=m
CONFIG_NET_VENDOR_NVIDIA=y
CONFIG_FORCEDETH=m
CONFIG_NET_VENDOR_OKI=y
-CONFIG_PCH_GBE=m
CONFIG_ETHOC=m
CONFIG_NET_PACKET_ENGINE=y
CONFIG_HAMACHI=m
@@ -2683,7 +2650,6 @@ CONFIG_QED=m
CONFIG_QED_SRIOV=y
CONFIG_QEDE=m
CONFIG_NET_VENDOR_QUALCOMM=y
-CONFIG_QCA7000=m
CONFIG_QCOM_EMAC=m
CONFIG_NET_VENDOR_REALTEK=y
CONFIG_ATP=m
@@ -2713,7 +2679,6 @@ CONFIG_SFC_MCDI_MON=y
CONFIG_SFC_SRIOV=y
CONFIG_SFC_MCDI_LOGGING=y
CONFIG_NET_VENDOR_SMSC=y
-CONFIG_SMC9194=m
CONFIG_PCMCIA_SMC91C92=m
CONFIG_EPIC100=m
CONFIG_SMSC911X=m
@@ -2729,7 +2694,6 @@ CONFIG_SUNGEM=m
CONFIG_CASSINI=m
CONFIG_NIU=m
CONFIG_NET_VENDOR_SYNOPSYS=y
-CONFIG_SYNOPSYS_DWC_ETH_QOS=m
CONFIG_NET_VENDOR_TEHUTI=y
CONFIG_TEHUTI=m
CONFIG_NET_VENDOR_TI=y
@@ -2759,11 +2723,10 @@ CONFIG_SWPHY=y
#
CONFIG_MDIO_BCM_UNIMAC=m
CONFIG_MDIO_BITBANG=m
-CONFIG_MDIO_BUS_MUX=m
-CONFIG_MDIO_BUS_MUX_GPIO=m
-CONFIG_MDIO_BUS_MUX_MMIOREG=m
+CONFIG_MDIO_CAVIUM=m
# CONFIG_MDIO_GPIO is not set
-# CONFIG_MDIO_HISI_FEMAC is not set
+CONFIG_MDIO_OCTEON=m
+# CONFIG_MDIO_THUNDER is not set
#
# MII PHY device drivers
@@ -2905,7 +2868,6 @@ CONFIG_WIL6210_ISR_COR=y
# CONFIG_WIL6210_TRACING is not set
CONFIG_ATH10K=m
CONFIG_ATH10K_PCI=m
-CONFIG_ATH10K_AHB=y
# CONFIG_ATH10K_DEBUG is not set
CONFIG_ATH10K_DEBUGFS=y
# CONFIG_ATH10K_TRACING is not set
@@ -3105,7 +3067,6 @@ CONFIG_WL1251_SDIO=m
CONFIG_WL12XX=m
CONFIG_WL18XX=m
CONFIG_WLCORE=m
-# CONFIG_WLCORE_SPI is not set
CONFIG_WLCORE_SDIO=m
CONFIG_WILINK_PLATFORM_DATA=y
CONFIG_WLAN_VENDOR_ZYDAS=y
@@ -3132,6 +3093,8 @@ CONFIG_IEEE802154_AT86RF230=m
# CONFIG_IEEE802154_CC2520 is not set
CONFIG_IEEE802154_ATUSB=m
# CONFIG_IEEE802154_ADF7242 is not set
+CONFIG_XEN_NETDEV_FRONTEND=m
+CONFIG_XEN_NETDEV_BACKEND=m
CONFIG_VMXNET3=m
CONFIG_FUJITSU_ES=m
CONFIG_HYPERV_NET=m
@@ -3174,27 +3137,17 @@ CONFIG_HISAX_MAX_CARDS=8
#
# HiSax supported cards
#
-CONFIG_HISAX_16_0=y
CONFIG_HISAX_16_3=y
CONFIG_HISAX_TELESPCI=y
CONFIG_HISAX_S0BOX=y
-CONFIG_HISAX_AVM_A1=y
CONFIG_HISAX_FRITZPCI=y
CONFIG_HISAX_AVM_A1_PCMCIA=y
CONFIG_HISAX_ELSA=y
-CONFIG_HISAX_IX1MICROR2=y
CONFIG_HISAX_DIEHLDIVA=y
-CONFIG_HISAX_ASUSCOM=y
-CONFIG_HISAX_TELEINT=y
-CONFIG_HISAX_HFCS=y
CONFIG_HISAX_SEDLBAUER=y
-CONFIG_HISAX_SPORTSTER=y
-CONFIG_HISAX_MIC=y
CONFIG_HISAX_NETJET=y
CONFIG_HISAX_NETJET_U=y
CONFIG_HISAX_NICCY=y
-CONFIG_HISAX_ISURF=y
-CONFIG_HISAX_HSTSAPHIR=y
CONFIG_HISAX_BKM_A4T=y
CONFIG_HISAX_SCT_QUADRO=y
CONFIG_HISAX_GAZEL=y
@@ -3230,10 +3183,8 @@ CONFIG_ISDN_CAPI_CAPIDRV=m
# CAPI hardware drivers
#
CONFIG_CAPI_AVM=y
-CONFIG_ISDN_DRV_AVMB1_B1ISA=m
CONFIG_ISDN_DRV_AVMB1_B1PCI=m
CONFIG_ISDN_DRV_AVMB1_B1PCIV4=y
-CONFIG_ISDN_DRV_AVMB1_T1ISA=m
CONFIG_ISDN_DRV_AVMB1_B1PCMCIA=m
CONFIG_ISDN_DRV_AVMB1_AVM_CS=m
CONFIG_ISDN_DRV_AVMB1_T1PCI=m
@@ -3322,11 +3273,8 @@ CONFIG_KEYBOARD_MPR121=m
# CONFIG_KEYBOARD_SAMSUNG is not set
# CONFIG_KEYBOARD_STOWAWAY is not set
# CONFIG_KEYBOARD_SUNKBD is not set
-# CONFIG_KEYBOARD_OMAP4 is not set
# CONFIG_KEYBOARD_XTKBD is not set
# CONFIG_KEYBOARD_CROS_EC is not set
-# CONFIG_KEYBOARD_CAP11XX is not set
-# CONFIG_KEYBOARD_BCM is not set
CONFIG_INPUT_MOUSE=y
CONFIG_MOUSE_PS2=m
CONFIG_MOUSE_PS2_ALPS=y
@@ -3339,7 +3287,6 @@ CONFIG_MOUSE_PS2_TRACKPOINT=y
CONFIG_MOUSE_PS2_ELANTECH=y
CONFIG_MOUSE_PS2_SENTELIC=y
CONFIG_MOUSE_PS2_TOUCHKIT=y
-CONFIG_MOUSE_PS2_OLPC=y
CONFIG_MOUSE_PS2_FOCALTECH=y
CONFIG_MOUSE_PS2_VMMOUSE=y
CONFIG_MOUSE_SERIAL=m
@@ -3349,10 +3296,6 @@ CONFIG_MOUSE_CYAPA=m
CONFIG_MOUSE_ELAN_I2C=m
CONFIG_MOUSE_ELAN_I2C_I2C=y
CONFIG_MOUSE_ELAN_I2C_SMBUS=y
-CONFIG_MOUSE_INPORT=m
-# CONFIG_MOUSE_ATIXL is not set
-CONFIG_MOUSE_LOGIBM=m
-CONFIG_MOUSE_PC110PAD=m
CONFIG_MOUSE_VSXXXAA=m
# CONFIG_MOUSE_GPIO is not set
CONFIG_MOUSE_SYNAPTICS_I2C=m
@@ -3403,12 +3346,10 @@ CONFIG_TOUCHSCREEN_PROPERTIES=y
CONFIG_TOUCHSCREEN_AD7879=m
CONFIG_TOUCHSCREEN_AD7879_I2C=m
# CONFIG_TOUCHSCREEN_AD7879_SPI is not set
-# CONFIG_TOUCHSCREEN_AR1021_I2C is not set
CONFIG_TOUCHSCREEN_ATMEL_MXT=m
CONFIG_TOUCHSCREEN_ATMEL_MXT_T37=y
CONFIG_TOUCHSCREEN_AUO_PIXCIR=m
CONFIG_TOUCHSCREEN_BU21013=m
-# CONFIG_TOUCHSCREEN_CHIPONE_ICN8318 is not set
CONFIG_TOUCHSCREEN_CY8CTMG110=m
CONFIG_TOUCHSCREEN_CYTTSP_CORE=m
CONFIG_TOUCHSCREEN_CYTTSP_I2C=m
@@ -3419,7 +3360,6 @@ CONFIG_TOUCHSCREEN_CYTTSP4_SPI=m
CONFIG_TOUCHSCREEN_DYNAPRO=m
CONFIG_TOUCHSCREEN_HAMPSHIRE=m
CONFIG_TOUCHSCREEN_EETI=m
-CONFIG_TOUCHSCREEN_EGALAX=m
CONFIG_TOUCHSCREEN_EGALAX_SERIAL=m
CONFIG_TOUCHSCREEN_FUJITSU=m
CONFIG_TOUCHSCREEN_GOODIX=m
@@ -3435,10 +3375,8 @@ CONFIG_TOUCHSCREEN_MCS5000=m
CONFIG_TOUCHSCREEN_MMS114=m
CONFIG_TOUCHSCREEN_MELFAS_MIP4=m
CONFIG_TOUCHSCREEN_MTOUCH=m
-CONFIG_TOUCHSCREEN_IMX6UL_TSC=m
CONFIG_TOUCHSCREEN_INEXIO=m
CONFIG_TOUCHSCREEN_MK712=m
-CONFIG_TOUCHSCREEN_HTCPEN=m
CONFIG_TOUCHSCREEN_PENMOUNT=m
CONFIG_TOUCHSCREEN_EDT_FT5X06=m
CONFIG_TOUCHSCREEN_TOUCHRIGHT=m
@@ -3492,7 +3430,6 @@ CONFIG_INPUT_AD714X=m
CONFIG_INPUT_AD714X_I2C=m
CONFIG_INPUT_AD714X_SPI=m
# CONFIG_INPUT_ARIZONA_HAPTICS is not set
-# CONFIG_INPUT_ATMEL_CAPTOUCH is not set
CONFIG_INPUT_BMA150=m
CONFIG_INPUT_E3X0_BUTTON=m
CONFIG_INPUT_PCSPKR=m
@@ -3501,10 +3438,9 @@ CONFIG_INPUT_MMA8450=m
CONFIG_INPUT_MPU3050=m
CONFIG_INPUT_APANEL=m
CONFIG_INPUT_GP2A=m
-CONFIG_INPUT_GPIO_BEEPER=m
+# CONFIG_INPUT_GPIO_BEEPER is not set
# CONFIG_INPUT_GPIO_TILT_POLLED is not set
# CONFIG_INPUT_GPIO_DECODER is not set
-CONFIG_INPUT_WISTRON_BTNS=m
CONFIG_INPUT_ATLAS_BTNS=m
CONFIG_INPUT_ATI_REMOTE2=m
CONFIG_INPUT_KEYSPAN_REMOTE=m
@@ -3518,7 +3454,6 @@ CONFIG_INPUT_TPS65218_PWRBUTTON=m
CONFIG_INPUT_UINPUT=m
CONFIG_INPUT_PCF50633_PMU=m
CONFIG_INPUT_PCF8574=m
-CONFIG_INPUT_PWM_BEEPER=m
CONFIG_INPUT_GPIO_ROTARY_ENCODER=m
CONFIG_INPUT_ADXL34X=m
CONFIG_INPUT_ADXL34X_I2C=m
@@ -3526,6 +3461,7 @@ CONFIG_INPUT_ADXL34X_SPI=m
# CONFIG_INPUT_IMS_PCU is not set
CONFIG_INPUT_CMA3000=m
CONFIG_INPUT_CMA3000_I2C=m
+CONFIG_INPUT_XEN_KBDDEV_FRONTEND=m
CONFIG_INPUT_IDEAPAD_SLIDEBAR=m
CONFIG_INPUT_SOC_BUTTON_ARRAY=m
# CONFIG_INPUT_DRV260X_HAPTICS is not set
@@ -3555,8 +3491,6 @@ CONFIG_SERIO_RAW=m
CONFIG_SERIO_ALTERA_PS2=m
CONFIG_SERIO_PS2MULT=m
CONFIG_SERIO_ARC_PS2=m
-CONFIG_SERIO_APBPS2=m
-CONFIG_SERIO_OLPC_APSP=m
CONFIG_HYPERV_KEYBOARD=m
# CONFIG_USERIO is not set
CONFIG_GAMEPORT=m
@@ -3611,11 +3545,6 @@ CONFIG_SERIAL_8250_NR_UARTS=32
CONFIG_SERIAL_8250_RUNTIME_UARTS=4
CONFIG_SERIAL_8250_EXTENDED=y
CONFIG_SERIAL_8250_MANY_PORTS=y
-# CONFIG_SERIAL_8250_FOURPORT is not set
-# CONFIG_SERIAL_8250_ACCENT is not set
-# CONFIG_SERIAL_8250_BOCA is not set
-# CONFIG_SERIAL_8250_EXAR_ST16C554 is not set
-# CONFIG_SERIAL_8250_HUB6 is not set
CONFIG_SERIAL_8250_SHARE_IRQ=y
# CONFIG_SERIAL_8250_DETECT_IRQ is not set
CONFIG_SERIAL_8250_RSA=y
@@ -3625,7 +3554,6 @@ CONFIG_SERIAL_8250_RT288X=y
CONFIG_SERIAL_8250_LPSS=y
CONFIG_SERIAL_8250_MID=y
CONFIG_SERIAL_8250_MOXA=m
-CONFIG_SERIAL_OF_PLATFORM=m
#
# Non-8250 serial port support
@@ -3641,24 +3569,23 @@ CONFIG_SERIAL_SC16IS7XX_CORE=m
CONFIG_SERIAL_SC16IS7XX=m
CONFIG_SERIAL_SC16IS7XX_I2C=y
# CONFIG_SERIAL_SC16IS7XX_SPI is not set
-# CONFIG_SERIAL_TIMBERDALE is not set
CONFIG_SERIAL_ALTERA_JTAGUART=m
CONFIG_SERIAL_ALTERA_UART=m
CONFIG_SERIAL_ALTERA_UART_MAXPORTS=4
CONFIG_SERIAL_ALTERA_UART_BAUDRATE=115200
# CONFIG_SERIAL_IFX6X60 is not set
-CONFIG_SERIAL_PCH_UART=m
-CONFIG_SERIAL_XILINX_PS_UART=m
CONFIG_SERIAL_ARC=m
CONFIG_SERIAL_ARC_NR_PORTS=1
CONFIG_SERIAL_RP2=m
CONFIG_SERIAL_RP2_NR_UARTS=32
CONFIG_SERIAL_FSL_LPUART=m
-CONFIG_SERIAL_CONEXANT_DIGICOLOR=m
CONFIG_PRINTER=m
# CONFIG_LP_CONSOLE is not set
CONFIG_PPDEV=m
CONFIG_HVC_DRIVER=y
+CONFIG_HVC_IRQ=y
+CONFIG_HVC_XEN=y
+CONFIG_HVC_XEN_FRONTEND=y
CONFIG_VIRTIO_CONSOLE=m
CONFIG_IPMI_HANDLER=m
# CONFIG_IPMI_PANIC_EVENT is not set
@@ -3671,15 +3598,12 @@ CONFIG_HW_RANDOM=m
CONFIG_HW_RANDOM_TIMERIOMEM=m
CONFIG_HW_RANDOM_INTEL=m
CONFIG_HW_RANDOM_AMD=m
-CONFIG_HW_RANDOM_GEODE=m
CONFIG_HW_RANDOM_VIA=m
CONFIG_HW_RANDOM_VIRTIO=m
CONFIG_HW_RANDOM_TPM=m
CONFIG_NVRAM=m
-CONFIG_DTLK=m
CONFIG_R3964=m
CONFIG_APPLICOM=m
-CONFIG_SONYPI=m
#
# PCMCIA character devices
@@ -3689,8 +3613,6 @@ CONFIG_CARDMAN_4000=m
CONFIG_CARDMAN_4040=m
CONFIG_IPWIRELESS=m
CONFIG_MWAVE=m
-CONFIG_PC8736x_GPIO=m
-CONFIG_NSC_GPIO=m
CONFIG_RAW_DRIVER=m
CONFIG_MAX_RAW_DEVS=256
CONFIG_HPET=y
@@ -3707,6 +3629,7 @@ CONFIG_TCG_TIS_I2C_NUVOTON=m
CONFIG_TCG_NSC=m
CONFIG_TCG_ATMEL=m
CONFIG_TCG_INFINEON=m
+CONFIG_TCG_XEN=m
CONFIG_TCG_CRB=m
# CONFIG_TCG_VTPM_PROXY is not set
# CONFIG_TCG_TIS_ST33ZP24_I2C is not set
@@ -3728,13 +3651,11 @@ CONFIG_I2C_MUX=m
#
# Multiplexer I2C Chip support
#
-# CONFIG_I2C_ARB_GPIO_CHALLENGE is not set
# CONFIG_I2C_MUX_GPIO is not set
CONFIG_I2C_MUX_PCA9541=m
CONFIG_I2C_MUX_PCA954x=m
# CONFIG_I2C_MUX_PINCTRL is not set
# CONFIG_I2C_MUX_REG is not set
-# CONFIG_I2C_DEMUX_PINCTRL is not set
CONFIG_I2C_HELPER_AUTO=y
CONFIG_I2C_SMBUS=m
CONFIG_I2C_ALGOBIT=m
@@ -3778,14 +3699,11 @@ CONFIG_I2C_DESIGNWARE_CORE=m
CONFIG_I2C_DESIGNWARE_PLATFORM=m
CONFIG_I2C_DESIGNWARE_PCI=m
CONFIG_I2C_DESIGNWARE_BAYTRAIL=y
-CONFIG_I2C_EG20T=m
# CONFIG_I2C_EMEV2 is not set
# CONFIG_I2C_GPIO is not set
CONFIG_I2C_OCORES=m
CONFIG_I2C_PCA_PLATFORM=m
-CONFIG_I2C_PXA=m
-CONFIG_I2C_PXA_PCI=y
-CONFIG_I2C_RK3X=m
+# CONFIG_I2C_PXA_PCI is not set
CONFIG_I2C_SIMTEC=m
CONFIG_I2C_XILINX=m
@@ -3803,9 +3721,7 @@ CONFIG_I2C_VIPERBOARD=m
#
# Other I2C/SMBus bus drivers
#
-CONFIG_I2C_PCA_ISA=m
# CONFIG_I2C_CROS_EC_TUNNEL is not set
-CONFIG_SCx200_ACB=m
# CONFIG_I2C_STUB is not set
CONFIG_I2C_SLAVE=y
CONFIG_I2C_SLAVE_EEPROM=m
@@ -3830,13 +3746,11 @@ CONFIG_SPI_DW_PCI=m
CONFIG_SPI_DW_MMIO=m
CONFIG_SPI_GPIO=m
CONFIG_SPI_LM70_LLP=m
-# CONFIG_SPI_FSL_SPI is not set
CONFIG_SPI_OC_TINY=m
CONFIG_SPI_PXA2XX=m
CONFIG_SPI_PXA2XX_PCI=m
CONFIG_SPI_ROCKCHIP=m
CONFIG_SPI_SC18IS602=m
-CONFIG_SPI_TOPCLIFF_PCH=m
CONFIG_SPI_XCOMM=m
CONFIG_SPI_XILINX=m
CONFIG_SPI_ZYNQMP_GQSPI=m
@@ -3873,7 +3787,6 @@ CONFIG_PPS_CLIENT_GPIO=m
#
CONFIG_PTP_1588_CLOCK=m
CONFIG_DP83640_PHY=m
-CONFIG_PTP_1588_CLOCK_PCH=m
CONFIG_PINCTRL=y
#
@@ -3884,14 +3797,12 @@ CONFIG_PINCONF=y
CONFIG_GENERIC_PINCONF=y
# CONFIG_DEBUG_PINCTRL is not set
# CONFIG_PINCTRL_AMD is not set
-# CONFIG_PINCTRL_SINGLE is not set
CONFIG_PINCTRL_BAYTRAIL=y
CONFIG_PINCTRL_CHERRYVIEW=y
CONFIG_PINCTRL_INTEL=y
CONFIG_PINCTRL_BROXTON=y
CONFIG_PINCTRL_SUNRISEPOINT=y
CONFIG_GPIOLIB=y
-CONFIG_OF_GPIO=y
CONFIG_GPIO_ACPI=y
CONFIG_GPIOLIB_IRQCHIP=y
# CONFIG_DEBUG_GPIO is not set
@@ -3900,38 +3811,27 @@ CONFIG_GPIO_SYSFS=y
#
# Memory mapped GPIO drivers
#
-# CONFIG_GPIO_74XX_MMIO is not set
-# CONFIG_GPIO_ALTERA is not set
# CONFIG_GPIO_AMDPT is not set
# CONFIG_GPIO_DWAPB is not set
# CONFIG_GPIO_GENERIC_PLATFORM is not set
-# CONFIG_GPIO_GRGPIO is not set
CONFIG_GPIO_ICH=m
CONFIG_GPIO_LYNXPOINT=y
# CONFIG_GPIO_MOCKUP is not set
-# CONFIG_GPIO_SYSCON is not set
# CONFIG_GPIO_VX855 is not set
-# CONFIG_GPIO_XILINX is not set
# CONFIG_GPIO_ZX is not set
#
# Port-mapped I/O GPIO drivers
#
-# CONFIG_GPIO_104_DIO_48E is not set
-# CONFIG_GPIO_104_IDIO_16 is not set
-# CONFIG_GPIO_104_IDI_48 is not set
# CONFIG_GPIO_F7188X is not set
-# CONFIG_GPIO_GPIO_MM is not set
# CONFIG_GPIO_IT87 is not set
CONFIG_GPIO_SCH=m
CONFIG_GPIO_SCH311X=m
-# CONFIG_GPIO_WS16C48 is not set
#
# I2C GPIO expanders
#
# CONFIG_GPIO_ADP5588 is not set
-# CONFIG_GPIO_ADNP is not set
# CONFIG_GPIO_MAX7300 is not set
# CONFIG_GPIO_MAX732X is not set
# CONFIG_GPIO_PCA953X is not set
@@ -3945,7 +3845,6 @@ CONFIG_GPIO_SCH311X=m
#
# CONFIG_GPIO_ARIZONA is not set
CONFIG_GPIO_CRYSTAL_COVE=y
-CONFIG_GPIO_CS5535=y
# CONFIG_GPIO_LP3943 is not set
# CONFIG_GPIO_TPS65218 is not set
# CONFIG_GPIO_UCB1400 is not set
@@ -3956,14 +3855,11 @@ CONFIG_GPIO_WHISKEY_COVE=y
#
CONFIG_GPIO_AMD8111=m
# CONFIG_GPIO_ML_IOH is not set
-# CONFIG_GPIO_PCH is not set
# CONFIG_GPIO_RDC321X is not set
-# CONFIG_GPIO_SODAVILLE is not set
#
# SPI GPIO expanders
#
-# CONFIG_GPIO_74X164 is not set
# CONFIG_GPIO_MAX7301 is not set
# CONFIG_GPIO_MC33880 is not set
# CONFIG_GPIO_PISOSR is not set
@@ -3971,7 +3867,6 @@ CONFIG_GPIO_AMD8111=m
#
# SPI or I2C GPIO expanders
#
-# CONFIG_GPIO_MCP23S08 is not set
#
# USB GPIO expanders
@@ -3980,14 +3875,7 @@ CONFIG_GPIO_VIPERBOARD=m
# CONFIG_W1 is not set
CONFIG_POWER_AVS=y
CONFIG_POWER_RESET=y
-CONFIG_POWER_RESET_GPIO=y
-# CONFIG_POWER_RESET_GPIO_RESTART is not set
-# CONFIG_POWER_RESET_LTC2952 is not set
# CONFIG_POWER_RESET_RESTART is not set
-# CONFIG_POWER_RESET_SYSCON is not set
-# CONFIG_POWER_RESET_SYSCON_POWEROFF is not set
-CONFIG_REBOOT_MODE=m
-CONFIG_SYSCON_REBOOT_MODE=m
CONFIG_POWER_SUPPLY=y
# CONFIG_POWER_SUPPLY_DEBUG is not set
CONFIG_PDA_POWER=m
@@ -3996,7 +3884,6 @@ CONFIG_TEST_POWER=m
# CONFIG_BATTERY_DS2780 is not set
# CONFIG_BATTERY_DS2781 is not set
# CONFIG_BATTERY_DS2782 is not set
-CONFIG_BATTERY_OLPC=m
# CONFIG_BATTERY_SBS is not set
# CONFIG_BATTERY_BQ27XXX is not set
# CONFIG_BATTERY_MAX17040 is not set
@@ -4132,7 +4019,6 @@ CONFIG_SENSORS_TPS40422=m
CONFIG_SENSORS_UCD9000=m
CONFIG_SENSORS_UCD9200=m
CONFIG_SENSORS_ZL6100=m
-CONFIG_SENSORS_PWM_FAN=m
CONFIG_SENSORS_SHT15=m
CONFIG_SENSORS_SHT21=m
CONFIG_SENSORS_SHT3x=m
@@ -4185,7 +4071,6 @@ CONFIG_SENSORS_ACPI_POWER=m
CONFIG_SENSORS_ATK0110=m
CONFIG_THERMAL=y
CONFIG_THERMAL_HWMON=y
-CONFIG_THERMAL_OF=y
CONFIG_THERMAL_WRITABLE_TRIPS=y
CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y
# CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE is not set
@@ -4196,9 +4081,7 @@ CONFIG_THERMAL_GOV_STEP_WISE=y
CONFIG_THERMAL_GOV_BANG_BANG=y
CONFIG_THERMAL_GOV_USER_SPACE=y
# CONFIG_THERMAL_GOV_POWER_ALLOCATOR is not set
-# CONFIG_CPU_THERMAL is not set
# CONFIG_THERMAL_EMULATION is not set
-# CONFIG_QORIQ_THERMAL is not set
CONFIG_INTEL_POWERCLAMP=m
CONFIG_X86_PKG_TEMP_THERMAL=m
CONFIG_INTEL_SOC_DTS_IOSF_CORE=m
@@ -4212,7 +4095,6 @@ CONFIG_ACPI_THERMAL_REL=m
CONFIG_INT3406_THERMAL=m
CONFIG_INTEL_BXT_PMIC_THERMAL=m
CONFIG_INTEL_PCH_THERMAL=m
-CONFIG_QCOM_SPMI_TEMP_ALARM=m
CONFIG_GENERIC_ADC_THERMAL=m
CONFIG_WATCHDOG=y
CONFIG_WATCHDOG_CORE=y
@@ -4223,23 +4105,19 @@ CONFIG_WATCHDOG_SYSFS=y
# Watchdog Device Drivers
#
CONFIG_SOFT_WATCHDOG=m
-CONFIG_GPIO_WATCHDOG=m
CONFIG_WDAT_WDT=m
CONFIG_XILINX_WATCHDOG=m
CONFIG_ZIIRAVE_WATCHDOG=m
# CONFIG_CADENCE_WATCHDOG is not set
CONFIG_DW_WATCHDOG=m
-# CONFIG_RN5T618_WATCHDOG is not set
# CONFIG_MAX63XX_WATCHDOG is not set
CONFIG_RETU_WATCHDOG=m
CONFIG_ACQUIRE_WDT=m
CONFIG_ADVANTECH_WDT=m
CONFIG_ALIM1535_WDT=m
CONFIG_ALIM7101_WDT=m
-CONFIG_EBC_C384_WDT=m
CONFIG_F71808E_WDT=m
CONFIG_SP5100_TCO=m
-CONFIG_GEODE_WDT=m
CONFIG_SBC_FITPC2_WATCHDOG=m
CONFIG_EUROTECH_WDT=m
CONFIG_IB700_WDT=m
@@ -4257,8 +4135,6 @@ CONFIG_SC1200_WDT=m
CONFIG_PC87413_WDT=m
CONFIG_NV_TCO=m
CONFIG_60XX_WDT=m
-CONFIG_SBC8360_WDT=m
-CONFIG_SBC7240_WDT=m
CONFIG_CPU5_WDT=m
CONFIG_SMSC_SCH311X_WDT=m
CONFIG_SMSC37B787_WDT=m
@@ -4271,13 +4147,7 @@ CONFIG_SBC_EPX_C3_WATCHDOG=m
CONFIG_INTEL_MEI_WDT=m
CONFIG_NI903X_WDT=m
CONFIG_MEN_A21_WDT=m
-
-#
-# ISA-based Watchdog Cards
-#
-CONFIG_PCWATCHDOG=m
-CONFIG_MIXCOMWD=m
-CONFIG_WDT=m
+CONFIG_XEN_WDT=m
#
# PCI-based Watchdog Cards
@@ -4336,19 +4206,14 @@ CONFIG_BCMA_DRIVER_GPIO=y
# Multifunction device drivers
#
CONFIG_MFD_CORE=y
-CONFIG_MFD_CS5535=m
-# CONFIG_MFD_ACT8945A is not set
# CONFIG_MFD_AS3711 is not set
-# CONFIG_MFD_AS3722 is not set
# CONFIG_PMIC_ADP5520 is not set
# CONFIG_MFD_AAT2870_CORE is not set
-# CONFIG_MFD_ATMEL_FLEXCOM is not set
-# CONFIG_MFD_ATMEL_HLCDC is not set
CONFIG_MFD_BCM590XX=m
# CONFIG_MFD_AXP20X_I2C is not set
CONFIG_MFD_CROS_EC=m
CONFIG_MFD_CROS_EC_I2C=m
-CONFIG_MFD_CROS_EC_SPI=m
+# CONFIG_MFD_CROS_EC_SPI is not set
# CONFIG_PMIC_DA903X is not set
# CONFIG_MFD_DA9052_SPI is not set
# CONFIG_MFD_DA9052_I2C is not set
@@ -4361,7 +4226,6 @@ CONFIG_MFD_CROS_EC_SPI=m
CONFIG_MFD_MC13XXX=m
# CONFIG_MFD_MC13XXX_SPI is not set
CONFIG_MFD_MC13XXX_I2C=m
-# CONFIG_MFD_HI6421_PMIC is not set
CONFIG_HTC_PASIC3=m
# CONFIG_HTC_I2CPLD is not set
# CONFIG_MFD_INTEL_QUARK_I2C_GPIO is not set
@@ -4377,8 +4241,6 @@ CONFIG_MFD_INTEL_LPSS_PCI=m
# CONFIG_MFD_88PM805 is not set
# CONFIG_MFD_88PM860X is not set
# CONFIG_MFD_MAX14577 is not set
-# CONFIG_MFD_MAX77620 is not set
-# CONFIG_MFD_MAX77686 is not set
# CONFIG_MFD_MAX77693 is not set
# CONFIG_MFD_MAX77843 is not set
# CONFIG_MFD_MAX8907 is not set
@@ -4399,8 +4261,6 @@ CONFIG_MFD_RTSX_PCI=m
CONFIG_MFD_RT5033=m
CONFIG_MFD_RTSX_USB=m
# CONFIG_MFD_RC5T583 is not set
-CONFIG_MFD_RK808=m
-CONFIG_MFD_RN5T618=m
# CONFIG_MFD_SEC_CORE is not set
CONFIG_MFD_SI476X_CORE=m
CONFIG_MFD_SM501=m
@@ -4409,7 +4269,6 @@ CONFIG_MFD_SM501_GPIO=y
# CONFIG_MFD_SMSC is not set
CONFIG_ABX500_CORE=y
# CONFIG_AB3100_CORE is not set
-# CONFIG_MFD_STMPE is not set
CONFIG_MFD_SYSCON=y
CONFIG_MFD_TI_AM335X_TSCADC=m
CONFIG_MFD_LP3943=m
@@ -4432,8 +4291,6 @@ CONFIG_MFD_TPS65218=m
# CONFIG_TWL6040_CORE is not set
CONFIG_MFD_WL1273_CORE=m
CONFIG_MFD_LM3533=m
-# CONFIG_MFD_TIMBERDALE is not set
-# CONFIG_MFD_TC3589X is not set
# CONFIG_MFD_TMIO is not set
CONFIG_MFD_VX855=m
CONFIG_MFD_ARIZONA=y
@@ -4806,7 +4663,6 @@ CONFIG_RADIO_WL1273=m
# Texas Instruments WL128x FM driver (ST based)
#
CONFIG_RADIO_WL128X=m
-# CONFIG_V4L_RADIO_ISA_DRIVERS is not set
#
# Supported FireWire (IEEE 1394) Adapters
@@ -5109,17 +4965,11 @@ CONFIG_DVB_HELENE=m
#
# Graphics support
#
-CONFIG_AGP=m
-CONFIG_AGP_ALI=m
-CONFIG_AGP_ATI=m
-CONFIG_AGP_AMD=m
+CONFIG_AGP=y
CONFIG_AGP_AMD64=m
CONFIG_AGP_INTEL=m
-CONFIG_AGP_NVIDIA=m
CONFIG_AGP_SIS=m
-CONFIG_AGP_SWORKS=m
CONFIG_AGP_VIA=m
-CONFIG_AGP_EFFICEON=m
CONFIG_INTEL_GTT=m
CONFIG_VGA_ARB=y
CONFIG_VGA_ARB_MAX_GPUS=16
@@ -5177,28 +5027,13 @@ CONFIG_DRM_PANEL=y
#
# Display Panels
#
-# CONFIG_DRM_PANEL_SIMPLE is not set
-# CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set
-# CONFIG_DRM_PANEL_SAMSUNG_LD9040 is not set
-# CONFIG_DRM_PANEL_LG_LG4573 is not set
-# CONFIG_DRM_PANEL_PANASONIC_VVX10F034N00 is not set
-# CONFIG_DRM_PANEL_SAMSUNG_S6E8AA0 is not set
-# CONFIG_DRM_PANEL_SHARP_LQ101R1SX01 is not set
-# CONFIG_DRM_PANEL_SHARP_LS043T1LE01 is not set
CONFIG_DRM_BRIDGE=y
#
# Display Interface Bridges
#
CONFIG_DRM_ANALOGIX_ANX78XX=m
-# CONFIG_DRM_DUMB_VGA_DAC is not set
-# CONFIG_DRM_NXP_PTN3460 is not set
-# CONFIG_DRM_PARADE_PS8622 is not set
-# CONFIG_DRM_SII902X is not set
-# CONFIG_DRM_TOSHIBA_TC358767 is not set
-CONFIG_DRM_I2C_ADV7511=m
-# CONFIG_DRM_I2C_ADV7533 is not set
-# CONFIG_DRM_ARCPGU is not set
+CONFIG_HSA_AMD=m
# CONFIG_DRM_LEGACY is not set
#
@@ -5208,7 +5043,7 @@ CONFIG_FB=y
CONFIG_FIRMWARE_EDID=y
CONFIG_FB_CMDLINE=y
CONFIG_FB_NOTIFY=y
-CONFIG_FB_DDC=m
+# CONFIG_FB_DDC is not set
CONFIG_FB_BOOT_VESA_SUPPORT=y
CONFIG_FB_CFB_FILLRECT=y
CONFIG_FB_CFB_COPYAREA=y
@@ -5246,9 +5081,6 @@ CONFIG_FB_OPENCORES=m
# CONFIG_FB_NVIDIA is not set
# CONFIG_FB_RIVA is not set
# CONFIG_FB_I740 is not set
-CONFIG_FB_I810=m
-CONFIG_FB_I810_GTF=y
-CONFIG_FB_I810_I2C=y
# CONFIG_FB_LE80578 is not set
# CONFIG_FB_MATROX is not set
# CONFIG_FB_RADEON is not set
@@ -5269,19 +5101,18 @@ CONFIG_FB_VOODOO1=m
# CONFIG_FB_ARK is not set
# CONFIG_FB_PM3 is not set
# CONFIG_FB_CARMINE is not set
-# CONFIG_FB_GEODE is not set
# CONFIG_FB_SM501 is not set
# CONFIG_FB_SMSCUFX is not set
CONFIG_FB_UDL=m
# CONFIG_FB_IBM_GXT4500 is not set
CONFIG_FB_VIRTUAL=m
+CONFIG_XEN_FBDEV_FRONTEND=m
# CONFIG_FB_METRONOME is not set
# CONFIG_FB_MB862XX is not set
# CONFIG_FB_BROADSHEET is not set
# CONFIG_FB_AUO_K190X is not set
CONFIG_FB_HYPERV=m
# CONFIG_FB_SIMPLE is not set
-CONFIG_FB_SSD1307=m
# CONFIG_FB_SM712 is not set
CONFIG_BACKLIGHT_LCD_SUPPORT=y
CONFIG_LCD_CLASS_DEVICE=m
@@ -5301,17 +5132,13 @@ CONFIG_LCD_PLATFORM=m
CONFIG_BACKLIGHT_CLASS_DEVICE=y
# CONFIG_BACKLIGHT_GENERIC is not set
CONFIG_BACKLIGHT_LM3533=m
-# CONFIG_BACKLIGHT_PWM is not set
CONFIG_BACKLIGHT_APPLE=m
# CONFIG_BACKLIGHT_PM8941_WLED is not set
# CONFIG_BACKLIGHT_SAHARA is not set
# CONFIG_BACKLIGHT_ADP8860 is not set
# CONFIG_BACKLIGHT_ADP8870 is not set
CONFIG_BACKLIGHT_PCF50633=m
-CONFIG_BACKLIGHT_LM3630A=m
# CONFIG_BACKLIGHT_LM3639 is not set
-# CONFIG_BACKLIGHT_LP855X is not set
-# CONFIG_BACKLIGHT_OT200 is not set
# CONFIG_BACKLIGHT_TPS65217 is not set
# CONFIG_BACKLIGHT_GPIO is not set
# CONFIG_BACKLIGHT_LV5207LP is not set
@@ -5325,7 +5152,6 @@ CONFIG_HDMI=y
CONFIG_VGA_CONSOLE=y
CONFIG_VGACON_SOFT_SCROLLBACK=y
CONFIG_VGACON_SOFT_SCROLLBACK_SIZE=64
-# CONFIG_MDA_CONSOLE is not set
CONFIG_DUMMY_CONSOLE=y
CONFIG_DUMMY_CONSOLE_COLUMNS=80
CONFIG_DUMMY_CONSOLE_ROWS=25
@@ -5368,12 +5194,11 @@ CONFIG_SND_VMASTER=y
CONFIG_SND_DMA_SGBUF=y
CONFIG_SND_RAWMIDI_SEQ=m
CONFIG_SND_OPL3_LIB_SEQ=m
-CONFIG_SND_OPL4_LIB_SEQ=m
-CONFIG_SND_SBAWE_SEQ=m
+# CONFIG_SND_OPL4_LIB_SEQ is not set
+# CONFIG_SND_SBAWE_SEQ is not set
CONFIG_SND_EMU10K1_SEQ=m
CONFIG_SND_MPU401_UART=m
CONFIG_SND_OPL3_LIB=m
-CONFIG_SND_OPL4_LIB=m
CONFIG_SND_VX_LIB=m
CONFIG_SND_AC97_CODEC=m
CONFIG_SND_DRIVERS=y
@@ -5388,44 +5213,7 @@ CONFIG_SND_MPU401=m
CONFIG_SND_PORTMAN2X4=m
CONFIG_SND_AC97_POWER_SAVE=y
CONFIG_SND_AC97_POWER_SAVE_DEFAULT=0
-CONFIG_SND_WSS_LIB=m
CONFIG_SND_SB_COMMON=m
-CONFIG_SND_SB8_DSP=m
-CONFIG_SND_SB16_DSP=m
-CONFIG_SND_ISA=y
-CONFIG_SND_ADLIB=m
-CONFIG_SND_AD1816A=m
-CONFIG_SND_AD1848=m
-CONFIG_SND_ALS100=m
-CONFIG_SND_AZT1605=m
-CONFIG_SND_AZT2316=m
-CONFIG_SND_AZT2320=m
-CONFIG_SND_CMI8328=m
-CONFIG_SND_CMI8330=m
-CONFIG_SND_CS4231=m
-CONFIG_SND_CS4236=m
-CONFIG_SND_ES1688=m
-CONFIG_SND_ES18XX=m
-CONFIG_SND_SC6000=m
-CONFIG_SND_GUSCLASSIC=m
-CONFIG_SND_GUSEXTREME=m
-CONFIG_SND_GUSMAX=m
-CONFIG_SND_INTERWAVE=m
-CONFIG_SND_INTERWAVE_STB=m
-CONFIG_SND_JAZZ16=m
-CONFIG_SND_OPL3SA2=m
-CONFIG_SND_OPTI92X_AD1848=m
-CONFIG_SND_OPTI92X_CS4231=m
-CONFIG_SND_OPTI93X=m
-CONFIG_SND_MIRO=m
-CONFIG_SND_SB8=m
-CONFIG_SND_SB16=m
-CONFIG_SND_SBAWE=m
-CONFIG_SND_SB16_CSP=y
-CONFIG_SND_SSCAPE=m
-CONFIG_SND_WAVEFRONT=m
-CONFIG_SND_MSND_PINNACLE=m
-CONFIG_SND_MSND_CLASSIC=m
CONFIG_SND_PCI=y
CONFIG_SND_AD1889=m
CONFIG_SND_ALS300=m
@@ -5448,8 +5236,6 @@ CONFIG_SND_OXYGEN=m
CONFIG_SND_CS4281=m
CONFIG_SND_CS46XX=m
CONFIG_SND_CS46XX_NEW_DSP=y
-CONFIG_SND_CS5530=m
-CONFIG_SND_CS5535AUDIO=m
CONFIG_SND_CTXFI=m
CONFIG_SND_DARLA20=m
CONFIG_SND_GINA20=m
@@ -5493,7 +5279,6 @@ CONFIG_SND_RIPTIDE=m
CONFIG_SND_RME32=m
CONFIG_SND_RME96=m
CONFIG_SND_RME9652=m
-CONFIG_SND_SIS7019=m
CONFIG_SND_SONICVIBES=m
CONFIG_SND_TRIDENT=m
CONFIG_SND_VIA82XX=m
@@ -5710,7 +5495,6 @@ CONFIG_SND_SOC_NAU8825=m
# CONFIG_SND_SOC_TPA6130A2 is not set
CONFIG_SND_SIMPLE_CARD_UTILS=m
CONFIG_SND_SIMPLE_CARD=m
-# CONFIG_SND_SIMPLE_SCU_CARD is not set
# CONFIG_SOUND_PRIME is not set
CONFIG_AC97_BUS=m
@@ -5829,6 +5613,11 @@ CONFIG_USB_HIDDEV=y
# I2C HID support
#
CONFIG_I2C_HID=m
+
+#
+# Intel ISH HID support
+#
+CONFIG_INTEL_ISH_HID=m
CONFIG_USB_OHCI_LITTLE_ENDIAN=y
CONFIG_USB_SUPPORT=y
CONFIG_USB_COMMON=m
@@ -6055,8 +5844,6 @@ CONFIG_UWB_WHCI=m
CONFIG_UWB_I1480U=m
CONFIG_MMC=m
# CONFIG_MMC_DEBUG is not set
-CONFIG_PWRSEQ_EMMC=m
-CONFIG_PWRSEQ_SIMPLE=m
#
# MMC/SD/SDIO Card Drivers
@@ -6075,11 +5862,9 @@ CONFIG_MMC_SDHCI_PCI=m
CONFIG_MMC_RICOH_MMC=y
CONFIG_MMC_SDHCI_ACPI=m
CONFIG_MMC_SDHCI_PLTFM=m
-CONFIG_MMC_SDHCI_OF_ARASAN=m
-# CONFIG_MMC_SDHCI_OF_AT91 is not set
-# CONFIG_MMC_SDHCI_F_SDH30 is not set
CONFIG_MMC_WBSD=m
CONFIG_MMC_TIFM_SD=m
+CONFIG_MMC_SPI=m
CONFIG_MMC_SDRICOH_CS=m
CONFIG_MMC_CB710=m
CONFIG_MMC_VIA_SDMMC=m
@@ -6115,9 +5900,6 @@ CONFIG_LEDS_CLASS_FLASH=m
#
# LED drivers
#
-CONFIG_LEDS_AAT1290=m
-CONFIG_LEDS_BCM6328=m
-CONFIG_LEDS_BCM6358=m
CONFIG_LEDS_LM3530=m
CONFIG_LEDS_LM3533=m
CONFIG_LEDS_LM3642=m
@@ -6135,7 +5917,6 @@ CONFIG_LEDS_CLEVO_MAIL=m
CONFIG_LEDS_PCA955X=m
CONFIG_LEDS_PCA963X=m
CONFIG_LEDS_DAC124S085=m
-CONFIG_LEDS_PWM=m
CONFIG_LEDS_BD2802=m
CONFIG_LEDS_INTEL_SS4200=m
CONFIG_LEDS_LT3593=m
@@ -6144,15 +5925,12 @@ CONFIG_LEDS_MC13783=m
CONFIG_LEDS_TCA6507=m
CONFIG_LEDS_TLC591XX=m
CONFIG_LEDS_LM355x=m
-CONFIG_LEDS_OT200=m
-CONFIG_LEDS_KTD2692=m
-# CONFIG_LEDS_IS31FL319X is not set
-# CONFIG_LEDS_IS31FL32XX is not set
#
# LED driver for blink(1) USB RGB LED is under Special HID drivers (HID_THINGM)
#
CONFIG_LEDS_BLINKM=m
+CONFIG_LEDS_MLXCPLD=m
#
# LED Triggers
@@ -6185,6 +5963,8 @@ CONFIG_INFINIBAND_ADDR_TRANS=y
CONFIG_INFINIBAND_ADDR_TRANS_CONFIGFS=y
CONFIG_INFINIBAND_MTHCA=m
CONFIG_INFINIBAND_MTHCA_DEBUG=y
+CONFIG_INFINIBAND_QIB=m
+# CONFIG_INFINIBAND_QIB_DCA is not set
CONFIG_INFINIBAND_CXGB3=m
# CONFIG_INFINIBAND_CXGB3_DEBUG is not set
CONFIG_INFINIBAND_CXGB4=m
@@ -6203,7 +5983,13 @@ CONFIG_INFINIBAND_SRP=m
CONFIG_INFINIBAND_SRPT=m
CONFIG_INFINIBAND_ISER=m
CONFIG_INFINIBAND_ISERT=m
+CONFIG_INFINIBAND_RDMAVT=m
CONFIG_RDMA_RXE=m
+CONFIG_INFINIBAND_HFI1=m
+# CONFIG_HFI1_DEBUG_SDMA_ORDER is not set
+CONFIG_HFI1_VERBS_31BIT_PSN=y
+# CONFIG_SDMA_VERBOSITY is not set
+# CONFIG_INFINIBAND_QEDR is not set
CONFIG_EDAC_ATOMIC_SCRUB=y
CONFIG_EDAC_SUPPORT=y
CONFIG_EDAC=y
@@ -6212,11 +5998,8 @@ CONFIG_EDAC_LEGACY_SYSFS=y
CONFIG_EDAC_DECODE_MCE=m
CONFIG_EDAC_MM_EDAC=m
CONFIG_EDAC_AMD64=m
-CONFIG_EDAC_AMD64_ERROR_INJECTION=y
-CONFIG_EDAC_AMD76X=m
-CONFIG_EDAC_E7XXX=m
+# CONFIG_EDAC_AMD64_ERROR_INJECTION is not set
CONFIG_EDAC_E752X=m
-CONFIG_EDAC_I82875P=m
CONFIG_EDAC_I82975X=m
CONFIG_EDAC_I3000=m
CONFIG_EDAC_I3200=m
@@ -6224,11 +6007,11 @@ CONFIG_EDAC_IE31200=m
CONFIG_EDAC_X38=m
CONFIG_EDAC_I5400=m
CONFIG_EDAC_I7CORE=m
-CONFIG_EDAC_I82860=m
-CONFIG_EDAC_R82600=m
CONFIG_EDAC_I5000=m
CONFIG_EDAC_I5100=m
CONFIG_EDAC_I7300=m
+CONFIG_EDAC_SBRIDGE=m
+CONFIG_EDAC_SKX=m
CONFIG_RTC_LIB=y
CONFIG_RTC_MC146818_LIB=y
CONFIG_RTC_CLASS=y
@@ -6258,9 +6041,7 @@ CONFIG_RTC_DRV_DS1307_HWMON=y
CONFIG_RTC_DRV_DS1374=m
CONFIG_RTC_DRV_DS1374_WDT=y
CONFIG_RTC_DRV_DS1672=m
-CONFIG_RTC_DRV_HYM8563=m
CONFIG_RTC_DRV_MAX6900=m
-CONFIG_RTC_DRV_RK808=m
CONFIG_RTC_DRV_RS5C372=m
CONFIG_RTC_DRV_ISL1208=m
CONFIG_RTC_DRV_ISL12022=m
@@ -6334,13 +6115,11 @@ CONFIG_RTC_DRV_BQ4802=m
CONFIG_RTC_DRV_RP5C01=m
CONFIG_RTC_DRV_V3020=m
CONFIG_RTC_DRV_PCF50633=m
-CONFIG_RTC_DRV_ZYNQMP=m
#
# on-CPU RTC drivers
#
CONFIG_RTC_DRV_MC13XXX=m
-CONFIG_RTC_DRV_SNVS=m
#
# HID Sensor RTC drivers
@@ -6355,10 +6134,9 @@ CONFIG_DMADEVICES=y
CONFIG_DMA_ENGINE=y
CONFIG_DMA_VIRTUAL_CHANNELS=y
CONFIG_DMA_ACPI=y
-CONFIG_DMA_OF=y
-CONFIG_FSL_EDMA=m
CONFIG_INTEL_IDMA64=m
-CONFIG_PCH_DMA=m
+CONFIG_INTEL_IOATDMA=m
+CONFIG_INTEL_MIC_X100_DMA=m
# CONFIG_QCOM_HIDMA_MGMT is not set
# CONFIG_QCOM_HIDMA is not set
CONFIG_DW_DMAC_CORE=y
@@ -6371,12 +6149,14 @@ CONFIG_HSU_DMA=y
#
CONFIG_ASYNC_TX_DMA=y
# CONFIG_DMATEST is not set
+CONFIG_DMA_ENGINE_RAID=y
#
# DMABUF options
#
CONFIG_SYNC_FILE=y
# CONFIG_SW_SYNC is not set
+CONFIG_DCA=m
CONFIG_AUXDISPLAY=y
CONFIG_KS0108=m
CONFIG_KS0108_PORT=0x378
@@ -6423,6 +6203,36 @@ CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES=y
CONFIG_HYPERV=m
CONFIG_HYPERV_UTILS=m
CONFIG_HYPERV_BALLOON=m
+
+#
+# Xen driver support
+#
+CONFIG_XEN_BALLOON=y
+# CONFIG_XEN_SELFBALLOONING is not set
+CONFIG_XEN_BALLOON_MEMORY_HOTPLUG=y
+CONFIG_XEN_BALLOON_MEMORY_HOTPLUG_LIMIT=512
+CONFIG_XEN_SCRUB_PAGES=y
+CONFIG_XEN_DEV_EVTCHN=m
+CONFIG_XEN_BACKEND=y
+CONFIG_XENFS=m
+CONFIG_XEN_COMPAT_XENFS=y
+CONFIG_XEN_SYS_HYPERVISOR=y
+CONFIG_XEN_XENBUS_FRONTEND=y
+CONFIG_XEN_GNTDEV=m
+CONFIG_XEN_GRANT_DEV_ALLOC=m
+CONFIG_SWIOTLB_XEN=y
+CONFIG_XEN_TMEM=m
+CONFIG_XEN_PCIDEV_BACKEND=m
+CONFIG_XEN_SCSI_BACKEND=m
+CONFIG_XEN_PRIVCMD=m
+CONFIG_XEN_ACPI_PROCESSOR=m
+# CONFIG_XEN_MCE_LOG is not set
+CONFIG_XEN_HAVE_PVMMU=y
+CONFIG_XEN_EFI=y
+CONFIG_XEN_AUTO_XLATE=y
+CONFIG_XEN_ACPI=y
+CONFIG_XEN_SYMS=y
+CONFIG_XEN_HAVE_VPMU=y
CONFIG_STAGING=y
CONFIG_SLICOSS=m
CONFIG_PRISM2_USB=m
@@ -6435,53 +6245,7 @@ CONFIG_COMEDI_BOND=m
CONFIG_COMEDI_TEST=m
CONFIG_COMEDI_PARPORT=m
CONFIG_COMEDI_SERIAL2002=m
-CONFIG_COMEDI_SSV_DNP=m
-CONFIG_COMEDI_ISA_DRIVERS=y
-CONFIG_COMEDI_PCL711=m
-CONFIG_COMEDI_PCL724=m
-CONFIG_COMEDI_PCL726=m
-CONFIG_COMEDI_PCL730=m
-CONFIG_COMEDI_PCL812=m
-CONFIG_COMEDI_PCL816=m
-CONFIG_COMEDI_PCL818=m
-CONFIG_COMEDI_PCM3724=m
-CONFIG_COMEDI_AMPLC_DIO200_ISA=m
-CONFIG_COMEDI_AMPLC_PC236_ISA=m
-CONFIG_COMEDI_AMPLC_PC263_ISA=m
-CONFIG_COMEDI_RTI800=m
-CONFIG_COMEDI_RTI802=m
-CONFIG_COMEDI_DAC02=m
-CONFIG_COMEDI_DAS16M1=m
-CONFIG_COMEDI_DAS08_ISA=m
-CONFIG_COMEDI_DAS16=m
-CONFIG_COMEDI_DAS800=m
-CONFIG_COMEDI_DAS1800=m
-CONFIG_COMEDI_DAS6402=m
-CONFIG_COMEDI_DT2801=m
-CONFIG_COMEDI_DT2811=m
-CONFIG_COMEDI_DT2814=m
-CONFIG_COMEDI_DT2815=m
-CONFIG_COMEDI_DT2817=m
-CONFIG_COMEDI_DT282X=m
-CONFIG_COMEDI_DMM32AT=m
-CONFIG_COMEDI_FL512=m
-CONFIG_COMEDI_AIO_AIO12_8=m
-CONFIG_COMEDI_AIO_IIRO_16=m
-CONFIG_COMEDI_II_PCI20KC=m
-CONFIG_COMEDI_C6XDIGIO=m
-CONFIG_COMEDI_MPC624=m
-CONFIG_COMEDI_ADQ12B=m
-CONFIG_COMEDI_NI_AT_A2150=m
-CONFIG_COMEDI_NI_AT_AO=m
-CONFIG_COMEDI_NI_ATMIO=m
-CONFIG_COMEDI_NI_ATMIO16D=m
-CONFIG_COMEDI_NI_LABPC_ISA=m
-CONFIG_COMEDI_PCMAD=m
-CONFIG_COMEDI_PCMDA12=m
-CONFIG_COMEDI_PCMMIO=m
-CONFIG_COMEDI_PCMUIO=m
-CONFIG_COMEDI_MULTIQ3=m
-CONFIG_COMEDI_S526=m
+# CONFIG_COMEDI_ISA_DRIVERS is not set
CONFIG_COMEDI_PCI_DRIVERS=m
CONFIG_COMEDI_8255_PCI=m
CONFIG_COMEDI_ADDI_WATCHDOG=m
@@ -6524,7 +6288,7 @@ CONFIG_COMEDI_KE_COUNTER=m
CONFIG_COMEDI_CB_PCIDAS64=m
CONFIG_COMEDI_CB_PCIDAS=m
CONFIG_COMEDI_CB_PCIDDA=m
-# CONFIG_COMEDI_CB_PCIMDAS is not set
+CONFIG_COMEDI_CB_PCIMDAS=m
CONFIG_COMEDI_CB_PCIMDDA=m
CONFIG_COMEDI_ME4000=m
CONFIG_COMEDI_ME_DAQ=m
@@ -6561,13 +6325,8 @@ CONFIG_COMEDI_KCOMEDILIB=m
CONFIG_COMEDI_AMPLC_DIO200=m
CONFIG_COMEDI_AMPLC_PC236=m
CONFIG_COMEDI_DAS08=m
-CONFIG_COMEDI_ISADMA=m
CONFIG_COMEDI_NI_LABPC=m
-CONFIG_COMEDI_NI_LABPC_ISADMA=m
CONFIG_COMEDI_NI_TIO=m
-CONFIG_FB_OLPC_DCON=m
-CONFIG_FB_OLPC_DCON_1=y
-CONFIG_FB_OLPC_DCON_1_5=y
CONFIG_RTL8192U=m
CONFIG_RTLLIB=m
CONFIG_RTLLIB_CRYPTO_CCMP=m
@@ -6634,7 +6393,7 @@ CONFIG_VT6656=m
#
# Light sensors
#
-# CONFIG_SENSORS_ISL29018 is not set
+CONFIG_SENSORS_ISL29018=m
# CONFIG_SENSORS_ISL29028 is not set
# CONFIG_TSL2583 is not set
# CONFIG_TSL2x7x is not set
@@ -6666,15 +6425,11 @@ CONFIG_FB_XGI=m
#
CONFIG_SPEAKUP=m
CONFIG_SPEAKUP_SYNTH_ACNTSA=m
-CONFIG_SPEAKUP_SYNTH_ACNTPC=m
CONFIG_SPEAKUP_SYNTH_APOLLO=m
CONFIG_SPEAKUP_SYNTH_AUDPTR=m
CONFIG_SPEAKUP_SYNTH_BNS=m
CONFIG_SPEAKUP_SYNTH_DECTLK=m
CONFIG_SPEAKUP_SYNTH_DECEXT=m
-CONFIG_SPEAKUP_SYNTH_DECPC=m
-CONFIG_SPEAKUP_SYNTH_DTLK=m
-CONFIG_SPEAKUP_SYNTH_KEYPC=m
CONFIG_SPEAKUP_SYNTH_LTLK=m
CONFIG_SPEAKUP_SYNTH_SOFT=m
CONFIG_SPEAKUP_SYNTH_SPKOUT=m
@@ -6697,7 +6452,6 @@ CONFIG_LIRC_ZILOG=m
#
# Android
#
-# CONFIG_STAGING_BOARD is not set
CONFIG_LTE_GDM724X=m
CONFIG_FIREWIRE_SERIAL=m
CONFIG_FWTTY_MAX_TOTAL_PORTS=64
@@ -6710,7 +6464,8 @@ CONFIG_LUSTRE_OBD_MAX_IOCTL_BUFFER=8192
# CONFIG_LUSTRE_DEBUG_EXPENSIVE_CHECK is not set
CONFIG_DGNC=m
CONFIG_GS_FPGABOOT=m
-CONFIG_COMMON_CLK_XLNX_CLKWZRD=m
+# CONFIG_CRYPTO_SKEIN is not set
+# CONFIG_UNISYSSPAR is not set
# CONFIG_FB_TFT is not set
# CONFIG_WILC1000_SDIO is not set
# CONFIG_WILC1000_SPI is not set
@@ -6719,9 +6474,6 @@ CONFIG_COMMON_CLK_XLNX_CLKWZRD=m
#
# Old ISDN4Linux (deprecated)
#
-CONFIG_ISDN_DRV_ICN=m
-CONFIG_ISDN_DRV_PCBIT=m
-CONFIG_ISDN_DRV_ACT2000=m
# CONFIG_KS7010 is not set
# CONFIG_GREYBUS is not set
CONFIG_X86_PLATFORM_DEVICES=y
@@ -6739,7 +6491,6 @@ CONFIG_FUJITSU_LAPTOP=m
# CONFIG_FUJITSU_LAPTOP_DEBUG is not set
CONFIG_FUJITSU_TABLET=m
CONFIG_AMILO_RFKILL=m
-CONFIG_TC1100_WMI=m
CONFIG_HP_ACCEL=m
CONFIG_HP_WIRELESS=m
CONFIG_HP_WMI=m
@@ -6776,8 +6527,6 @@ CONFIG_INTEL_VBTN=m
CONFIG_INTEL_IPS=m
CONFIG_INTEL_PMC_CORE=y
CONFIG_IBM_RTL=m
-CONFIG_XO1_RFKILL=m
-CONFIG_XO15_EBOOK=m
CONFIG_SAMSUNG_LAPTOP=m
CONFIG_MXM_WMI=m
CONFIG_INTEL_OAKTRAIL=m
@@ -6789,6 +6538,7 @@ CONFIG_PVPANIC=m
CONFIG_INTEL_PMC_IPC=m
CONFIG_SURFACE_PRO3_BUTTON=m
CONFIG_INTEL_PUNIT_IPC=m
+CONFIG_INTEL_TELEMETRY=m
CONFIG_CHROME_PLATFORMS=y
CONFIG_CHROMEOS_LAPTOP=m
CONFIG_CHROMEOS_PSTORE=m
@@ -6803,15 +6553,10 @@ CONFIG_COMMON_CLK=y
#
# Common Clock Framework
#
-CONFIG_COMMON_CLK_RK808=m
# CONFIG_COMMON_CLK_SI5351 is not set
-# CONFIG_COMMON_CLK_SI514 is not set
-# CONFIG_COMMON_CLK_SI570 is not set
# CONFIG_COMMON_CLK_CDCE706 is not set
-# CONFIG_COMMON_CLK_CDCE925 is not set
# CONFIG_COMMON_CLK_CS2000_CP is not set
# CONFIG_COMMON_CLK_NXP is not set
-# CONFIG_COMMON_CLK_PWM is not set
# CONFIG_COMMON_CLK_PXA is not set
# CONFIG_COMMON_CLK_PIC32 is not set
@@ -6822,7 +6567,6 @@ CONFIG_COMMON_CLK_RK808=m
#
# Clock Source drivers
#
-CONFIG_CLKSRC_I8253=y
CONFIG_CLKEVT_I8253=y
CONFIG_I8253_LOCK=y
CONFIG_CLKBLD_I8253=y
@@ -6839,12 +6583,14 @@ CONFIG_IOMMU_SUPPORT=y
# Generic IOMMU Pagetable Support
#
CONFIG_IOMMU_IOVA=y
-CONFIG_OF_IOMMU=y
+CONFIG_AMD_IOMMU=y
+CONFIG_AMD_IOMMU_V2=m
CONFIG_DMAR_TABLE=y
CONFIG_INTEL_IOMMU=y
CONFIG_INTEL_IOMMU_SVM=y
# CONFIG_INTEL_IOMMU_DEFAULT_ON is not set
CONFIG_INTEL_IOMMU_FLOPPY_WA=y
+CONFIG_IRQ_REMAP=y
#
# Remoteproc drivers
@@ -6911,7 +6657,6 @@ CONFIG_IIO_SW_TRIGGER=m
# CONFIG_BMA180 is not set
# CONFIG_BMA220 is not set
# CONFIG_BMC150_ACCEL is not set
-# CONFIG_DMARD06 is not set
# CONFIG_DMARD09 is not set
CONFIG_HID_SENSOR_ACCEL_3D=m
CONFIG_IIO_ST_ACCEL_3AXIS=m
@@ -6953,16 +6698,13 @@ CONFIG_MMA7660=m
# CONFIG_NAU7802 is not set
# CONFIG_QCOM_SPMI_IADC is not set
# CONFIG_QCOM_SPMI_VADC is not set
-# CONFIG_STX104 is not set
# CONFIG_TI_ADC081C is not set
# CONFIG_TI_ADC0832 is not set
# CONFIG_TI_ADC12138 is not set
# CONFIG_TI_ADC128S052 is not set
# CONFIG_TI_ADC161S626 is not set
# CONFIG_TI_ADS1015 is not set
-# CONFIG_TI_ADS8688 is not set
# CONFIG_TI_AM335X_ADC is not set
-# CONFIG_VF610_ADC is not set
# CONFIG_VIPERBOARD_ADC is not set
#
@@ -7010,14 +6752,11 @@ CONFIG_IIO_ST_SENSORS_CORE=m
# CONFIG_AD5764 is not set
# CONFIG_AD5791 is not set
# CONFIG_AD7303 is not set
-# CONFIG_CIO_DAC is not set
# CONFIG_AD8801 is not set
# CONFIG_M62332 is not set
# CONFIG_MAX517 is not set
-# CONFIG_MAX5821 is not set
# CONFIG_MCP4725 is not set
# CONFIG_MCP4922 is not set
-# CONFIG_VF610_DAC is not set
#
# IIO dummy driver
@@ -7082,9 +6821,8 @@ CONFIG_MAX30100=m
# CONFIG_BMI160_I2C is not set
# CONFIG_BMI160_SPI is not set
# CONFIG_KMX61 is not set
-CONFIG_INV_MPU6050_IIO=m
# CONFIG_INV_MPU6050_I2C is not set
-CONFIG_INV_MPU6050_SPI=m
+# CONFIG_INV_MPU6050_SPI is not set
#
# Light sensors
@@ -7124,7 +6862,6 @@ CONFIG_STK3310=m
#
# Magnetometer sensors
#
-# CONFIG_AK8974 is not set
# CONFIG_AK8975 is not set
# CONFIG_AK09911 is not set
# CONFIG_BMC150_MAGN_I2C is not set
@@ -7199,17 +6936,7 @@ CONFIG_IIO_TIGHTLOOP_TRIGGER=m
# CONFIG_TSYS02D is not set
# CONFIG_NTB is not set
# CONFIG_VME_BUS is not set
-CONFIG_PWM=y
-CONFIG_PWM_SYSFS=y
-# CONFIG_PWM_CRC is not set
-# CONFIG_PWM_CROS_EC is not set
-CONFIG_PWM_FSL_FTM=m
-# CONFIG_PWM_LP3943 is not set
-CONFIG_PWM_LPSS=m
-CONFIG_PWM_LPSS_PCI=m
-CONFIG_PWM_LPSS_PLATFORM=m
-# CONFIG_PWM_PCA9685 is not set
-CONFIG_IRQCHIP=y
+# CONFIG_PWM is not set
CONFIG_ARM_GIC_MAX_NR=1
CONFIG_IPACK_BUS=m
CONFIG_BOARD_TPCI200=m
@@ -7253,7 +6980,17 @@ CONFIG_THUNDERBOLT=m
# Android
#
# CONFIG_ANDROID is not set
+CONFIG_LIBNVDIMM=y
+CONFIG_BLK_DEV_PMEM=m
+CONFIG_ND_BLK=m
+CONFIG_ND_CLAIM=y
+CONFIG_ND_BTT=m
+CONFIG_BTT=y
+CONFIG_ND_PFN=m
+CONFIG_NVDIMM_PFN=y
+CONFIG_NVDIMM_DAX=y
CONFIG_DEV_DAX=m
+CONFIG_DEV_DAX_PMEM=m
CONFIG_NR_DEV_DAX=32768
CONFIG_NVMEM=m
CONFIG_STM=m
@@ -7380,6 +7117,7 @@ CONFIG_QUOTA_TREE=m
CONFIG_QFMT_V1=m
CONFIG_QFMT_V2=m
CONFIG_QUOTACTL=y
+CONFIG_QUOTACTL_COMPAT=y
CONFIG_AUTOFS4_FS=y
CONFIG_FUSE_FS=m
CONFIG_CUSE=m
@@ -7435,6 +7173,7 @@ CONFIG_TMPFS_POSIX_ACL=y
CONFIG_TMPFS_XATTR=y
CONFIG_HUGETLBFS=y
CONFIG_HUGETLB_PAGE=y
+CONFIG_ARCH_HAS_GIGANTIC_PAGE=y
CONFIG_CONFIGFS_FS=y
CONFIG_EFIVAR_FS=y
CONFIG_MISC_FILESYSTEMS=y
@@ -7649,7 +7388,7 @@ CONFIG_DYNAMIC_DEBUG=y
# CONFIG_DEBUG_INFO is not set
# CONFIG_ENABLE_WARN_DEPRECATED is not set
# CONFIG_ENABLE_MUST_CHECK is not set
-CONFIG_FRAME_WARN=1024
+CONFIG_FRAME_WARN=2048
CONFIG_STRIP_ASM_SYMS=y
# CONFIG_READABLE_ASM is not set
CONFIG_UNUSED_SYMBOLS=y
@@ -7660,6 +7399,7 @@ CONFIG_DEBUG_FS=y
CONFIG_SECTION_MISMATCH_WARN_ONLY=y
CONFIG_ARCH_WANT_FRAME_POINTERS=y
CONFIG_FRAME_POINTER=y
+CONFIG_STACK_VALIDATION=y
# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
CONFIG_MAGIC_SYSRQ=y
CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x0
@@ -7682,10 +7422,13 @@ CONFIG_HAVE_DEBUG_KMEMLEAK=y
# CONFIG_DEBUG_VIRTUAL is not set
CONFIG_DEBUG_MEMORY_INIT=y
# CONFIG_DEBUG_PER_CPU_MAPS is not set
-# CONFIG_DEBUG_HIGHMEM is not set
CONFIG_HAVE_DEBUG_STACKOVERFLOW=y
# CONFIG_DEBUG_STACKOVERFLOW is not set
CONFIG_HAVE_ARCH_KMEMCHECK=y
+CONFIG_HAVE_ARCH_KASAN=y
+# CONFIG_KASAN is not set
+CONFIG_ARCH_HAS_KCOV=y
+# CONFIG_KCOV is not set
# CONFIG_DEBUG_SHIRQ is not set
#
@@ -7759,6 +7502,7 @@ CONFIG_HAVE_DYNAMIC_FTRACE=y
CONFIG_HAVE_DYNAMIC_FTRACE_WITH_REGS=y
CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
CONFIG_HAVE_SYSCALL_TRACEPOINTS=y
+CONFIG_HAVE_FENTRY=y
CONFIG_HAVE_C_RECORDMCOUNT=y
CONFIG_TRACER_MAX_TRACE=y
CONFIG_TRACE_CLOCK=y
@@ -7852,6 +7596,7 @@ CONFIG_DEBUG_SET_MODULE_RONX=y
# CONFIG_DEBUG_NX_TEST is not set
CONFIG_DOUBLEFAULT=y
# CONFIG_DEBUG_TLBFLUSH is not set
+# CONFIG_IOMMU_DEBUG is not set
# CONFIG_IOMMU_STRESS is not set
CONFIG_HAVE_MMIOTRACE_SUPPORT=y
# CONFIG_X86_DECODER_SELFTEST is not set
@@ -7877,6 +7622,7 @@ CONFIG_DEFAULT_IO_DELAY_TYPE=0
#
CONFIG_KEYS=y
CONFIG_PERSISTENT_KEYRINGS=y
+# CONFIG_BIG_KEYS is not set
CONFIG_TRUSTED_KEYS=m
CONFIG_ENCRYPTED_KEYS=m
CONFIG_KEY_DH_OPERATIONS=y
@@ -7982,8 +7728,10 @@ CONFIG_CRYPTO_CRC32C_INTEL=m
CONFIG_CRYPTO_CRC32=m
CONFIG_CRYPTO_CRC32_PCLMUL=m
CONFIG_CRYPTO_CRCT10DIF=y
+CONFIG_CRYPTO_CRCT10DIF_PCLMUL=m
CONFIG_CRYPTO_GHASH=m
CONFIG_CRYPTO_POLY1305=m
+CONFIG_CRYPTO_POLY1305_X86_64=m
CONFIG_CRYPTO_MD4=m
CONFIG_CRYPTO_MD5=y
CONFIG_CRYPTO_MICHAEL_MIC=m
@@ -7992,39 +7740,58 @@ CONFIG_CRYPTO_RMD160=m
CONFIG_CRYPTO_RMD256=m
CONFIG_CRYPTO_RMD320=m
CONFIG_CRYPTO_SHA1=m
+CONFIG_CRYPTO_SHA1_SSSE3=m
+CONFIG_CRYPTO_SHA256_SSSE3=m
+CONFIG_CRYPTO_SHA512_SSSE3=m
+CONFIG_CRYPTO_SHA1_MB=m
+CONFIG_CRYPTO_SHA256_MB=m
+CONFIG_CRYPTO_SHA512_MB=m
CONFIG_CRYPTO_SHA256=m
CONFIG_CRYPTO_SHA512=m
CONFIG_CRYPTO_SHA3=m
CONFIG_CRYPTO_TGR192=m
CONFIG_CRYPTO_WP512=m
+CONFIG_CRYPTO_GHASH_CLMUL_NI_INTEL=m
#
# Ciphers
#
CONFIG_CRYPTO_AES=y
-CONFIG_CRYPTO_AES_586=m
+CONFIG_CRYPTO_AES_X86_64=m
CONFIG_CRYPTO_AES_NI_INTEL=m
CONFIG_CRYPTO_ANUBIS=m
CONFIG_CRYPTO_ARC4=m
CONFIG_CRYPTO_BLOWFISH=m
CONFIG_CRYPTO_BLOWFISH_COMMON=m
+CONFIG_CRYPTO_BLOWFISH_X86_64=m
CONFIG_CRYPTO_CAMELLIA=m
+CONFIG_CRYPTO_CAMELLIA_X86_64=m
+CONFIG_CRYPTO_CAMELLIA_AESNI_AVX_X86_64=m
+CONFIG_CRYPTO_CAMELLIA_AESNI_AVX2_X86_64=m
CONFIG_CRYPTO_CAST_COMMON=m
CONFIG_CRYPTO_CAST5=m
+CONFIG_CRYPTO_CAST5_AVX_X86_64=m
CONFIG_CRYPTO_CAST6=m
+CONFIG_CRYPTO_CAST6_AVX_X86_64=m
CONFIG_CRYPTO_DES=m
+CONFIG_CRYPTO_DES3_EDE_X86_64=m
CONFIG_CRYPTO_FCRYPT=m
CONFIG_CRYPTO_KHAZAD=m
CONFIG_CRYPTO_SALSA20=m
-CONFIG_CRYPTO_SALSA20_586=m
+CONFIG_CRYPTO_SALSA20_X86_64=m
CONFIG_CRYPTO_CHACHA20=m
+CONFIG_CRYPTO_CHACHA20_X86_64=m
CONFIG_CRYPTO_SEED=m
CONFIG_CRYPTO_SERPENT=m
-CONFIG_CRYPTO_SERPENT_SSE2_586=m
+CONFIG_CRYPTO_SERPENT_SSE2_X86_64=m
+CONFIG_CRYPTO_SERPENT_AVX_X86_64=m
+CONFIG_CRYPTO_SERPENT_AVX2_X86_64=m
CONFIG_CRYPTO_TEA=m
CONFIG_CRYPTO_TWOFISH=m
CONFIG_CRYPTO_TWOFISH_COMMON=m
-CONFIG_CRYPTO_TWOFISH_586=m
+CONFIG_CRYPTO_TWOFISH_X86_64=m
+CONFIG_CRYPTO_TWOFISH_X86_64_3WAY=m
+CONFIG_CRYPTO_TWOFISH_AVX_X86_64=m
#
# Compression
@@ -8055,9 +7822,6 @@ CONFIG_CRYPTO_HW=y
CONFIG_CRYPTO_DEV_PADLOCK=m
CONFIG_CRYPTO_DEV_PADLOCK_AES=m
CONFIG_CRYPTO_DEV_PADLOCK_SHA=m
-CONFIG_CRYPTO_DEV_GEODE=m
-CONFIG_CRYPTO_DEV_HIFN_795X=m
-CONFIG_CRYPTO_DEV_HIFN_795X_RNG=y
CONFIG_CRYPTO_DEV_CCP=y
CONFIG_CRYPTO_DEV_CCP_DD=m
CONFIG_CRYPTO_DEV_CCP_CRYPTO=m
@@ -8092,6 +7856,7 @@ CONFIG_HAVE_KVM_MSI=y
CONFIG_HAVE_KVM_CPU_RELAX_INTERCEPT=y
CONFIG_KVM_VFIO=y
CONFIG_KVM_GENERIC_DIRTYLOG_READ_PROTECT=y
+CONFIG_KVM_COMPAT=y
CONFIG_HAVE_KVM_IRQ_BYPASS=y
CONFIG_VIRTUALIZATION=y
CONFIG_KVM=m
@@ -8104,7 +7869,6 @@ CONFIG_VHOST_SCSI=m
CONFIG_VHOST_VSOCK=m
CONFIG_VHOST=m
# CONFIG_VHOST_CROSS_ENDIAN_LEGACY is not set
-# CONFIG_LGUEST is not set
CONFIG_BINARY_PRINTF=y
#
@@ -8121,6 +7885,7 @@ CONFIG_GENERIC_FIND_FIRST_BIT=y
CONFIG_GENERIC_PCI_IOMAP=y
CONFIG_GENERIC_IOMAP=y
CONFIG_GENERIC_IO=y
+CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y
CONFIG_ARCH_HAS_FAST_MULTIPLIER=y
CONFIG_CRC_CCITT=y
CONFIG_CRC16=m
@@ -8207,5 +7972,6 @@ CONFIG_FONT_AUTOSELECT=y
# CONFIG_SG_SPLIT is not set
CONFIG_SG_POOL=y
CONFIG_ARCH_HAS_SG_CHAIN=y
+CONFIG_ARCH_HAS_PMEM_API=y
CONFIG_ARCH_HAS_MMIO_FLUSH=y
CONFIG_SBITMAP=y
diff --git a/abs/core/linux/config.x86_64 b/abs/core/linux/config.x86_64
deleted file mode 100644
index a12945a..0000000
--- a/abs/core/linux/config.x86_64
+++ /dev/null
@@ -1,7976 +0,0 @@
-#
-# Automatically generated file; DO NOT EDIT.
-# Linux/x86 4.9.13-1 Kernel Configuration
-#
-CONFIG_64BIT=y
-CONFIG_X86_64=y
-CONFIG_X86=y
-CONFIG_INSTRUCTION_DECODER=y
-CONFIG_OUTPUT_FORMAT="elf64-x86-64"
-CONFIG_ARCH_DEFCONFIG="arch/x86/configs/x86_64_defconfig"
-CONFIG_LOCKDEP_SUPPORT=y
-CONFIG_STACKTRACE_SUPPORT=y
-CONFIG_MMU=y
-CONFIG_ARCH_MMAP_RND_BITS_MIN=28
-CONFIG_ARCH_MMAP_RND_BITS_MAX=32
-CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MIN=8
-CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MAX=16
-CONFIG_NEED_DMA_MAP_STATE=y
-CONFIG_NEED_SG_DMA_LENGTH=y
-CONFIG_GENERIC_ISA_DMA=y
-CONFIG_GENERIC_BUG=y
-CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y
-CONFIG_GENERIC_HWEIGHT=y
-CONFIG_ARCH_MAY_HAVE_PC_FDC=y
-CONFIG_RWSEM_XCHGADD_ALGORITHM=y
-CONFIG_GENERIC_CALIBRATE_DELAY=y
-CONFIG_ARCH_HAS_CPU_RELAX=y
-CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y
-CONFIG_HAVE_SETUP_PER_CPU_AREA=y
-CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y
-CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y
-CONFIG_ARCH_HIBERNATION_POSSIBLE=y
-CONFIG_ARCH_SUSPEND_POSSIBLE=y
-CONFIG_ARCH_WANT_HUGE_PMD_SHARE=y
-CONFIG_ARCH_WANT_GENERAL_HUGETLB=y
-CONFIG_ZONE_DMA32=y
-CONFIG_AUDIT_ARCH=y
-CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y
-CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
-CONFIG_HAVE_INTEL_TXT=y
-CONFIG_X86_64_SMP=y
-CONFIG_ARCH_SUPPORTS_UPROBES=y
-CONFIG_FIX_EARLYCON_MEM=y
-CONFIG_DEBUG_RODATA=y
-CONFIG_PGTABLE_LEVELS=4
-CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
-CONFIG_IRQ_WORK=y
-CONFIG_BUILDTIME_EXTABLE_SORT=y
-CONFIG_THREAD_INFO_IN_TASK=y
-
-#
-# General setup
-#
-CONFIG_INIT_ENV_ARG_LIMIT=32
-CONFIG_CROSS_COMPILE=""
-# CONFIG_COMPILE_TEST is not set
-CONFIG_LOCALVERSION="-ARCH"
-# CONFIG_LOCALVERSION_AUTO is not set
-CONFIG_HAVE_KERNEL_GZIP=y
-CONFIG_HAVE_KERNEL_BZIP2=y
-CONFIG_HAVE_KERNEL_LZMA=y
-CONFIG_HAVE_KERNEL_XZ=y
-CONFIG_HAVE_KERNEL_LZO=y
-CONFIG_HAVE_KERNEL_LZ4=y
-CONFIG_KERNEL_GZIP=y
-# CONFIG_KERNEL_BZIP2 is not set
-# CONFIG_KERNEL_LZMA is not set
-# CONFIG_KERNEL_XZ is not set
-# CONFIG_KERNEL_LZO is not set
-# CONFIG_KERNEL_LZ4 is not set
-CONFIG_DEFAULT_HOSTNAME="(none)"
-CONFIG_SWAP=y
-CONFIG_SYSVIPC=y
-CONFIG_SYSVIPC_SYSCTL=y
-CONFIG_POSIX_MQUEUE=y
-CONFIG_POSIX_MQUEUE_SYSCTL=y
-CONFIG_CROSS_MEMORY_ATTACH=y
-CONFIG_FHANDLE=y
-# CONFIG_USELIB is not set
-# CONFIG_AUDIT is not set
-CONFIG_HAVE_ARCH_AUDITSYSCALL=y
-
-#
-# IRQ subsystem
-#
-CONFIG_GENERIC_IRQ_PROBE=y
-CONFIG_GENERIC_IRQ_SHOW=y
-CONFIG_GENERIC_PENDING_IRQ=y
-CONFIG_IRQ_DOMAIN=y
-CONFIG_IRQ_DOMAIN_HIERARCHY=y
-CONFIG_GENERIC_MSI_IRQ=y
-CONFIG_GENERIC_MSI_IRQ_DOMAIN=y
-# CONFIG_IRQ_DOMAIN_DEBUG is not set
-CONFIG_IRQ_FORCED_THREADING=y
-CONFIG_SPARSE_IRQ=y
-CONFIG_CLOCKSOURCE_WATCHDOG=y
-CONFIG_ARCH_CLOCKSOURCE_DATA=y
-CONFIG_CLOCKSOURCE_VALIDATE_LAST_CYCLE=y
-CONFIG_GENERIC_TIME_VSYSCALL=y
-CONFIG_GENERIC_CLOCKEVENTS=y
-CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
-CONFIG_GENERIC_CLOCKEVENTS_MIN_ADJUST=y
-CONFIG_GENERIC_CMOS_UPDATE=y
-
-#
-# Timers subsystem
-#
-CONFIG_TICK_ONESHOT=y
-CONFIG_NO_HZ_COMMON=y
-# CONFIG_HZ_PERIODIC is not set
-CONFIG_NO_HZ_IDLE=y
-# CONFIG_NO_HZ_FULL is not set
-CONFIG_NO_HZ=y
-CONFIG_HIGH_RES_TIMERS=y
-
-#
-# CPU/Task time and stats accounting
-#
-CONFIG_TICK_CPU_ACCOUNTING=y
-# CONFIG_VIRT_CPU_ACCOUNTING_GEN is not set
-# CONFIG_IRQ_TIME_ACCOUNTING is not set
-CONFIG_BSD_PROCESS_ACCT=y
-CONFIG_BSD_PROCESS_ACCT_V3=y
-CONFIG_TASKSTATS=y
-CONFIG_TASK_DELAY_ACCT=y
-CONFIG_TASK_XACCT=y
-CONFIG_TASK_IO_ACCOUNTING=y
-
-#
-# RCU Subsystem
-#
-CONFIG_TREE_RCU=y
-CONFIG_RCU_EXPERT=y
-CONFIG_SRCU=y
-# CONFIG_TASKS_RCU is not set
-CONFIG_RCU_STALL_COMMON=y
-CONFIG_RCU_FANOUT=64
-CONFIG_RCU_FANOUT_LEAF=16
-# CONFIG_RCU_FAST_NO_HZ is not set
-# CONFIG_TREE_RCU_TRACE is not set
-CONFIG_RCU_KTHREAD_PRIO=0
-# CONFIG_RCU_NOCB_CPU is not set
-# CONFIG_RCU_EXPEDITE_BOOT is not set
-CONFIG_BUILD_BIN2C=y
-CONFIG_IKCONFIG=y
-CONFIG_IKCONFIG_PROC=y
-CONFIG_LOG_BUF_SHIFT=19
-CONFIG_LOG_CPU_MAX_BUF_SHIFT=12
-CONFIG_NMI_LOG_BUF_SHIFT=13
-CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y
-CONFIG_ARCH_SUPPORTS_NUMA_BALANCING=y
-CONFIG_ARCH_WANT_BATCHED_UNMAP_TLB_FLUSH=y
-CONFIG_ARCH_SUPPORTS_INT128=y
-CONFIG_NUMA_BALANCING=y
-CONFIG_NUMA_BALANCING_DEFAULT_ENABLED=y
-CONFIG_CGROUPS=y
-CONFIG_PAGE_COUNTER=y
-CONFIG_MEMCG=y
-CONFIG_MEMCG_SWAP=y
-CONFIG_MEMCG_SWAP_ENABLED=y
-CONFIG_BLK_CGROUP=y
-# CONFIG_DEBUG_BLK_CGROUP is not set
-CONFIG_CGROUP_WRITEBACK=y
-CONFIG_CGROUP_SCHED=y
-CONFIG_FAIR_GROUP_SCHED=y
-CONFIG_CFS_BANDWIDTH=y
-# CONFIG_RT_GROUP_SCHED is not set
-CONFIG_CGROUP_PIDS=y
-CONFIG_CGROUP_FREEZER=y
-# CONFIG_CGROUP_HUGETLB is not set
-CONFIG_CPUSETS=y
-CONFIG_PROC_PID_CPUSET=y
-CONFIG_CGROUP_DEVICE=y
-CONFIG_CGROUP_CPUACCT=y
-# CONFIG_CGROUP_PERF is not set
-# CONFIG_CGROUP_DEBUG is not set
-# CONFIG_CHECKPOINT_RESTORE is not set
-CONFIG_NAMESPACES=y
-CONFIG_UTS_NS=y
-CONFIG_IPC_NS=y
-# CONFIG_USER_NS is not set
-CONFIG_PID_NS=y
-CONFIG_NET_NS=y
-CONFIG_SCHED_AUTOGROUP=y
-# CONFIG_SYSFS_DEPRECATED is not set
-CONFIG_RELAY=y
-CONFIG_BLK_DEV_INITRD=y
-CONFIG_INITRAMFS_SOURCE=""
-CONFIG_RD_GZIP=y
-CONFIG_RD_BZIP2=y
-CONFIG_RD_LZMA=y
-CONFIG_RD_XZ=y
-CONFIG_RD_LZO=y
-CONFIG_RD_LZ4=y
-CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE=y
-# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
-CONFIG_SYSCTL=y
-CONFIG_ANON_INODES=y
-CONFIG_HAVE_UID16=y
-CONFIG_SYSCTL_EXCEPTION_TRACE=y
-CONFIG_HAVE_PCSPKR_PLATFORM=y
-CONFIG_BPF=y
-# CONFIG_EXPERT is not set
-CONFIG_UID16=y
-CONFIG_MULTIUSER=y
-CONFIG_SGETMASK_SYSCALL=y
-CONFIG_SYSFS_SYSCALL=y
-# CONFIG_SYSCTL_SYSCALL is not set
-CONFIG_KALLSYMS=y
-# CONFIG_KALLSYMS_ALL is not set
-CONFIG_KALLSYMS_ABSOLUTE_PERCPU=y
-CONFIG_KALLSYMS_BASE_RELATIVE=y
-CONFIG_PRINTK=y
-CONFIG_PRINTK_NMI=y
-CONFIG_BUG=y
-CONFIG_ELF_CORE=y
-CONFIG_PCSPKR_PLATFORM=y
-CONFIG_BASE_FULL=y
-CONFIG_FUTEX=y
-CONFIG_EPOLL=y
-CONFIG_SIGNALFD=y
-CONFIG_TIMERFD=y
-CONFIG_EVENTFD=y
-CONFIG_BPF_SYSCALL=y
-CONFIG_SHMEM=y
-CONFIG_AIO=y
-CONFIG_ADVISE_SYSCALLS=y
-CONFIG_USERFAULTFD=y
-CONFIG_PCI_QUIRKS=y
-CONFIG_MEMBARRIER=y
-# CONFIG_EMBEDDED is not set
-CONFIG_HAVE_PERF_EVENTS=y
-
-#
-# Kernel Performance Events And Counters
-#
-CONFIG_PERF_EVENTS=y
-# CONFIG_DEBUG_PERF_USE_VMALLOC is not set
-CONFIG_VM_EVENT_COUNTERS=y
-CONFIG_SLUB_DEBUG=y
-# CONFIG_COMPAT_BRK is not set
-# CONFIG_SLAB is not set
-CONFIG_SLUB=y
-# CONFIG_SLAB_FREELIST_RANDOM is not set
-CONFIG_SLUB_CPU_PARTIAL=y
-# CONFIG_SYSTEM_DATA_VERIFICATION is not set
-CONFIG_PROFILING=y
-CONFIG_TRACEPOINTS=y
-CONFIG_KEXEC_CORE=y
-CONFIG_OPROFILE=m
-# CONFIG_OPROFILE_EVENT_MULTIPLEX is not set
-CONFIG_HAVE_OPROFILE=y
-CONFIG_OPROFILE_NMI_TIMER=y
-CONFIG_KPROBES=y
-CONFIG_JUMP_LABEL=y
-# CONFIG_STATIC_KEYS_SELFTEST is not set
-CONFIG_OPTPROBES=y
-CONFIG_KPROBES_ON_FTRACE=y
-CONFIG_UPROBES=y
-# CONFIG_HAVE_64BIT_ALIGNED_ACCESS is not set
-CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
-CONFIG_ARCH_USE_BUILTIN_BSWAP=y
-CONFIG_KRETPROBES=y
-CONFIG_USER_RETURN_NOTIFIER=y
-CONFIG_HAVE_IOREMAP_PROT=y
-CONFIG_HAVE_KPROBES=y
-CONFIG_HAVE_KRETPROBES=y
-CONFIG_HAVE_OPTPROBES=y
-CONFIG_HAVE_KPROBES_ON_FTRACE=y
-CONFIG_HAVE_NMI=y
-CONFIG_HAVE_ARCH_TRACEHOOK=y
-CONFIG_HAVE_DMA_CONTIGUOUS=y
-CONFIG_GENERIC_SMP_IDLE_THREAD=y
-CONFIG_ARCH_WANTS_DYNAMIC_TASK_STRUCT=y
-CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
-CONFIG_HAVE_CLK=y
-CONFIG_HAVE_DMA_API_DEBUG=y
-CONFIG_HAVE_HW_BREAKPOINT=y
-CONFIG_HAVE_MIXED_BREAKPOINTS_REGS=y
-CONFIG_HAVE_USER_RETURN_NOTIFIER=y
-CONFIG_HAVE_PERF_EVENTS_NMI=y
-CONFIG_HAVE_PERF_REGS=y
-CONFIG_HAVE_PERF_USER_STACK_DUMP=y
-CONFIG_HAVE_ARCH_JUMP_LABEL=y
-CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=y
-CONFIG_HAVE_ALIGNED_STRUCT_PAGE=y
-CONFIG_HAVE_CMPXCHG_LOCAL=y
-CONFIG_HAVE_CMPXCHG_DOUBLE=y
-CONFIG_ARCH_WANT_COMPAT_IPC_PARSE_VERSION=y
-CONFIG_ARCH_WANT_OLD_COMPAT_IPC=y
-CONFIG_HAVE_ARCH_SECCOMP_FILTER=y
-CONFIG_SECCOMP_FILTER=y
-CONFIG_HAVE_GCC_PLUGINS=y
-# CONFIG_GCC_PLUGINS is not set
-CONFIG_HAVE_CC_STACKPROTECTOR=y
-CONFIG_CC_STACKPROTECTOR=y
-# CONFIG_CC_STACKPROTECTOR_NONE is not set
-# CONFIG_CC_STACKPROTECTOR_REGULAR is not set
-CONFIG_CC_STACKPROTECTOR_STRONG=y
-CONFIG_HAVE_ARCH_WITHIN_STACK_FRAMES=y
-CONFIG_HAVE_CONTEXT_TRACKING=y
-CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y
-CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y
-CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y
-CONFIG_HAVE_ARCH_HUGE_VMAP=y
-CONFIG_HAVE_ARCH_SOFT_DIRTY=y
-CONFIG_MODULES_USE_ELF_RELA=y
-CONFIG_HAVE_IRQ_EXIT_ON_IRQ_STACK=y
-CONFIG_ARCH_HAS_ELF_RANDOMIZE=y
-CONFIG_HAVE_ARCH_MMAP_RND_BITS=y
-CONFIG_HAVE_EXIT_THREAD=y
-CONFIG_ARCH_MMAP_RND_BITS=28
-CONFIG_HAVE_ARCH_MMAP_RND_COMPAT_BITS=y
-CONFIG_ARCH_MMAP_RND_COMPAT_BITS=8
-CONFIG_HAVE_COPY_THREAD_TLS=y
-CONFIG_HAVE_STACK_VALIDATION=y
-# CONFIG_HAVE_ARCH_HASH is not set
-# CONFIG_ISA_BUS_API is not set
-CONFIG_OLD_SIGSUSPEND3=y
-CONFIG_COMPAT_OLD_SIGACTION=y
-# CONFIG_CPU_NO_EFFICIENT_FFS is not set
-CONFIG_HAVE_ARCH_VMAP_STACK=y
-CONFIG_VMAP_STACK=y
-
-#
-# GCOV-based kernel profiling
-#
-# CONFIG_GCOV_KERNEL is not set
-CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y
-# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
-CONFIG_SLABINFO=y
-CONFIG_RT_MUTEXES=y
-CONFIG_BASE_SMALL=0
-CONFIG_MODULES=y
-CONFIG_MODULE_FORCE_LOAD=y
-CONFIG_MODULE_UNLOAD=y
-CONFIG_MODULE_FORCE_UNLOAD=y
-CONFIG_MODVERSIONS=y
-# CONFIG_MODULE_SRCVERSION_ALL is not set
-# CONFIG_MODULE_SIG is not set
-CONFIG_MODULE_COMPRESS=y
-CONFIG_MODULE_COMPRESS_GZIP=y
-# CONFIG_MODULE_COMPRESS_XZ is not set
-CONFIG_MODULES_TREE_LOOKUP=y
-CONFIG_BLOCK=y
-CONFIG_BLK_DEV_BSG=y
-CONFIG_BLK_DEV_BSGLIB=y
-CONFIG_BLK_DEV_INTEGRITY=y
-CONFIG_BLK_DEV_THROTTLING=y
-# CONFIG_BLK_CMDLINE_PARSER is not set
-
-#
-# Partition Types
-#
-CONFIG_PARTITION_ADVANCED=y
-# CONFIG_ACORN_PARTITION is not set
-CONFIG_AIX_PARTITION=y
-# CONFIG_OSF_PARTITION is not set
-# CONFIG_AMIGA_PARTITION is not set
-# CONFIG_ATARI_PARTITION is not set
-CONFIG_MAC_PARTITION=y
-CONFIG_MSDOS_PARTITION=y
-CONFIG_BSD_DISKLABEL=y
-CONFIG_MINIX_SUBPARTITION=y
-CONFIG_SOLARIS_X86_PARTITION=y
-# CONFIG_UNIXWARE_DISKLABEL is not set
-CONFIG_LDM_PARTITION=y
-# CONFIG_LDM_DEBUG is not set
-# CONFIG_SGI_PARTITION is not set
-# CONFIG_ULTRIX_PARTITION is not set
-# CONFIG_SUN_PARTITION is not set
-CONFIG_KARMA_PARTITION=y
-CONFIG_EFI_PARTITION=y
-# CONFIG_SYSV68_PARTITION is not set
-# CONFIG_CMDLINE_PARTITION is not set
-CONFIG_BLOCK_COMPAT=y
-CONFIG_BLK_MQ_PCI=y
-
-#
-# IO Schedulers
-#
-CONFIG_IOSCHED_NOOP=y
-CONFIG_IOSCHED_DEADLINE=y
-CONFIG_IOSCHED_CFQ=y
-CONFIG_CFQ_GROUP_IOSCHED=y
-CONFIG_DEFAULT_DEADLINE=y
-# CONFIG_DEFAULT_CFQ is not set
-# CONFIG_DEFAULT_NOOP is not set
-CONFIG_DEFAULT_IOSCHED="deadline"
-CONFIG_PREEMPT_NOTIFIERS=y
-CONFIG_PADATA=y
-CONFIG_ASN1=m
-CONFIG_INLINE_SPIN_UNLOCK_IRQ=y
-CONFIG_INLINE_READ_UNLOCK=y
-CONFIG_INLINE_READ_UNLOCK_IRQ=y
-CONFIG_INLINE_WRITE_UNLOCK=y
-CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
-CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y
-CONFIG_MUTEX_SPIN_ON_OWNER=y
-CONFIG_RWSEM_SPIN_ON_OWNER=y
-CONFIG_LOCK_SPIN_ON_OWNER=y
-CONFIG_ARCH_USE_QUEUED_SPINLOCKS=y
-CONFIG_QUEUED_SPINLOCKS=y
-CONFIG_ARCH_USE_QUEUED_RWLOCKS=y
-CONFIG_QUEUED_RWLOCKS=y
-CONFIG_FREEZER=y
-
-#
-# Processor type and features
-#
-CONFIG_ZONE_DMA=y
-CONFIG_SMP=y
-CONFIG_X86_FEATURE_NAMES=y
-CONFIG_X86_FAST_FEATURE_TESTS=y
-CONFIG_X86_X2APIC=y
-CONFIG_X86_MPPARSE=y
-# CONFIG_GOLDFISH is not set
-# CONFIG_X86_EXTENDED_PLATFORM is not set
-CONFIG_X86_INTEL_LPSS=y
-# CONFIG_X86_AMD_PLATFORM_DEVICE is not set
-CONFIG_IOSF_MBI=y
-# CONFIG_IOSF_MBI_DEBUG is not set
-CONFIG_X86_SUPPORTS_MEMORY_FAILURE=y
-CONFIG_SCHED_OMIT_FRAME_POINTER=y
-CONFIG_HYPERVISOR_GUEST=y
-CONFIG_PARAVIRT=y
-# CONFIG_PARAVIRT_DEBUG is not set
-# CONFIG_PARAVIRT_SPINLOCKS is not set
-CONFIG_XEN=y
-CONFIG_XEN_DOM0=y
-CONFIG_XEN_PVHVM=y
-CONFIG_XEN_512GB=y
-CONFIG_XEN_SAVE_RESTORE=y
-# CONFIG_XEN_DEBUG_FS is not set
-CONFIG_XEN_PVH=y
-CONFIG_KVM_GUEST=y
-# CONFIG_KVM_DEBUG_FS is not set
-CONFIG_PARAVIRT_TIME_ACCOUNTING=y
-CONFIG_PARAVIRT_CLOCK=y
-CONFIG_NO_BOOTMEM=y
-# CONFIG_MK8 is not set
-# CONFIG_MPSC is not set
-# CONFIG_MCORE2 is not set
-# CONFIG_MATOM is not set
-CONFIG_GENERIC_CPU=y
-CONFIG_X86_INTERNODE_CACHE_SHIFT=6
-CONFIG_X86_L1_CACHE_SHIFT=6
-CONFIG_X86_TSC=y
-CONFIG_X86_CMPXCHG64=y
-CONFIG_X86_CMOV=y
-CONFIG_X86_MINIMUM_CPU_FAMILY=64
-CONFIG_X86_DEBUGCTLMSR=y
-CONFIG_CPU_SUP_INTEL=y
-CONFIG_CPU_SUP_AMD=y
-CONFIG_CPU_SUP_CENTAUR=y
-CONFIG_HPET_TIMER=y
-CONFIG_HPET_EMULATE_RTC=y
-CONFIG_DMI=y
-CONFIG_GART_IOMMU=y
-CONFIG_CALGARY_IOMMU=y
-CONFIG_CALGARY_IOMMU_ENABLED_BY_DEFAULT=y
-CONFIG_SWIOTLB=y
-CONFIG_IOMMU_HELPER=y
-# CONFIG_MAXSMP is not set
-CONFIG_NR_CPUS=128
-CONFIG_SCHED_SMT=y
-CONFIG_SCHED_MC=y
-CONFIG_PREEMPT_NONE=y
-# CONFIG_PREEMPT_VOLUNTARY is not set
-# CONFIG_PREEMPT is not set
-CONFIG_X86_LOCAL_APIC=y
-CONFIG_X86_IO_APIC=y
-CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS=y
-CONFIG_X86_MCE=y
-CONFIG_X86_MCE_INTEL=y
-CONFIG_X86_MCE_AMD=y
-CONFIG_X86_MCE_THRESHOLD=y
-# CONFIG_X86_MCE_INJECT is not set
-CONFIG_X86_THERMAL_VECTOR=y
-
-#
-# Performance monitoring
-#
-CONFIG_PERF_EVENTS_INTEL_UNCORE=y
-CONFIG_PERF_EVENTS_INTEL_RAPL=m
-CONFIG_PERF_EVENTS_INTEL_CSTATE=m
-CONFIG_PERF_EVENTS_AMD_POWER=m
-# CONFIG_VM86 is not set
-CONFIG_X86_16BIT=y
-CONFIG_X86_ESPFIX64=y
-CONFIG_X86_VSYSCALL_EMULATION=y
-CONFIG_I8K=m
-CONFIG_MICROCODE=y
-CONFIG_MICROCODE_INTEL=y
-CONFIG_MICROCODE_AMD=y
-CONFIG_MICROCODE_OLD_INTERFACE=y
-CONFIG_X86_MSR=m
-CONFIG_X86_CPUID=m
-CONFIG_ARCH_PHYS_ADDR_T_64BIT=y
-CONFIG_ARCH_DMA_ADDR_T_64BIT=y
-CONFIG_X86_DIRECT_GBPAGES=y
-CONFIG_NUMA=y
-CONFIG_AMD_NUMA=y
-CONFIG_X86_64_ACPI_NUMA=y
-CONFIG_NODES_SPAN_OTHER_NODES=y
-# CONFIG_NUMA_EMU is not set
-CONFIG_NODES_SHIFT=6
-CONFIG_ARCH_SPARSEMEM_ENABLE=y
-CONFIG_ARCH_SPARSEMEM_DEFAULT=y
-CONFIG_ARCH_SELECT_MEMORY_MODEL=y
-CONFIG_ARCH_MEMORY_PROBE=y
-CONFIG_ARCH_PROC_KCORE_TEXT=y
-CONFIG_ILLEGAL_POINTER_VALUE=0xdead000000000000
-CONFIG_SELECT_MEMORY_MODEL=y
-CONFIG_SPARSEMEM_MANUAL=y
-CONFIG_SPARSEMEM=y
-CONFIG_NEED_MULTIPLE_NODES=y
-CONFIG_HAVE_MEMORY_PRESENT=y
-CONFIG_SPARSEMEM_EXTREME=y
-CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y
-CONFIG_SPARSEMEM_ALLOC_MEM_MAP_TOGETHER=y
-CONFIG_SPARSEMEM_VMEMMAP=y
-CONFIG_HAVE_MEMBLOCK=y
-CONFIG_HAVE_MEMBLOCK_NODE_MAP=y
-CONFIG_ARCH_DISCARD_MEMBLOCK=y
-CONFIG_MEMORY_ISOLATION=y
-# CONFIG_MOVABLE_NODE is not set
-CONFIG_HAVE_BOOTMEM_INFO_NODE=y
-CONFIG_MEMORY_HOTPLUG=y
-CONFIG_MEMORY_HOTPLUG_SPARSE=y
-CONFIG_MEMORY_HOTPLUG_DEFAULT_ONLINE=y
-CONFIG_MEMORY_HOTREMOVE=y
-CONFIG_SPLIT_PTLOCK_CPUS=4
-CONFIG_ARCH_ENABLE_SPLIT_PMD_PTLOCK=y
-CONFIG_MEMORY_BALLOON=y
-CONFIG_BALLOON_COMPACTION=y
-CONFIG_COMPACTION=y
-CONFIG_MIGRATION=y
-CONFIG_ARCH_ENABLE_HUGEPAGE_MIGRATION=y
-CONFIG_PHYS_ADDR_T_64BIT=y
-CONFIG_BOUNCE=y
-CONFIG_VIRT_TO_BUS=y
-CONFIG_MMU_NOTIFIER=y
-CONFIG_KSM=y
-CONFIG_DEFAULT_MMAP_MIN_ADDR=65536
-CONFIG_ARCH_SUPPORTS_MEMORY_FAILURE=y
-CONFIG_MEMORY_FAILURE=y
-CONFIG_HWPOISON_INJECT=m
-CONFIG_TRANSPARENT_HUGEPAGE=y
-CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS=y
-# CONFIG_TRANSPARENT_HUGEPAGE_MADVISE is not set
-CONFIG_TRANSPARENT_HUGE_PAGECACHE=y
-CONFIG_CLEANCACHE=y
-CONFIG_FRONTSWAP=y
-# CONFIG_CMA is not set
-CONFIG_ZSWAP=y
-CONFIG_ZPOOL=y
-CONFIG_ZBUD=y
-CONFIG_Z3FOLD=y
-CONFIG_ZSMALLOC=y
-# CONFIG_PGTABLE_MAPPING is not set
-# CONFIG_ZSMALLOC_STAT is not set
-CONFIG_GENERIC_EARLY_IOREMAP=y
-CONFIG_ARCH_SUPPORTS_DEFERRED_STRUCT_PAGE_INIT=y
-# CONFIG_DEFERRED_STRUCT_PAGE_INIT is not set
-# CONFIG_IDLE_PAGE_TRACKING is not set
-CONFIG_ZONE_DEVICE=y
-CONFIG_FRAME_VECTOR=y
-CONFIG_ARCH_USES_HIGH_VMA_FLAGS=y
-CONFIG_ARCH_HAS_PKEYS=y
-CONFIG_X86_PMEM_LEGACY_DEVICE=y
-CONFIG_X86_PMEM_LEGACY=y
-CONFIG_X86_CHECK_BIOS_CORRUPTION=y
-CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK=y
-CONFIG_X86_RESERVE_LOW=64
-CONFIG_MTRR=y
-CONFIG_MTRR_SANITIZER=y
-CONFIG_MTRR_SANITIZER_ENABLE_DEFAULT=0
-CONFIG_MTRR_SANITIZER_SPARE_REG_NR_DEFAULT=1
-CONFIG_X86_PAT=y
-CONFIG_ARCH_USES_PG_UNCACHED=y
-CONFIG_ARCH_RANDOM=y
-CONFIG_X86_SMAP=y
-CONFIG_X86_INTEL_MPX=y
-CONFIG_X86_INTEL_MEMORY_PROTECTION_KEYS=y
-CONFIG_EFI=y
-CONFIG_EFI_STUB=y
-CONFIG_EFI_MIXED=y
-CONFIG_SECCOMP=y
-CONFIG_HZ_100=y
-# CONFIG_HZ_250 is not set
-# CONFIG_HZ_300 is not set
-# CONFIG_HZ_1000 is not set
-CONFIG_HZ=100
-CONFIG_SCHED_HRTICK=y
-CONFIG_KEXEC=y
-CONFIG_CRASH_DUMP=y
-CONFIG_KEXEC_JUMP=y
-CONFIG_PHYSICAL_START=0x1000000
-CONFIG_RELOCATABLE=y
-# CONFIG_RANDOMIZE_BASE is not set
-CONFIG_PHYSICAL_ALIGN=0x1000000
-CONFIG_HOTPLUG_CPU=y
-# CONFIG_BOOTPARAM_HOTPLUG_CPU0 is not set
-# CONFIG_DEBUG_HOTPLUG_CPU0 is not set
-# CONFIG_COMPAT_VDSO is not set
-# CONFIG_LEGACY_VSYSCALL_NATIVE is not set
-CONFIG_LEGACY_VSYSCALL_EMULATE=y
-# CONFIG_LEGACY_VSYSCALL_NONE is not set
-# CONFIG_CMDLINE_BOOL is not set
-CONFIG_MODIFY_LDT_SYSCALL=y
-CONFIG_HAVE_LIVEPATCH=y
-CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
-CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
-CONFIG_USE_PERCPU_NUMA_NODE_ID=y
-
-#
-# Power management and ACPI options
-#
-CONFIG_ARCH_HIBERNATION_HEADER=y
-CONFIG_SUSPEND=y
-CONFIG_SUSPEND_FREEZER=y
-CONFIG_HIBERNATE_CALLBACKS=y
-CONFIG_HIBERNATION=y
-CONFIG_PM_STD_PARTITION=""
-CONFIG_PM_SLEEP=y
-CONFIG_PM_SLEEP_SMP=y
-CONFIG_PM_AUTOSLEEP=y
-CONFIG_PM_WAKELOCKS=y
-CONFIG_PM_WAKELOCKS_LIMIT=100
-CONFIG_PM_WAKELOCKS_GC=y
-CONFIG_PM=y
-CONFIG_PM_DEBUG=y
-CONFIG_PM_ADVANCED_DEBUG=y
-# CONFIG_PM_TEST_SUSPEND is not set
-CONFIG_PM_SLEEP_DEBUG=y
-CONFIG_PM_TRACE=y
-CONFIG_PM_TRACE_RTC=y
-CONFIG_PM_CLK=y
-CONFIG_PM_GENERIC_DOMAINS=y
-CONFIG_WQ_POWER_EFFICIENT_DEFAULT=y
-CONFIG_PM_GENERIC_DOMAINS_SLEEP=y
-CONFIG_ACPI=y
-CONFIG_ACPI_LEGACY_TABLES_LOOKUP=y
-CONFIG_ARCH_MIGHT_HAVE_ACPI_PDC=y
-CONFIG_ACPI_SYSTEM_POWER_STATES_SUPPORT=y
-# CONFIG_ACPI_DEBUGGER is not set
-CONFIG_ACPI_SLEEP=y
-# CONFIG_ACPI_PROCFS_POWER is not set
-# CONFIG_ACPI_REV_OVERRIDE_POSSIBLE is not set
-CONFIG_ACPI_EC_DEBUGFS=m
-CONFIG_ACPI_AC=m
-CONFIG_ACPI_BATTERY=m
-CONFIG_ACPI_BUTTON=m
-CONFIG_ACPI_VIDEO=m
-CONFIG_ACPI_FAN=m
-CONFIG_ACPI_DOCK=y
-CONFIG_ACPI_CPU_FREQ_PSS=y
-CONFIG_ACPI_PROCESSOR_CSTATE=y
-CONFIG_ACPI_PROCESSOR_IDLE=y
-CONFIG_ACPI_PROCESSOR=y
-CONFIG_ACPI_IPMI=m
-CONFIG_ACPI_HOTPLUG_CPU=y
-CONFIG_ACPI_PROCESSOR_AGGREGATOR=m
-CONFIG_ACPI_THERMAL=m
-CONFIG_ACPI_NUMA=y
-# CONFIG_ACPI_CUSTOM_DSDT is not set
-CONFIG_ARCH_HAS_ACPI_TABLE_UPGRADE=y
-CONFIG_ACPI_TABLE_UPGRADE=y
-# CONFIG_ACPI_DEBUG is not set
-CONFIG_ACPI_PCI_SLOT=y
-CONFIG_X86_PM_TIMER=y
-CONFIG_ACPI_CONTAINER=y
-CONFIG_ACPI_HOTPLUG_MEMORY=y
-CONFIG_ACPI_HOTPLUG_IOAPIC=y
-CONFIG_ACPI_SBS=m
-CONFIG_ACPI_HED=y
-CONFIG_ACPI_CUSTOM_METHOD=m
-CONFIG_ACPI_BGRT=y
-# CONFIG_ACPI_REDUCED_HARDWARE_ONLY is not set
-CONFIG_ACPI_NFIT=m
-# CONFIG_ACPI_NFIT_DEBUG is not set
-CONFIG_HAVE_ACPI_APEI=y
-CONFIG_HAVE_ACPI_APEI_NMI=y
-CONFIG_ACPI_APEI=y
-CONFIG_ACPI_APEI_GHES=y
-CONFIG_ACPI_APEI_PCIEAER=y
-CONFIG_ACPI_APEI_MEMORY_FAILURE=y
-CONFIG_ACPI_APEI_EINJ=m
-CONFIG_ACPI_APEI_ERST_DEBUG=m
-CONFIG_DPTF_POWER=m
-CONFIG_ACPI_WATCHDOG=y
-CONFIG_ACPI_EXTLOG=m
-CONFIG_PMIC_OPREGION=y
-CONFIG_CRC_PMIC_OPREGION=y
-CONFIG_BXT_WC_PMIC_OPREGION=y
-CONFIG_ACPI_CONFIGFS=m
-CONFIG_SFI=y
-
-#
-# CPU Frequency scaling
-#
-CONFIG_CPU_FREQ=y
-CONFIG_CPU_FREQ_GOV_ATTR_SET=y
-CONFIG_CPU_FREQ_GOV_COMMON=y
-CONFIG_CPU_FREQ_STAT=y
-CONFIG_CPU_FREQ_STAT_DETAILS=y
-# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set
-# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set
-# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
-# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set
-# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
-CONFIG_CPU_FREQ_DEFAULT_GOV_SCHEDUTIL=y
-CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
-CONFIG_CPU_FREQ_GOV_POWERSAVE=m
-CONFIG_CPU_FREQ_GOV_USERSPACE=m
-CONFIG_CPU_FREQ_GOV_ONDEMAND=m
-CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m
-CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y
-
-#
-# CPU frequency scaling drivers
-#
-CONFIG_X86_INTEL_PSTATE=y
-CONFIG_X86_PCC_CPUFREQ=m
-CONFIG_X86_ACPI_CPUFREQ=m
-CONFIG_X86_ACPI_CPUFREQ_CPB=y
-CONFIG_X86_POWERNOW_K8=m
-CONFIG_X86_AMD_FREQ_SENSITIVITY=m
-# CONFIG_X86_SPEEDSTEP_CENTRINO is not set
-CONFIG_X86_P4_CLOCKMOD=m
-
-#
-# shared options
-#
-CONFIG_X86_SPEEDSTEP_LIB=m
-
-#
-# CPU Idle
-#
-CONFIG_CPU_IDLE=y
-CONFIG_CPU_IDLE_GOV_LADDER=y
-CONFIG_CPU_IDLE_GOV_MENU=y
-# CONFIG_ARCH_NEEDS_CPU_IDLE_COUPLED is not set
-CONFIG_INTEL_IDLE=y
-
-#
-# Memory power savings
-#
-CONFIG_I7300_IDLE_IOAT_CHANNEL=y
-CONFIG_I7300_IDLE=m
-
-#
-# Bus options (PCI etc.)
-#
-CONFIG_PCI=y
-CONFIG_PCI_DIRECT=y
-CONFIG_PCI_MMCONFIG=y
-CONFIG_PCI_XEN=y
-CONFIG_PCI_DOMAINS=y
-CONFIG_PCIEPORTBUS=y
-CONFIG_HOTPLUG_PCI_PCIE=y
-CONFIG_PCIEAER=y
-# CONFIG_PCIE_ECRC is not set
-# CONFIG_PCIEAER_INJECT is not set
-CONFIG_PCIEASPM=y
-# CONFIG_PCIEASPM_DEBUG is not set
-CONFIG_PCIEASPM_DEFAULT=y
-# CONFIG_PCIEASPM_POWERSAVE is not set
-# CONFIG_PCIEASPM_PERFORMANCE is not set
-CONFIG_PCIE_PME=y
-CONFIG_PCIE_DPC=y
-CONFIG_PCIE_PTM=y
-CONFIG_PCI_BUS_ADDR_T_64BIT=y
-CONFIG_PCI_MSI=y
-CONFIG_PCI_MSI_IRQ_DOMAIN=y
-# CONFIG_PCI_DEBUG is not set
-CONFIG_PCI_REALLOC_ENABLE_AUTO=y
-CONFIG_PCI_STUB=m
-CONFIG_XEN_PCIDEV_FRONTEND=m
-CONFIG_HT_IRQ=y
-CONFIG_PCI_ATS=y
-CONFIG_PCI_IOV=y
-CONFIG_PCI_PRI=y
-CONFIG_PCI_PASID=y
-CONFIG_PCI_LABEL=y
-CONFIG_PCI_HYPERV=m
-CONFIG_HOTPLUG_PCI=y
-CONFIG_HOTPLUG_PCI_ACPI=y
-CONFIG_HOTPLUG_PCI_ACPI_IBM=m
-CONFIG_HOTPLUG_PCI_CPCI=y
-CONFIG_HOTPLUG_PCI_CPCI_ZT5550=m
-CONFIG_HOTPLUG_PCI_CPCI_GENERIC=m
-CONFIG_HOTPLUG_PCI_SHPC=m
-
-#
-# PCI host controller drivers
-#
-# CONFIG_PCIE_DW_PLAT is not set
-CONFIG_VMD=m
-CONFIG_ISA_DMA_API=y
-CONFIG_AMD_NB=y
-CONFIG_PCCARD=m
-CONFIG_PCMCIA=m
-CONFIG_PCMCIA_LOAD_CIS=y
-CONFIG_CARDBUS=y
-
-#
-# PC-card bridges
-#
-CONFIG_YENTA=m
-CONFIG_YENTA_O2=y
-CONFIG_YENTA_RICOH=y
-CONFIG_YENTA_TI=y
-CONFIG_YENTA_ENE_TUNE=y
-CONFIG_YENTA_TOSHIBA=y
-CONFIG_PD6729=m
-CONFIG_I82092=m
-CONFIG_PCCARD_NONSTATIC=y
-# CONFIG_RAPIDIO is not set
-# CONFIG_X86_SYSFB is not set
-
-#
-# Executable file formats / Emulations
-#
-CONFIG_BINFMT_ELF=y
-CONFIG_COMPAT_BINFMT_ELF=y
-CONFIG_ELFCORE=y
-CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y
-CONFIG_BINFMT_SCRIPT=y
-# CONFIG_HAVE_AOUT is not set
-CONFIG_BINFMT_MISC=y
-CONFIG_COREDUMP=y
-CONFIG_IA32_EMULATION=y
-# CONFIG_IA32_AOUT is not set
-# CONFIG_X86_X32 is not set
-CONFIG_COMPAT=y
-CONFIG_COMPAT_FOR_U64_ALIGNMENT=y
-CONFIG_SYSVIPC_COMPAT=y
-CONFIG_KEYS_COMPAT=y
-CONFIG_X86_DEV_DMA_OPS=y
-CONFIG_PMC_ATOM=y
-CONFIG_NET=y
-CONFIG_COMPAT_NETLINK_MESSAGES=y
-CONFIG_NET_INGRESS=y
-CONFIG_NET_EGRESS=y
-
-#
-# Networking options
-#
-CONFIG_PACKET=y
-CONFIG_PACKET_DIAG=m
-CONFIG_UNIX=y
-CONFIG_UNIX_DIAG=m
-CONFIG_XFRM=y
-CONFIG_XFRM_ALGO=m
-CONFIG_XFRM_USER=m
-# CONFIG_XFRM_SUB_POLICY is not set
-# CONFIG_XFRM_MIGRATE is not set
-# CONFIG_XFRM_STATISTICS is not set
-CONFIG_XFRM_IPCOMP=m
-CONFIG_NET_KEY=m
-# CONFIG_NET_KEY_MIGRATE is not set
-CONFIG_INET=y
-CONFIG_IP_MULTICAST=y
-CONFIG_IP_ADVANCED_ROUTER=y
-CONFIG_IP_FIB_TRIE_STATS=y
-CONFIG_IP_MULTIPLE_TABLES=y
-CONFIG_IP_ROUTE_MULTIPATH=y
-CONFIG_IP_ROUTE_VERBOSE=y
-CONFIG_IP_ROUTE_CLASSID=y
-# CONFIG_IP_PNP is not set
-CONFIG_NET_IPIP=m
-CONFIG_NET_IPGRE_DEMUX=m
-CONFIG_NET_IP_TUNNEL=m
-CONFIG_NET_IPGRE=m
-# CONFIG_NET_IPGRE_BROADCAST is not set
-CONFIG_IP_MROUTE=y
-CONFIG_IP_MROUTE_MULTIPLE_TABLES=y
-CONFIG_IP_PIMSM_V1=y
-CONFIG_IP_PIMSM_V2=y
-CONFIG_SYN_COOKIES=y
-CONFIG_NET_IPVTI=m
-CONFIG_NET_UDP_TUNNEL=m
-CONFIG_NET_FOU=m
-CONFIG_NET_FOU_IP_TUNNELS=y
-CONFIG_INET_AH=m
-CONFIG_INET_ESP=m
-CONFIG_INET_IPCOMP=m
-CONFIG_INET_XFRM_TUNNEL=m
-CONFIG_INET_TUNNEL=m
-CONFIG_INET_XFRM_MODE_TRANSPORT=m
-CONFIG_INET_XFRM_MODE_TUNNEL=m
-CONFIG_INET_XFRM_MODE_BEET=m
-CONFIG_INET_DIAG=m
-CONFIG_INET_TCP_DIAG=m
-CONFIG_INET_UDP_DIAG=m
-CONFIG_INET_DIAG_DESTROY=y
-CONFIG_TCP_CONG_ADVANCED=y
-CONFIG_TCP_CONG_BIC=m
-CONFIG_TCP_CONG_CUBIC=y
-CONFIG_TCP_CONG_WESTWOOD=m
-CONFIG_TCP_CONG_HTCP=m
-CONFIG_TCP_CONG_HSTCP=m
-CONFIG_TCP_CONG_HYBLA=m
-CONFIG_TCP_CONG_VEGAS=m
-CONFIG_TCP_CONG_NV=m
-CONFIG_TCP_CONG_SCALABLE=m
-CONFIG_TCP_CONG_LP=m
-CONFIG_TCP_CONG_VENO=m
-CONFIG_TCP_CONG_YEAH=m
-CONFIG_TCP_CONG_ILLINOIS=m
-CONFIG_TCP_CONG_DCTCP=m
-CONFIG_TCP_CONG_CDG=m
-CONFIG_TCP_CONG_BBR=m
-CONFIG_DEFAULT_CUBIC=y
-# CONFIG_DEFAULT_RENO is not set
-CONFIG_DEFAULT_TCP_CONG="cubic"
-CONFIG_TCP_MD5SIG=y
-CONFIG_IPV6=y
-CONFIG_IPV6_ROUTER_PREF=y
-CONFIG_IPV6_ROUTE_INFO=y
-CONFIG_IPV6_OPTIMISTIC_DAD=y
-CONFIG_INET6_AH=m
-CONFIG_INET6_ESP=m
-CONFIG_INET6_IPCOMP=m
-CONFIG_IPV6_MIP6=m
-CONFIG_IPV6_ILA=m
-CONFIG_INET6_XFRM_TUNNEL=m
-CONFIG_INET6_TUNNEL=m
-CONFIG_INET6_XFRM_MODE_TRANSPORT=m
-CONFIG_INET6_XFRM_MODE_TUNNEL=m
-CONFIG_INET6_XFRM_MODE_BEET=m
-CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m
-CONFIG_IPV6_VTI=m
-CONFIG_IPV6_SIT=m
-CONFIG_IPV6_SIT_6RD=y
-CONFIG_IPV6_NDISC_NODETYPE=y
-CONFIG_IPV6_TUNNEL=m
-CONFIG_IPV6_GRE=m
-CONFIG_IPV6_FOU=m
-CONFIG_IPV6_FOU_TUNNEL=m
-CONFIG_IPV6_MULTIPLE_TABLES=y
-CONFIG_IPV6_SUBTREES=y
-CONFIG_IPV6_MROUTE=y
-CONFIG_IPV6_MROUTE_MULTIPLE_TABLES=y
-CONFIG_IPV6_PIMSM_V2=y
-CONFIG_NETLABEL=y
-CONFIG_NETWORK_SECMARK=y
-CONFIG_NET_PTP_CLASSIFY=y
-CONFIG_NETWORK_PHY_TIMESTAMPING=y
-CONFIG_NETFILTER=y
-# CONFIG_NETFILTER_DEBUG is not set
-CONFIG_NETFILTER_ADVANCED=y
-CONFIG_BRIDGE_NETFILTER=m
-
-#
-# Core Netfilter Configuration
-#
-CONFIG_NETFILTER_INGRESS=y
-CONFIG_NETFILTER_NETLINK=m
-CONFIG_NETFILTER_NETLINK_ACCT=m
-CONFIG_NETFILTER_NETLINK_QUEUE=m
-CONFIG_NETFILTER_NETLINK_LOG=m
-CONFIG_NF_CONNTRACK=m
-CONFIG_NF_LOG_COMMON=m
-CONFIG_NF_CONNTRACK_MARK=y
-CONFIG_NF_CONNTRACK_SECMARK=y
-CONFIG_NF_CONNTRACK_ZONES=y
-CONFIG_NF_CONNTRACK_PROCFS=y
-CONFIG_NF_CONNTRACK_EVENTS=y
-CONFIG_NF_CONNTRACK_TIMEOUT=y
-CONFIG_NF_CONNTRACK_TIMESTAMP=y
-CONFIG_NF_CONNTRACK_LABELS=y
-CONFIG_NF_CT_PROTO_DCCP=m
-CONFIG_NF_CT_PROTO_GRE=m
-CONFIG_NF_CT_PROTO_SCTP=m
-CONFIG_NF_CT_PROTO_UDPLITE=m
-CONFIG_NF_CONNTRACK_AMANDA=m
-CONFIG_NF_CONNTRACK_FTP=m
-CONFIG_NF_CONNTRACK_H323=m
-CONFIG_NF_CONNTRACK_IRC=m
-CONFIG_NF_CONNTRACK_BROADCAST=m
-CONFIG_NF_CONNTRACK_NETBIOS_NS=m
-CONFIG_NF_CONNTRACK_SNMP=m
-CONFIG_NF_CONNTRACK_PPTP=m
-CONFIG_NF_CONNTRACK_SANE=m
-CONFIG_NF_CONNTRACK_SIP=m
-CONFIG_NF_CONNTRACK_TFTP=m
-CONFIG_NF_CT_NETLINK=m
-CONFIG_NF_CT_NETLINK_TIMEOUT=m
-CONFIG_NF_CT_NETLINK_HELPER=m
-CONFIG_NETFILTER_NETLINK_GLUE_CT=y
-CONFIG_NF_NAT=m
-CONFIG_NF_NAT_NEEDED=y
-CONFIG_NF_NAT_PROTO_DCCP=m
-CONFIG_NF_NAT_PROTO_UDPLITE=m
-CONFIG_NF_NAT_PROTO_SCTP=m
-CONFIG_NF_NAT_AMANDA=m
-CONFIG_NF_NAT_FTP=m
-CONFIG_NF_NAT_IRC=m
-CONFIG_NF_NAT_SIP=m
-CONFIG_NF_NAT_TFTP=m
-CONFIG_NF_NAT_REDIRECT=m
-CONFIG_NETFILTER_SYNPROXY=m
-CONFIG_NF_TABLES=m
-CONFIG_NF_TABLES_INET=m
-CONFIG_NF_TABLES_NETDEV=m
-CONFIG_NFT_EXTHDR=m
-CONFIG_NFT_META=m
-CONFIG_NFT_NUMGEN=m
-CONFIG_NFT_CT=m
-CONFIG_NFT_SET_RBTREE=m
-CONFIG_NFT_SET_HASH=m
-CONFIG_NFT_COUNTER=m
-CONFIG_NFT_LOG=m
-CONFIG_NFT_LIMIT=m
-CONFIG_NFT_MASQ=m
-CONFIG_NFT_REDIR=m
-CONFIG_NFT_NAT=m
-CONFIG_NFT_QUEUE=m
-CONFIG_NFT_QUOTA=m
-CONFIG_NFT_REJECT=m
-CONFIG_NFT_REJECT_INET=m
-CONFIG_NFT_COMPAT=m
-CONFIG_NFT_HASH=m
-CONFIG_NF_DUP_NETDEV=m
-CONFIG_NFT_DUP_NETDEV=m
-CONFIG_NFT_FWD_NETDEV=m
-CONFIG_NETFILTER_XTABLES=m
-
-#
-# Xtables combined modules
-#
-CONFIG_NETFILTER_XT_MARK=m
-CONFIG_NETFILTER_XT_CONNMARK=m
-CONFIG_NETFILTER_XT_SET=m
-
-#
-# Xtables targets
-#
-CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m
-CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
-CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
-CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=m
-CONFIG_NETFILTER_XT_TARGET_CT=m
-CONFIG_NETFILTER_XT_TARGET_DSCP=m
-CONFIG_NETFILTER_XT_TARGET_HL=m
-CONFIG_NETFILTER_XT_TARGET_HMARK=m
-CONFIG_NETFILTER_XT_TARGET_IDLETIMER=m
-CONFIG_NETFILTER_XT_TARGET_LED=m
-CONFIG_NETFILTER_XT_TARGET_LOG=m
-CONFIG_NETFILTER_XT_TARGET_MARK=m
-CONFIG_NETFILTER_XT_NAT=m
-CONFIG_NETFILTER_XT_TARGET_NETMAP=m
-CONFIG_NETFILTER_XT_TARGET_NFLOG=m
-CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
-CONFIG_NETFILTER_XT_TARGET_NOTRACK=m
-CONFIG_NETFILTER_XT_TARGET_RATEEST=m
-CONFIG_NETFILTER_XT_TARGET_REDIRECT=m
-CONFIG_NETFILTER_XT_TARGET_TEE=m
-CONFIG_NETFILTER_XT_TARGET_TPROXY=m
-CONFIG_NETFILTER_XT_TARGET_TRACE=m
-CONFIG_NETFILTER_XT_TARGET_SECMARK=m
-CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
-CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m
-
-#
-# Xtables matches
-#
-CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m
-CONFIG_NETFILTER_XT_MATCH_BPF=m
-CONFIG_NETFILTER_XT_MATCH_CGROUP=m
-CONFIG_NETFILTER_XT_MATCH_CLUSTER=m
-CONFIG_NETFILTER_XT_MATCH_COMMENT=m
-CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
-CONFIG_NETFILTER_XT_MATCH_CONNLABEL=m
-CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m
-CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
-CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
-CONFIG_NETFILTER_XT_MATCH_CPU=m
-CONFIG_NETFILTER_XT_MATCH_DCCP=m
-CONFIG_NETFILTER_XT_MATCH_DEVGROUP=m
-CONFIG_NETFILTER_XT_MATCH_DSCP=m
-CONFIG_NETFILTER_XT_MATCH_ECN=m
-CONFIG_NETFILTER_XT_MATCH_ESP=m
-CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
-CONFIG_NETFILTER_XT_MATCH_HELPER=m
-CONFIG_NETFILTER_XT_MATCH_HL=m
-CONFIG_NETFILTER_XT_MATCH_IPCOMP=m
-CONFIG_NETFILTER_XT_MATCH_IPRANGE=m
-CONFIG_NETFILTER_XT_MATCH_IPVS=m
-CONFIG_NETFILTER_XT_MATCH_L2TP=m
-CONFIG_NETFILTER_XT_MATCH_LENGTH=m
-CONFIG_NETFILTER_XT_MATCH_LIMIT=m
-CONFIG_NETFILTER_XT_MATCH_MAC=m
-CONFIG_NETFILTER_XT_MATCH_MARK=m
-CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
-CONFIG_NETFILTER_XT_MATCH_NFACCT=m
-CONFIG_NETFILTER_XT_MATCH_OSF=m
-CONFIG_NETFILTER_XT_MATCH_OWNER=m
-CONFIG_NETFILTER_XT_MATCH_POLICY=m
-CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m
-CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
-CONFIG_NETFILTER_XT_MATCH_QUOTA=m
-CONFIG_NETFILTER_XT_MATCH_RATEEST=m
-CONFIG_NETFILTER_XT_MATCH_REALM=m
-CONFIG_NETFILTER_XT_MATCH_RECENT=m
-CONFIG_NETFILTER_XT_MATCH_SCTP=m
-CONFIG_NETFILTER_XT_MATCH_SOCKET=m
-CONFIG_NETFILTER_XT_MATCH_STATE=m
-CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
-CONFIG_NETFILTER_XT_MATCH_STRING=m
-CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
-CONFIG_NETFILTER_XT_MATCH_TIME=m
-CONFIG_NETFILTER_XT_MATCH_U32=m
-CONFIG_IP_SET=m
-CONFIG_IP_SET_MAX=256
-CONFIG_IP_SET_BITMAP_IP=m
-CONFIG_IP_SET_BITMAP_IPMAC=m
-CONFIG_IP_SET_BITMAP_PORT=m
-CONFIG_IP_SET_HASH_IP=m
-CONFIG_IP_SET_HASH_IPMARK=m
-CONFIG_IP_SET_HASH_IPPORT=m
-CONFIG_IP_SET_HASH_IPPORTIP=m
-CONFIG_IP_SET_HASH_IPPORTNET=m
-CONFIG_IP_SET_HASH_MAC=m
-CONFIG_IP_SET_HASH_NETPORTNET=m
-CONFIG_IP_SET_HASH_NET=m
-CONFIG_IP_SET_HASH_NETNET=m
-CONFIG_IP_SET_HASH_NETPORT=m
-CONFIG_IP_SET_HASH_NETIFACE=m
-CONFIG_IP_SET_LIST_SET=m
-CONFIG_IP_VS=m
-CONFIG_IP_VS_IPV6=y
-# CONFIG_IP_VS_DEBUG is not set
-CONFIG_IP_VS_TAB_BITS=12
-
-#
-# IPVS transport protocol load balancing support
-#
-CONFIG_IP_VS_PROTO_TCP=y
-CONFIG_IP_VS_PROTO_UDP=y
-CONFIG_IP_VS_PROTO_AH_ESP=y
-CONFIG_IP_VS_PROTO_ESP=y
-CONFIG_IP_VS_PROTO_AH=y
-CONFIG_IP_VS_PROTO_SCTP=y
-
-#
-# IPVS scheduler
-#
-CONFIG_IP_VS_RR=m
-CONFIG_IP_VS_WRR=m
-CONFIG_IP_VS_LC=m
-CONFIG_IP_VS_WLC=m
-CONFIG_IP_VS_FO=m
-CONFIG_IP_VS_OVF=m
-CONFIG_IP_VS_LBLC=m
-CONFIG_IP_VS_LBLCR=m
-CONFIG_IP_VS_DH=m
-CONFIG_IP_VS_SH=m
-CONFIG_IP_VS_SED=m
-CONFIG_IP_VS_NQ=m
-
-#
-# IPVS SH scheduler
-#
-CONFIG_IP_VS_SH_TAB_BITS=8
-
-#
-# IPVS application helper
-#
-CONFIG_IP_VS_FTP=m
-CONFIG_IP_VS_NFCT=y
-CONFIG_IP_VS_PE_SIP=m
-
-#
-# IP: Netfilter Configuration
-#
-CONFIG_NF_DEFRAG_IPV4=m
-CONFIG_NF_CONNTRACK_IPV4=m
-CONFIG_NF_TABLES_IPV4=m
-CONFIG_NFT_CHAIN_ROUTE_IPV4=m
-CONFIG_NFT_REJECT_IPV4=m
-CONFIG_NFT_DUP_IPV4=m
-CONFIG_NF_TABLES_ARP=m
-CONFIG_NF_DUP_IPV4=m
-CONFIG_NF_LOG_ARP=m
-CONFIG_NF_LOG_IPV4=m
-CONFIG_NF_REJECT_IPV4=m
-CONFIG_NF_NAT_IPV4=m
-CONFIG_NFT_CHAIN_NAT_IPV4=m
-CONFIG_NF_NAT_MASQUERADE_IPV4=m
-CONFIG_NFT_MASQ_IPV4=m
-CONFIG_NFT_REDIR_IPV4=m
-CONFIG_NF_NAT_SNMP_BASIC=m
-CONFIG_NF_NAT_PROTO_GRE=m
-CONFIG_NF_NAT_PPTP=m
-CONFIG_NF_NAT_H323=m
-CONFIG_IP_NF_IPTABLES=m
-CONFIG_IP_NF_MATCH_AH=m
-CONFIG_IP_NF_MATCH_ECN=m
-CONFIG_IP_NF_MATCH_RPFILTER=m
-CONFIG_IP_NF_MATCH_TTL=m
-CONFIG_IP_NF_FILTER=m
-CONFIG_IP_NF_TARGET_REJECT=m
-CONFIG_IP_NF_TARGET_SYNPROXY=m
-CONFIG_IP_NF_NAT=m
-CONFIG_IP_NF_TARGET_MASQUERADE=m
-CONFIG_IP_NF_TARGET_NETMAP=m
-CONFIG_IP_NF_TARGET_REDIRECT=m
-CONFIG_IP_NF_MANGLE=m
-CONFIG_IP_NF_TARGET_CLUSTERIP=m
-CONFIG_IP_NF_TARGET_ECN=m
-CONFIG_IP_NF_TARGET_TTL=m
-CONFIG_IP_NF_RAW=m
-CONFIG_IP_NF_SECURITY=m
-CONFIG_IP_NF_ARPTABLES=m
-CONFIG_IP_NF_ARPFILTER=m
-CONFIG_IP_NF_ARP_MANGLE=m
-
-#
-# IPv6: Netfilter Configuration
-#
-CONFIG_NF_DEFRAG_IPV6=m
-CONFIG_NF_CONNTRACK_IPV6=m
-CONFIG_NF_TABLES_IPV6=m
-CONFIG_NFT_CHAIN_ROUTE_IPV6=m
-CONFIG_NFT_REJECT_IPV6=m
-CONFIG_NFT_DUP_IPV6=m
-CONFIG_NF_DUP_IPV6=m
-CONFIG_NF_REJECT_IPV6=m
-CONFIG_NF_LOG_IPV6=m
-CONFIG_NF_NAT_IPV6=m
-CONFIG_NFT_CHAIN_NAT_IPV6=m
-CONFIG_NF_NAT_MASQUERADE_IPV6=m
-CONFIG_NFT_MASQ_IPV6=m
-CONFIG_NFT_REDIR_IPV6=m
-CONFIG_IP6_NF_IPTABLES=m
-CONFIG_IP6_NF_MATCH_AH=m
-CONFIG_IP6_NF_MATCH_EUI64=m
-CONFIG_IP6_NF_MATCH_FRAG=m
-CONFIG_IP6_NF_MATCH_OPTS=m
-CONFIG_IP6_NF_MATCH_HL=m
-CONFIG_IP6_NF_MATCH_IPV6HEADER=m
-CONFIG_IP6_NF_MATCH_MH=m
-CONFIG_IP6_NF_MATCH_RPFILTER=m
-CONFIG_IP6_NF_MATCH_RT=m
-CONFIG_IP6_NF_TARGET_HL=m
-CONFIG_IP6_NF_FILTER=m
-CONFIG_IP6_NF_TARGET_REJECT=m
-CONFIG_IP6_NF_TARGET_SYNPROXY=m
-CONFIG_IP6_NF_MANGLE=m
-CONFIG_IP6_NF_RAW=m
-CONFIG_IP6_NF_SECURITY=m
-CONFIG_IP6_NF_NAT=m
-CONFIG_IP6_NF_TARGET_MASQUERADE=m
-CONFIG_IP6_NF_TARGET_NPT=m
-CONFIG_NF_TABLES_BRIDGE=m
-CONFIG_NFT_BRIDGE_META=m
-CONFIG_NFT_BRIDGE_REJECT=m
-CONFIG_NF_LOG_BRIDGE=m
-CONFIG_BRIDGE_NF_EBTABLES=m
-CONFIG_BRIDGE_EBT_BROUTE=m
-CONFIG_BRIDGE_EBT_T_FILTER=m
-CONFIG_BRIDGE_EBT_T_NAT=m
-CONFIG_BRIDGE_EBT_802_3=m
-CONFIG_BRIDGE_EBT_AMONG=m
-CONFIG_BRIDGE_EBT_ARP=m
-CONFIG_BRIDGE_EBT_IP=m
-CONFIG_BRIDGE_EBT_IP6=m
-CONFIG_BRIDGE_EBT_LIMIT=m
-CONFIG_BRIDGE_EBT_MARK=m
-CONFIG_BRIDGE_EBT_PKTTYPE=m
-CONFIG_BRIDGE_EBT_STP=m
-CONFIG_BRIDGE_EBT_VLAN=m
-CONFIG_BRIDGE_EBT_ARPREPLY=m
-CONFIG_BRIDGE_EBT_DNAT=m
-CONFIG_BRIDGE_EBT_MARK_T=m
-CONFIG_BRIDGE_EBT_REDIRECT=m
-CONFIG_BRIDGE_EBT_SNAT=m
-CONFIG_BRIDGE_EBT_LOG=m
-CONFIG_BRIDGE_EBT_NFLOG=m
-CONFIG_IP_DCCP=m
-CONFIG_INET_DCCP_DIAG=m
-
-#
-# DCCP CCIDs Configuration
-#
-# CONFIG_IP_DCCP_CCID2_DEBUG is not set
-CONFIG_IP_DCCP_CCID3=y
-# CONFIG_IP_DCCP_CCID3_DEBUG is not set
-CONFIG_IP_DCCP_TFRC_LIB=y
-
-#
-# DCCP Kernel Hacking
-#
-# CONFIG_IP_DCCP_DEBUG is not set
-CONFIG_NET_DCCPPROBE=m
-CONFIG_IP_SCTP=m
-CONFIG_NET_SCTPPROBE=m
-# CONFIG_SCTP_DBG_OBJCNT is not set
-# CONFIG_SCTP_DEFAULT_COOKIE_HMAC_MD5 is not set
-CONFIG_SCTP_DEFAULT_COOKIE_HMAC_SHA1=y
-# CONFIG_SCTP_DEFAULT_COOKIE_HMAC_NONE is not set
-CONFIG_SCTP_COOKIE_HMAC_MD5=y
-CONFIG_SCTP_COOKIE_HMAC_SHA1=y
-CONFIG_INET_SCTP_DIAG=m
-# CONFIG_RDS is not set
-# CONFIG_TIPC is not set
-CONFIG_ATM=m
-CONFIG_ATM_CLIP=m
-# CONFIG_ATM_CLIP_NO_ICMP is not set
-CONFIG_ATM_LANE=m
-CONFIG_ATM_MPOA=m
-CONFIG_ATM_BR2684=m
-# CONFIG_ATM_BR2684_IPFILTER is not set
-CONFIG_L2TP=m
-# CONFIG_L2TP_DEBUGFS is not set
-CONFIG_L2TP_V3=y
-CONFIG_L2TP_IP=m
-CONFIG_L2TP_ETH=m
-CONFIG_STP=m
-CONFIG_MRP=m
-CONFIG_BRIDGE=m
-CONFIG_BRIDGE_IGMP_SNOOPING=y
-CONFIG_BRIDGE_VLAN_FILTERING=y
-CONFIG_HAVE_NET_DSA=y
-CONFIG_NET_DSA=m
-CONFIG_NET_DSA_HWMON=y
-CONFIG_NET_DSA_TAG_BRCM=y
-CONFIG_NET_DSA_TAG_DSA=y
-CONFIG_NET_DSA_TAG_EDSA=y
-CONFIG_NET_DSA_TAG_TRAILER=y
-CONFIG_NET_DSA_TAG_QCA=y
-CONFIG_VLAN_8021Q=m
-# CONFIG_VLAN_8021Q_GVRP is not set
-CONFIG_VLAN_8021Q_MVRP=y
-# CONFIG_DECNET is not set
-CONFIG_LLC=m
-CONFIG_LLC2=m
-# CONFIG_IPX is not set
-# CONFIG_ATALK is not set
-# CONFIG_X25 is not set
-# CONFIG_LAPB is not set
-CONFIG_PHONET=m
-CONFIG_6LOWPAN=m
-# CONFIG_6LOWPAN_DEBUGFS is not set
-CONFIG_6LOWPAN_NHC=m
-CONFIG_6LOWPAN_NHC_DEST=m
-CONFIG_6LOWPAN_NHC_FRAGMENT=m
-CONFIG_6LOWPAN_NHC_HOP=m
-CONFIG_6LOWPAN_NHC_IPV6=m
-CONFIG_6LOWPAN_NHC_MOBILITY=m
-CONFIG_6LOWPAN_NHC_ROUTING=m
-CONFIG_6LOWPAN_NHC_UDP=m
-CONFIG_6LOWPAN_GHC_EXT_HDR_HOP=m
-CONFIG_6LOWPAN_GHC_UDP=m
-CONFIG_6LOWPAN_GHC_ICMPV6=m
-CONFIG_6LOWPAN_GHC_EXT_HDR_DEST=m
-CONFIG_6LOWPAN_GHC_EXT_HDR_FRAG=m
-CONFIG_6LOWPAN_GHC_EXT_HDR_ROUTE=m
-CONFIG_IEEE802154=m
-CONFIG_IEEE802154_NL802154_EXPERIMENTAL=y
-CONFIG_IEEE802154_SOCKET=m
-CONFIG_IEEE802154_6LOWPAN=m
-CONFIG_MAC802154=m
-CONFIG_NET_SCHED=y
-
-#
-# Queueing/Scheduling
-#
-CONFIG_NET_SCH_CBQ=m
-CONFIG_NET_SCH_HTB=m
-CONFIG_NET_SCH_HFSC=m
-CONFIG_NET_SCH_ATM=m
-CONFIG_NET_SCH_PRIO=m
-CONFIG_NET_SCH_MULTIQ=m
-CONFIG_NET_SCH_RED=m
-CONFIG_NET_SCH_SFB=m
-CONFIG_NET_SCH_SFQ=m
-CONFIG_NET_SCH_TEQL=m
-CONFIG_NET_SCH_TBF=m
-CONFIG_NET_SCH_GRED=m
-CONFIG_NET_SCH_DSMARK=m
-CONFIG_NET_SCH_NETEM=m
-CONFIG_NET_SCH_DRR=m
-CONFIG_NET_SCH_MQPRIO=m
-CONFIG_NET_SCH_CHOKE=m
-CONFIG_NET_SCH_QFQ=m
-CONFIG_NET_SCH_CODEL=m
-CONFIG_NET_SCH_FQ_CODEL=m
-CONFIG_NET_SCH_FQ=m
-CONFIG_NET_SCH_HHF=m
-CONFIG_NET_SCH_PIE=m
-CONFIG_NET_SCH_INGRESS=m
-CONFIG_NET_SCH_PLUG=m
-
-#
-# Classification
-#
-CONFIG_NET_CLS=y
-CONFIG_NET_CLS_BASIC=m
-CONFIG_NET_CLS_TCINDEX=m
-CONFIG_NET_CLS_ROUTE4=m
-CONFIG_NET_CLS_FW=m
-CONFIG_NET_CLS_U32=m
-# CONFIG_CLS_U32_PERF is not set
-# CONFIG_CLS_U32_MARK is not set
-CONFIG_NET_CLS_RSVP=m
-CONFIG_NET_CLS_RSVP6=m
-CONFIG_NET_CLS_FLOW=m
-CONFIG_NET_CLS_CGROUP=m
-CONFIG_NET_CLS_BPF=m
-CONFIG_NET_CLS_FLOWER=m
-CONFIG_NET_CLS_MATCHALL=m
-CONFIG_NET_EMATCH=y
-CONFIG_NET_EMATCH_STACK=32
-CONFIG_NET_EMATCH_CMP=m
-CONFIG_NET_EMATCH_NBYTE=m
-CONFIG_NET_EMATCH_U32=m
-CONFIG_NET_EMATCH_META=m
-CONFIG_NET_EMATCH_TEXT=m
-CONFIG_NET_EMATCH_CANID=m
-CONFIG_NET_EMATCH_IPSET=m
-CONFIG_NET_CLS_ACT=y
-CONFIG_NET_ACT_POLICE=m
-CONFIG_NET_ACT_GACT=m
-CONFIG_GACT_PROB=y
-CONFIG_NET_ACT_MIRRED=m
-CONFIG_NET_ACT_IPT=m
-CONFIG_NET_ACT_NAT=m
-CONFIG_NET_ACT_PEDIT=m
-CONFIG_NET_ACT_SIMP=m
-CONFIG_NET_ACT_SKBEDIT=m
-CONFIG_NET_ACT_CSUM=m
-CONFIG_NET_ACT_VLAN=m
-CONFIG_NET_ACT_BPF=m
-CONFIG_NET_ACT_CONNMARK=m
-CONFIG_NET_ACT_SKBMOD=m
-CONFIG_NET_ACT_IFE=m
-CONFIG_NET_ACT_TUNNEL_KEY=m
-CONFIG_NET_IFE_SKBMARK=m
-CONFIG_NET_IFE_SKBPRIO=m
-CONFIG_NET_IFE_SKBTCINDEX=m
-CONFIG_NET_CLS_IND=y
-CONFIG_NET_SCH_FIFO=y
-# CONFIG_DCB is not set
-CONFIG_DNS_RESOLVER=m
-CONFIG_BATMAN_ADV=m
-CONFIG_BATMAN_ADV_BATMAN_V=y
-CONFIG_BATMAN_ADV_BLA=y
-CONFIG_BATMAN_ADV_DAT=y
-CONFIG_BATMAN_ADV_NC=y
-CONFIG_BATMAN_ADV_MCAST=y
-CONFIG_BATMAN_ADV_DEBUGFS=y
-# CONFIG_BATMAN_ADV_DEBUG is not set
-CONFIG_OPENVSWITCH=m
-CONFIG_OPENVSWITCH_GRE=m
-CONFIG_OPENVSWITCH_VXLAN=m
-CONFIG_OPENVSWITCH_GENEVE=m
-CONFIG_VSOCKETS=m
-CONFIG_VMWARE_VMCI_VSOCKETS=m
-CONFIG_VIRTIO_VSOCKETS=m
-CONFIG_VIRTIO_VSOCKETS_COMMON=m
-CONFIG_NETLINK_DIAG=m
-CONFIG_MPLS=y
-CONFIG_NET_MPLS_GSO=m
-CONFIG_MPLS_ROUTING=m
-CONFIG_MPLS_IPTUNNEL=m
-CONFIG_HSR=m
-CONFIG_NET_SWITCHDEV=y
-CONFIG_NET_L3_MASTER_DEV=y
-CONFIG_NET_NCSI=y
-CONFIG_RPS=y
-CONFIG_RFS_ACCEL=y
-CONFIG_XPS=y
-CONFIG_SOCK_CGROUP_DATA=y
-# CONFIG_CGROUP_NET_PRIO is not set
-CONFIG_CGROUP_NET_CLASSID=y
-CONFIG_NET_RX_BUSY_POLL=y
-CONFIG_BQL=y
-CONFIG_BPF_JIT=y
-CONFIG_NET_FLOW_LIMIT=y
-
-#
-# Network testing
-#
-CONFIG_NET_PKTGEN=m
-CONFIG_NET_TCPPROBE=m
-CONFIG_NET_DROP_MONITOR=m
-CONFIG_HAMRADIO=y
-
-#
-# Packet Radio protocols
-#
-CONFIG_AX25=m
-CONFIG_AX25_DAMA_SLAVE=y
-CONFIG_NETROM=m
-CONFIG_ROSE=m
-
-#
-# AX.25 network device drivers
-#
-CONFIG_MKISS=m
-CONFIG_6PACK=m
-CONFIG_BPQETHER=m
-CONFIG_BAYCOM_SER_FDX=m
-CONFIG_BAYCOM_SER_HDX=m
-CONFIG_BAYCOM_PAR=m
-CONFIG_YAM=m
-CONFIG_CAN=m
-CONFIG_CAN_RAW=m
-CONFIG_CAN_BCM=m
-CONFIG_CAN_GW=m
-
-#
-# CAN Device Drivers
-#
-CONFIG_CAN_VCAN=m
-CONFIG_CAN_SLCAN=m
-CONFIG_CAN_DEV=m
-CONFIG_CAN_CALC_BITTIMING=y
-CONFIG_CAN_LEDS=y
-CONFIG_CAN_C_CAN=m
-CONFIG_CAN_C_CAN_PLATFORM=m
-CONFIG_CAN_C_CAN_PCI=m
-CONFIG_CAN_CC770=m
-# CONFIG_CAN_CC770_ISA is not set
-CONFIG_CAN_CC770_PLATFORM=m
-CONFIG_CAN_IFI_CANFD=m
-CONFIG_CAN_M_CAN=m
-CONFIG_CAN_SJA1000=m
-# CONFIG_CAN_SJA1000_ISA is not set
-CONFIG_CAN_SJA1000_PLATFORM=m
-# CONFIG_CAN_EMS_PCMCIA is not set
-CONFIG_CAN_EMS_PCI=m
-# CONFIG_CAN_PEAK_PCMCIA is not set
-CONFIG_CAN_PEAK_PCI=m
-CONFIG_CAN_PEAK_PCIEC=y
-CONFIG_CAN_KVASER_PCI=m
-CONFIG_CAN_PLX_PCI=m
-CONFIG_CAN_SOFTING=m
-# CONFIG_CAN_SOFTING_CS is not set
-
-#
-# CAN SPI interfaces
-#
-# CONFIG_CAN_MCP251X is not set
-
-#
-# CAN USB interfaces
-#
-CONFIG_CAN_EMS_USB=m
-CONFIG_CAN_ESD_USB2=m
-CONFIG_CAN_GS_USB=m
-CONFIG_CAN_KVASER_USB=m
-CONFIG_CAN_PEAK_USB=m
-CONFIG_CAN_8DEV_USB=m
-# CONFIG_CAN_DEBUG_DEVICES is not set
-CONFIG_IRDA=m
-
-#
-# IrDA protocols
-#
-CONFIG_IRLAN=m
-CONFIG_IRNET=m
-CONFIG_IRCOMM=m
-CONFIG_IRDA_ULTRA=y
-
-#
-# IrDA options
-#
-CONFIG_IRDA_CACHE_LAST_LSAP=y
-CONFIG_IRDA_FAST_RR=y
-# CONFIG_IRDA_DEBUG is not set
-
-#
-# Infrared-port device drivers
-#
-
-#
-# SIR device drivers
-#
-CONFIG_IRTTY_SIR=m
-
-#
-# Dongle support
-#
-CONFIG_DONGLE=y
-CONFIG_ESI_DONGLE=m
-CONFIG_ACTISYS_DONGLE=m
-CONFIG_TEKRAM_DONGLE=m
-CONFIG_TOIM3232_DONGLE=m
-CONFIG_LITELINK_DONGLE=m
-CONFIG_MA600_DONGLE=m
-CONFIG_GIRBIL_DONGLE=m
-CONFIG_MCP2120_DONGLE=m
-CONFIG_OLD_BELKIN_DONGLE=m
-CONFIG_ACT200L_DONGLE=m
-CONFIG_KINGSUN_DONGLE=m
-CONFIG_KSDAZZLE_DONGLE=m
-CONFIG_KS959_DONGLE=m
-
-#
-# FIR device drivers
-#
-CONFIG_USB_IRDA=m
-CONFIG_SIGMATEL_FIR=m
-CONFIG_NSC_FIR=m
-CONFIG_WINBOND_FIR=m
-CONFIG_SMC_IRCC_FIR=m
-CONFIG_ALI_FIR=m
-CONFIG_VLSI_FIR=m
-CONFIG_VIA_FIR=m
-CONFIG_MCS_FIR=m
-CONFIG_BT=m
-CONFIG_BT_BREDR=y
-CONFIG_BT_RFCOMM=m
-CONFIG_BT_RFCOMM_TTY=y
-CONFIG_BT_BNEP=m
-CONFIG_BT_BNEP_MC_FILTER=y
-CONFIG_BT_BNEP_PROTO_FILTER=y
-CONFIG_BT_CMTP=m
-CONFIG_BT_HIDP=m
-CONFIG_BT_HS=y
-CONFIG_BT_LE=y
-CONFIG_BT_6LOWPAN=m
-CONFIG_BT_LEDS=y
-# CONFIG_BT_SELFTEST is not set
-CONFIG_BT_DEBUGFS=y
-
-#
-# Bluetooth device drivers
-#
-CONFIG_BT_INTEL=m
-CONFIG_BT_BCM=m
-CONFIG_BT_RTL=m
-CONFIG_BT_QCA=m
-CONFIG_BT_HCIBTUSB=m
-CONFIG_BT_HCIBTUSB_BCM=y
-CONFIG_BT_HCIBTUSB_RTL=y
-CONFIG_BT_HCIBTSDIO=m
-CONFIG_BT_HCIUART=m
-CONFIG_BT_HCIUART_H4=y
-CONFIG_BT_HCIUART_BCSP=y
-CONFIG_BT_HCIUART_ATH3K=y
-CONFIG_BT_HCIUART_LL=y
-CONFIG_BT_HCIUART_3WIRE=y
-CONFIG_BT_HCIUART_INTEL=y
-CONFIG_BT_HCIUART_BCM=y
-CONFIG_BT_HCIUART_QCA=y
-CONFIG_BT_HCIUART_AG6XX=y
-CONFIG_BT_HCIUART_MRVL=y
-CONFIG_BT_HCIBCM203X=m
-CONFIG_BT_HCIBPA10X=m
-CONFIG_BT_HCIBFUSB=m
-CONFIG_BT_HCIDTL1=m
-CONFIG_BT_HCIBT3C=m
-CONFIG_BT_HCIBLUECARD=m
-CONFIG_BT_HCIBTUART=m
-CONFIG_BT_HCIVHCI=m
-CONFIG_BT_MRVL=m
-CONFIG_BT_MRVL_SDIO=m
-CONFIG_BT_ATH3K=m
-CONFIG_BT_WILINK=m
-CONFIG_AF_RXRPC=m
-CONFIG_AF_RXRPC_IPV6=y
-# CONFIG_AF_RXRPC_INJECT_LOSS is not set
-# CONFIG_AF_RXRPC_DEBUG is not set
-CONFIG_RXKAD=y
-CONFIG_AF_KCM=m
-CONFIG_STREAM_PARSER=m
-CONFIG_FIB_RULES=y
-CONFIG_WIRELESS=y
-CONFIG_WIRELESS_EXT=y
-CONFIG_WEXT_CORE=y
-CONFIG_WEXT_PROC=y
-CONFIG_WEXT_SPY=y
-CONFIG_WEXT_PRIV=y
-CONFIG_CFG80211=m
-# CONFIG_NL80211_TESTMODE is not set
-# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set
-CONFIG_CFG80211_DEFAULT_PS=y
-# CONFIG_CFG80211_DEBUGFS is not set
-# CONFIG_CFG80211_INTERNAL_REGDB is not set
-CONFIG_CFG80211_CRDA_SUPPORT=y
-CONFIG_CFG80211_WEXT=y
-CONFIG_CFG80211_WEXT_EXPORT=y
-CONFIG_LIB80211=m
-CONFIG_LIB80211_CRYPT_WEP=m
-CONFIG_LIB80211_CRYPT_CCMP=m
-CONFIG_LIB80211_CRYPT_TKIP=m
-# CONFIG_LIB80211_DEBUG is not set
-CONFIG_MAC80211=m
-CONFIG_MAC80211_HAS_RC=y
-CONFIG_MAC80211_RC_MINSTREL=y
-CONFIG_MAC80211_RC_MINSTREL_HT=y
-# CONFIG_MAC80211_RC_MINSTREL_VHT is not set
-CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y
-CONFIG_MAC80211_RC_DEFAULT="minstrel_ht"
-CONFIG_MAC80211_MESH=y
-CONFIG_MAC80211_LEDS=y
-CONFIG_MAC80211_DEBUGFS=y
-# CONFIG_MAC80211_MESSAGE_TRACING is not set
-# CONFIG_MAC80211_DEBUG_MENU is not set
-CONFIG_MAC80211_STA_HASH_MAX_SIZE=0
-CONFIG_WIMAX=m
-CONFIG_WIMAX_DEBUG_LEVEL=8
-CONFIG_RFKILL=m
-CONFIG_RFKILL_LEDS=y
-CONFIG_RFKILL_INPUT=y
-CONFIG_RFKILL_GPIO=m
-CONFIG_NET_9P=m
-CONFIG_NET_9P_VIRTIO=m
-# CONFIG_NET_9P_RDMA is not set
-# CONFIG_NET_9P_DEBUG is not set
-CONFIG_CAIF=m
-# CONFIG_CAIF_DEBUG is not set
-CONFIG_CAIF_NETDEV=m
-CONFIG_CAIF_USB=m
-CONFIG_CEPH_LIB=m
-# CONFIG_CEPH_LIB_PRETTYDEBUG is not set
-# CONFIG_CEPH_LIB_USE_DNS_RESOLVER is not set
-CONFIG_NFC=m
-CONFIG_NFC_DIGITAL=m
-CONFIG_NFC_NCI=m
-# CONFIG_NFC_NCI_SPI is not set
-# CONFIG_NFC_NCI_UART is not set
-CONFIG_NFC_HCI=m
-# CONFIG_NFC_SHDLC is not set
-
-#
-# Near Field Communication (NFC) devices
-#
-CONFIG_NFC_WILINK=m
-CONFIG_NFC_TRF7970A=m
-CONFIG_NFC_MEI_PHY=m
-CONFIG_NFC_SIM=m
-CONFIG_NFC_PORT100=m
-CONFIG_NFC_FDP=m
-CONFIG_NFC_FDP_I2C=m
-CONFIG_NFC_PN544=m
-CONFIG_NFC_PN544_MEI=m
-CONFIG_NFC_PN533=m
-CONFIG_NFC_PN533_USB=m
-CONFIG_NFC_PN533_I2C=m
-CONFIG_NFC_MICROREAD=m
-CONFIG_NFC_MICROREAD_MEI=m
-CONFIG_NFC_MRVL=m
-CONFIG_NFC_MRVL_USB=m
-CONFIG_NFC_MRVL_I2C=m
-CONFIG_NFC_ST_NCI=m
-CONFIG_NFC_ST_NCI_I2C=m
-# CONFIG_NFC_ST_NCI_SPI is not set
-# CONFIG_NFC_NXP_NCI is not set
-# CONFIG_NFC_S3FWRN5_I2C is not set
-# CONFIG_NFC_ST95HF is not set
-CONFIG_LWTUNNEL=y
-CONFIG_DST_CACHE=y
-CONFIG_NET_DEVLINK=m
-CONFIG_MAY_USE_DEVLINK=m
-CONFIG_HAVE_EBPF_JIT=y
-
-#
-# Device Drivers
-#
-
-#
-# Generic Driver Options
-#
-# CONFIG_UEVENT_HELPER is not set
-CONFIG_DEVTMPFS=y
-# CONFIG_DEVTMPFS_MOUNT is not set
-CONFIG_STANDALONE=y
-CONFIG_PREVENT_FIRMWARE_BUILD=y
-CONFIG_FW_LOADER=y
-# CONFIG_FIRMWARE_IN_KERNEL is not set
-CONFIG_EXTRA_FIRMWARE=""
-CONFIG_FW_LOADER_USER_HELPER=y
-# CONFIG_FW_LOADER_USER_HELPER_FALLBACK is not set
-CONFIG_WANT_DEV_COREDUMP=y
-CONFIG_ALLOW_DEV_COREDUMP=y
-CONFIG_DEV_COREDUMP=y
-# CONFIG_DEBUG_DRIVER is not set
-# CONFIG_DEBUG_DEVRES is not set
-# CONFIG_DEBUG_TEST_DRIVER_REMOVE is not set
-CONFIG_SYS_HYPERVISOR=y
-# CONFIG_GENERIC_CPU_DEVICES is not set
-CONFIG_GENERIC_CPU_AUTOPROBE=y
-CONFIG_REGMAP=y
-CONFIG_REGMAP_I2C=y
-CONFIG_REGMAP_SPI=y
-CONFIG_REGMAP_MMIO=y
-CONFIG_REGMAP_IRQ=y
-CONFIG_DMA_SHARED_BUFFER=y
-# CONFIG_FENCE_TRACE is not set
-
-#
-# Bus devices
-#
-CONFIG_CONNECTOR=y
-CONFIG_PROC_EVENTS=y
-CONFIG_MTD=m
-CONFIG_MTD_TESTS=m
-CONFIG_MTD_REDBOOT_PARTS=m
-CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1
-# CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED is not set
-# CONFIG_MTD_REDBOOT_PARTS_READONLY is not set
-CONFIG_MTD_CMDLINE_PARTS=m
-CONFIG_MTD_AR7_PARTS=m
-
-#
-# User Modules And Translation Layers
-#
-CONFIG_MTD_BLKDEVS=m
-CONFIG_MTD_BLOCK=m
-CONFIG_MTD_BLOCK_RO=m
-CONFIG_FTL=m
-CONFIG_NFTL=m
-CONFIG_NFTL_RW=y
-CONFIG_INFTL=m
-CONFIG_RFD_FTL=m
-CONFIG_SSFDC=m
-# CONFIG_SM_FTL is not set
-CONFIG_MTD_OOPS=m
-CONFIG_MTD_SWAP=m
-# CONFIG_MTD_PARTITIONED_MASTER is not set
-
-#
-# RAM/ROM/Flash chip drivers
-#
-CONFIG_MTD_CFI=m
-CONFIG_MTD_JEDECPROBE=m
-CONFIG_MTD_GEN_PROBE=m
-# CONFIG_MTD_CFI_ADV_OPTIONS is not set
-CONFIG_MTD_MAP_BANK_WIDTH_1=y
-CONFIG_MTD_MAP_BANK_WIDTH_2=y
-CONFIG_MTD_MAP_BANK_WIDTH_4=y
-# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
-# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
-# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
-CONFIG_MTD_CFI_I1=y
-CONFIG_MTD_CFI_I2=y
-# CONFIG_MTD_CFI_I4 is not set
-# CONFIG_MTD_CFI_I8 is not set
-CONFIG_MTD_CFI_INTELEXT=m
-CONFIG_MTD_CFI_AMDSTD=m
-CONFIG_MTD_CFI_STAA=m
-CONFIG_MTD_CFI_UTIL=m
-CONFIG_MTD_RAM=m
-CONFIG_MTD_ROM=m
-CONFIG_MTD_ABSENT=m
-
-#
-# Mapping drivers for chip access
-#
-CONFIG_MTD_COMPLEX_MAPPINGS=y
-# CONFIG_MTD_PHYSMAP is not set
-# CONFIG_MTD_SBC_GXX is not set
-# CONFIG_MTD_AMD76XROM is not set
-# CONFIG_MTD_ICHXROM is not set
-# CONFIG_MTD_ESB2ROM is not set
-# CONFIG_MTD_CK804XROM is not set
-CONFIG_MTD_SCB2_FLASH=m
-# CONFIG_MTD_NETtel is not set
-# CONFIG_MTD_L440GX is not set
-CONFIG_MTD_PCI=m
-CONFIG_MTD_PCMCIA=m
-# CONFIG_MTD_PCMCIA_ANONYMOUS is not set
-# CONFIG_MTD_GPIO_ADDR is not set
-# CONFIG_MTD_INTEL_VR_NOR is not set
-CONFIG_MTD_PLATRAM=m
-# CONFIG_MTD_LATCH_ADDR is not set
-
-#
-# Self-contained MTD device drivers
-#
-CONFIG_MTD_PMC551=m
-# CONFIG_MTD_PMC551_BUGFIX is not set
-# CONFIG_MTD_PMC551_DEBUG is not set
-# CONFIG_MTD_DATAFLASH is not set
-# CONFIG_MTD_SST25L is not set
-CONFIG_MTD_SLRAM=m
-CONFIG_MTD_PHRAM=m
-CONFIG_MTD_MTDRAM=m
-CONFIG_MTDRAM_TOTAL_SIZE=4096
-CONFIG_MTDRAM_ERASE_SIZE=128
-CONFIG_MTD_BLOCK2MTD=m
-
-#
-# Disk-On-Chip Device Drivers
-#
-# CONFIG_MTD_DOCG3 is not set
-# CONFIG_MTD_NAND is not set
-# CONFIG_MTD_ONENAND is not set
-
-#
-# LPDDR & LPDDR2 PCM memory drivers
-#
-CONFIG_MTD_LPDDR=m
-CONFIG_MTD_QINFO_PROBE=m
-# CONFIG_MTD_SPI_NOR is not set
-CONFIG_MTD_UBI=m
-CONFIG_MTD_UBI_WL_THRESHOLD=4096
-CONFIG_MTD_UBI_BEB_LIMIT=20
-# CONFIG_MTD_UBI_FASTMAP is not set
-# CONFIG_MTD_UBI_GLUEBI is not set
-CONFIG_MTD_UBI_BLOCK=y
-# CONFIG_OF is not set
-CONFIG_ARCH_MIGHT_HAVE_PC_PARPORT=y
-CONFIG_PARPORT=m
-CONFIG_PARPORT_PC=m
-CONFIG_PARPORT_SERIAL=m
-# CONFIG_PARPORT_PC_FIFO is not set
-# CONFIG_PARPORT_PC_SUPERIO is not set
-CONFIG_PARPORT_PC_PCMCIA=m
-# CONFIG_PARPORT_GSC is not set
-CONFIG_PARPORT_AX88796=m
-CONFIG_PARPORT_1284=y
-CONFIG_PARPORT_NOT_PC=y
-CONFIG_PNP=y
-# CONFIG_PNP_DEBUG_MESSAGES is not set
-
-#
-# Protocols
-#
-CONFIG_PNPACPI=y
-CONFIG_BLK_DEV=y
-# CONFIG_BLK_DEV_NULL_BLK is not set
-CONFIG_BLK_DEV_FD=m
-# CONFIG_PARIDE is not set
-CONFIG_BLK_DEV_PCIESSD_MTIP32XX=m
-CONFIG_ZRAM=m
-CONFIG_BLK_CPQ_CISS_DA=m
-# CONFIG_CISS_SCSI_TAPE is not set
-CONFIG_BLK_DEV_DAC960=m
-# CONFIG_BLK_DEV_UMEM is not set
-# CONFIG_BLK_DEV_COW_COMMON is not set
-CONFIG_BLK_DEV_LOOP=m
-CONFIG_BLK_DEV_LOOP_MIN_COUNT=8
-CONFIG_BLK_DEV_CRYPTOLOOP=m
-CONFIG_BLK_DEV_DRBD=m
-# CONFIG_DRBD_FAULT_INJECTION is not set
-CONFIG_BLK_DEV_NBD=m
-CONFIG_BLK_DEV_SKD=m
-CONFIG_BLK_DEV_OSD=m
-CONFIG_BLK_DEV_SX8=m
-CONFIG_BLK_DEV_RAM=m
-CONFIG_BLK_DEV_RAM_COUNT=16
-CONFIG_BLK_DEV_RAM_SIZE=16384
-CONFIG_CDROM_PKTCDVD=m
-CONFIG_CDROM_PKTCDVD_BUFFERS=8
-# CONFIG_CDROM_PKTCDVD_WCACHE is not set
-CONFIG_ATA_OVER_ETH=m
-CONFIG_XEN_BLKDEV_FRONTEND=m
-CONFIG_XEN_BLKDEV_BACKEND=m
-CONFIG_VIRTIO_BLK=m
-# CONFIG_BLK_DEV_HD is not set
-CONFIG_BLK_DEV_RBD=m
-CONFIG_BLK_DEV_RSXX=m
-CONFIG_NVME_CORE=m
-CONFIG_BLK_DEV_NVME=m
-# CONFIG_BLK_DEV_NVME_SCSI is not set
-CONFIG_NVME_FABRICS=m
-CONFIG_NVME_RDMA=m
-CONFIG_NVME_TARGET=m
-CONFIG_NVME_TARGET_LOOP=m
-CONFIG_NVME_TARGET_RDMA=m
-
-#
-# Misc devices
-#
-CONFIG_SENSORS_LIS3LV02D=m
-CONFIG_AD525X_DPOT=m
-CONFIG_AD525X_DPOT_I2C=m
-# CONFIG_AD525X_DPOT_SPI is not set
-# CONFIG_DUMMY_IRQ is not set
-# CONFIG_IBM_ASM is not set
-CONFIG_PHANTOM=m
-CONFIG_SGI_IOC4=m
-CONFIG_TIFM_CORE=m
-CONFIG_TIFM_7XX1=m
-CONFIG_ICS932S401=m
-CONFIG_ENCLOSURE_SERVICES=m
-CONFIG_HP_ILO=m
-CONFIG_APDS9802ALS=m
-CONFIG_ISL29003=m
-CONFIG_ISL29020=m
-CONFIG_SENSORS_TSL2550=m
-CONFIG_SENSORS_BH1770=m
-CONFIG_SENSORS_APDS990X=m
-CONFIG_HMC6352=m
-CONFIG_DS1682=m
-# CONFIG_TI_DAC7512 is not set
-CONFIG_VMWARE_BALLOON=m
-CONFIG_USB_SWITCH_FSA9480=m
-# CONFIG_LATTICE_ECP3_CONFIG is not set
-# CONFIG_SRAM is not set
-# CONFIG_PANEL is not set
-CONFIG_C2PORT=m
-CONFIG_C2PORT_DURAMAR_2150=m
-
-#
-# EEPROM support
-#
-CONFIG_EEPROM_AT24=m
-# CONFIG_EEPROM_AT25 is not set
-CONFIG_EEPROM_LEGACY=m
-CONFIG_EEPROM_MAX6875=m
-CONFIG_EEPROM_93CX6=m
-# CONFIG_EEPROM_93XX46 is not set
-CONFIG_CB710_CORE=m
-# CONFIG_CB710_DEBUG is not set
-CONFIG_CB710_DEBUG_ASSUMPTIONS=y
-
-#
-# Texas Instruments shared transport line discipline
-#
-CONFIG_TI_ST=m
-CONFIG_SENSORS_LIS3_I2C=m
-
-#
-# Altera FPGA firmware download module
-#
-CONFIG_ALTERA_STAPL=m
-CONFIG_INTEL_MEI=m
-CONFIG_INTEL_MEI_ME=m
-CONFIG_INTEL_MEI_TXE=m
-CONFIG_VMWARE_VMCI=m
-
-#
-# Intel MIC Bus Driver
-#
-CONFIG_INTEL_MIC_BUS=m
-
-#
-# SCIF Bus Driver
-#
-CONFIG_SCIF_BUS=m
-
-#
-# VOP Bus Driver
-#
-CONFIG_VOP_BUS=m
-
-#
-# Intel MIC Host Driver
-#
-CONFIG_INTEL_MIC_HOST=m
-
-#
-# Intel MIC Card Driver
-#
-CONFIG_INTEL_MIC_CARD=m
-
-#
-# SCIF Driver
-#
-CONFIG_SCIF=m
-
-#
-# Intel MIC Coprocessor State Management (COSM) Drivers
-#
-CONFIG_MIC_COSM=m
-
-#
-# VOP Driver
-#
-CONFIG_VOP=m
-CONFIG_VHOST_RING=m
-CONFIG_GENWQE=m
-CONFIG_GENWQE_PLATFORM_ERROR_RECOVERY=0
-CONFIG_ECHO=m
-# CONFIG_CXL_BASE is not set
-# CONFIG_CXL_AFU_DRIVER_OPS is not set
-CONFIG_HAVE_IDE=y
-# CONFIG_IDE is not set
-
-#
-# SCSI device support
-#
-CONFIG_SCSI_MOD=m
-CONFIG_RAID_ATTRS=m
-CONFIG_SCSI=m
-CONFIG_SCSI_DMA=y
-CONFIG_SCSI_NETLINK=y
-# CONFIG_SCSI_MQ_DEFAULT is not set
-CONFIG_SCSI_PROC_FS=y
-
-#
-# SCSI support type (disk, tape, CD-ROM)
-#
-CONFIG_BLK_DEV_SD=m
-CONFIG_CHR_DEV_ST=m
-CONFIG_CHR_DEV_OSST=m
-CONFIG_BLK_DEV_SR=m
-CONFIG_BLK_DEV_SR_VENDOR=y
-CONFIG_CHR_DEV_SG=m
-CONFIG_CHR_DEV_SCH=m
-CONFIG_SCSI_ENCLOSURE=m
-# CONFIG_SCSI_CONSTANTS is not set
-# CONFIG_SCSI_LOGGING is not set
-CONFIG_SCSI_SCAN_ASYNC=y
-
-#
-# SCSI Transports
-#
-CONFIG_SCSI_SPI_ATTRS=m
-CONFIG_SCSI_FC_ATTRS=m
-CONFIG_SCSI_ISCSI_ATTRS=m
-CONFIG_SCSI_SAS_ATTRS=m
-CONFIG_SCSI_SAS_LIBSAS=m
-CONFIG_SCSI_SAS_ATA=y
-CONFIG_SCSI_SAS_HOST_SMP=y
-CONFIG_SCSI_SRP_ATTRS=m
-CONFIG_SCSI_LOWLEVEL=y
-CONFIG_ISCSI_TCP=m
-CONFIG_ISCSI_BOOT_SYSFS=m
-CONFIG_SCSI_CXGB3_ISCSI=m
-CONFIG_SCSI_CXGB4_ISCSI=m
-CONFIG_SCSI_BNX2_ISCSI=m
-CONFIG_SCSI_BNX2X_FCOE=m
-CONFIG_BE2ISCSI=m
-CONFIG_BLK_DEV_3W_XXXX_RAID=m
-CONFIG_SCSI_HPSA=m
-CONFIG_SCSI_3W_9XXX=m
-CONFIG_SCSI_3W_SAS=m
-CONFIG_SCSI_ACARD=m
-CONFIG_SCSI_AACRAID=m
-CONFIG_SCSI_AIC7XXX=m
-CONFIG_AIC7XXX_CMDS_PER_DEVICE=32
-CONFIG_AIC7XXX_RESET_DELAY_MS=15000
-# CONFIG_AIC7XXX_DEBUG_ENABLE is not set
-CONFIG_AIC7XXX_DEBUG_MASK=0
-CONFIG_AIC7XXX_REG_PRETTY_PRINT=y
-CONFIG_SCSI_AIC79XX=m
-CONFIG_AIC79XX_CMDS_PER_DEVICE=32
-CONFIG_AIC79XX_RESET_DELAY_MS=15000
-# CONFIG_AIC79XX_DEBUG_ENABLE is not set
-CONFIG_AIC79XX_DEBUG_MASK=0
-CONFIG_AIC79XX_REG_PRETTY_PRINT=y
-CONFIG_SCSI_AIC94XX=m
-# CONFIG_AIC94XX_DEBUG is not set
-CONFIG_SCSI_MVSAS=m
-# CONFIG_SCSI_MVSAS_DEBUG is not set
-CONFIG_SCSI_MVSAS_TASKLET=y
-CONFIG_SCSI_MVUMI=m
-CONFIG_SCSI_DPT_I2O=m
-CONFIG_SCSI_ADVANSYS=m
-CONFIG_SCSI_ARCMSR=m
-CONFIG_SCSI_ESAS2R=m
-CONFIG_MEGARAID_NEWGEN=y
-CONFIG_MEGARAID_MM=m
-CONFIG_MEGARAID_MAILBOX=m
-CONFIG_MEGARAID_LEGACY=m
-CONFIG_MEGARAID_SAS=m
-CONFIG_SCSI_MPT3SAS=m
-CONFIG_SCSI_MPT2SAS_MAX_SGE=128
-CONFIG_SCSI_MPT3SAS_MAX_SGE=128
-CONFIG_SCSI_MPT2SAS=m
-CONFIG_SCSI_SMARTPQI=m
-CONFIG_SCSI_UFSHCD=m
-CONFIG_SCSI_UFSHCD_PCI=m
-# CONFIG_SCSI_UFS_DWC_TC_PCI is not set
-CONFIG_SCSI_UFSHCD_PLATFORM=m
-# CONFIG_SCSI_UFS_DWC_TC_PLATFORM is not set
-CONFIG_SCSI_HPTIOP=m
-CONFIG_SCSI_BUSLOGIC=m
-CONFIG_SCSI_FLASHPOINT=y
-CONFIG_VMWARE_PVSCSI=m
-# CONFIG_XEN_SCSI_FRONTEND is not set
-CONFIG_HYPERV_STORAGE=m
-CONFIG_LIBFC=m
-CONFIG_LIBFCOE=m
-CONFIG_FCOE=m
-CONFIG_FCOE_FNIC=m
-CONFIG_SCSI_SNIC=m
-# CONFIG_SCSI_SNIC_DEBUG_FS is not set
-CONFIG_SCSI_DMX3191D=m
-CONFIG_SCSI_EATA=m
-# CONFIG_SCSI_EATA_TAGGED_QUEUE is not set
-# CONFIG_SCSI_EATA_LINKED_COMMANDS is not set
-CONFIG_SCSI_EATA_MAX_TAGS=16
-CONFIG_SCSI_FUTURE_DOMAIN=m
-CONFIG_SCSI_GDTH=m
-CONFIG_SCSI_ISCI=m
-CONFIG_SCSI_IPS=m
-CONFIG_SCSI_INITIO=m
-CONFIG_SCSI_INIA100=m
-CONFIG_SCSI_PPA=m
-CONFIG_SCSI_IMM=m
-# CONFIG_SCSI_IZIP_EPP16 is not set
-# CONFIG_SCSI_IZIP_SLOW_CTR is not set
-CONFIG_SCSI_STEX=m
-CONFIG_SCSI_SYM53C8XX_2=m
-CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1
-CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16
-CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64
-CONFIG_SCSI_SYM53C8XX_MMIO=y
-CONFIG_SCSI_IPR=m
-# CONFIG_SCSI_IPR_TRACE is not set
-# CONFIG_SCSI_IPR_DUMP is not set
-CONFIG_SCSI_QLOGIC_1280=m
-CONFIG_SCSI_QLA_FC=m
-CONFIG_TCM_QLA2XXX=m
-# CONFIG_TCM_QLA2XXX_DEBUG is not set
-CONFIG_SCSI_QLA_ISCSI=m
-CONFIG_SCSI_LPFC=m
-# CONFIG_SCSI_LPFC_DEBUG_FS is not set
-CONFIG_SCSI_DC395x=m
-CONFIG_SCSI_AM53C974=m
-CONFIG_SCSI_WD719X=m
-# CONFIG_SCSI_DEBUG is not set
-CONFIG_SCSI_PMCRAID=m
-CONFIG_SCSI_PM8001=m
-CONFIG_SCSI_BFA_FC=m
-CONFIG_SCSI_VIRTIO=m
-CONFIG_SCSI_CHELSIO_FCOE=m
-CONFIG_SCSI_LOWLEVEL_PCMCIA=y
-CONFIG_PCMCIA_AHA152X=m
-CONFIG_PCMCIA_FDOMAIN=m
-CONFIG_PCMCIA_QLOGIC=m
-CONFIG_PCMCIA_SYM53C500=m
-CONFIG_SCSI_DH=y
-CONFIG_SCSI_DH_RDAC=m
-CONFIG_SCSI_DH_HP_SW=m
-CONFIG_SCSI_DH_EMC=m
-CONFIG_SCSI_DH_ALUA=m
-CONFIG_SCSI_OSD_INITIATOR=m
-CONFIG_SCSI_OSD_ULD=m
-CONFIG_SCSI_OSD_DPRINT_SENSE=0
-# CONFIG_SCSI_OSD_DEBUG is not set
-CONFIG_ATA=m
-# CONFIG_ATA_NONSTANDARD is not set
-CONFIG_ATA_VERBOSE_ERROR=y
-CONFIG_ATA_ACPI=y
-CONFIG_SATA_ZPODD=y
-CONFIG_SATA_PMP=y
-
-#
-# Controllers with non-SFF native interface
-#
-CONFIG_SATA_AHCI=m
-CONFIG_SATA_AHCI_PLATFORM=m
-CONFIG_SATA_INIC162X=m
-CONFIG_SATA_ACARD_AHCI=m
-CONFIG_SATA_SIL24=m
-CONFIG_ATA_SFF=y
-
-#
-# SFF controllers with custom DMA interface
-#
-CONFIG_PDC_ADMA=m
-CONFIG_SATA_QSTOR=m
-CONFIG_SATA_SX4=m
-CONFIG_ATA_BMDMA=y
-
-#
-# SATA SFF controllers with BMDMA
-#
-CONFIG_ATA_PIIX=m
-CONFIG_SATA_DWC=m
-# CONFIG_SATA_DWC_OLD_DMA is not set
-# CONFIG_SATA_DWC_DEBUG is not set
-CONFIG_SATA_MV=m
-CONFIG_SATA_NV=m
-CONFIG_SATA_PROMISE=m
-CONFIG_SATA_SIL=m
-CONFIG_SATA_SIS=m
-CONFIG_SATA_SVW=m
-CONFIG_SATA_ULI=m
-CONFIG_SATA_VIA=m
-CONFIG_SATA_VITESSE=m
-
-#
-# PATA SFF controllers with BMDMA
-#
-CONFIG_PATA_ALI=m
-CONFIG_PATA_AMD=m
-CONFIG_PATA_ARTOP=m
-CONFIG_PATA_ATIIXP=m
-CONFIG_PATA_ATP867X=m
-CONFIG_PATA_CMD64X=m
-CONFIG_PATA_CYPRESS=m
-CONFIG_PATA_EFAR=m
-CONFIG_PATA_HPT366=m
-CONFIG_PATA_HPT37X=m
-CONFIG_PATA_HPT3X2N=m
-CONFIG_PATA_HPT3X3=m
-# CONFIG_PATA_HPT3X3_DMA is not set
-CONFIG_PATA_IT8213=m
-CONFIG_PATA_IT821X=m
-CONFIG_PATA_JMICRON=m
-CONFIG_PATA_MARVELL=m
-CONFIG_PATA_NETCELL=m
-CONFIG_PATA_NINJA32=m
-CONFIG_PATA_NS87415=m
-CONFIG_PATA_OLDPIIX=m
-CONFIG_PATA_OPTIDMA=m
-CONFIG_PATA_PDC2027X=m
-CONFIG_PATA_PDC_OLD=m
-CONFIG_PATA_RADISYS=m
-CONFIG_PATA_RDC=m
-CONFIG_PATA_SCH=m
-CONFIG_PATA_SERVERWORKS=m
-CONFIG_PATA_SIL680=m
-CONFIG_PATA_SIS=m
-CONFIG_PATA_TOSHIBA=m
-CONFIG_PATA_TRIFLEX=m
-CONFIG_PATA_VIA=m
-CONFIG_PATA_WINBOND=m
-
-#
-# PIO-only SFF controllers
-#
-CONFIG_PATA_CMD640_PCI=m
-CONFIG_PATA_MPIIX=m
-CONFIG_PATA_NS87410=m
-CONFIG_PATA_OPTI=m
-CONFIG_PATA_PCMCIA=m
-CONFIG_PATA_RZ1000=m
-
-#
-# Generic fallback / legacy drivers
-#
-CONFIG_PATA_ACPI=m
-CONFIG_ATA_GENERIC=m
-CONFIG_PATA_LEGACY=m
-CONFIG_MD=y
-CONFIG_BLK_DEV_MD=m
-CONFIG_MD_LINEAR=m
-CONFIG_MD_RAID0=m
-CONFIG_MD_RAID1=m
-CONFIG_MD_RAID10=m
-CONFIG_MD_RAID456=m
-CONFIG_MD_MULTIPATH=m
-CONFIG_MD_FAULTY=m
-# CONFIG_MD_CLUSTER is not set
-CONFIG_BCACHE=m
-# CONFIG_BCACHE_DEBUG is not set
-# CONFIG_BCACHE_CLOSURES_DEBUG is not set
-CONFIG_BLK_DEV_DM_BUILTIN=y
-CONFIG_BLK_DEV_DM=m
-# CONFIG_DM_MQ_DEFAULT is not set
-# CONFIG_DM_DEBUG is not set
-CONFIG_DM_BUFIO=m
-# CONFIG_DM_DEBUG_BLOCK_STACK_TRACING is not set
-CONFIG_DM_BIO_PRISON=m
-CONFIG_DM_PERSISTENT_DATA=m
-CONFIG_DM_CRYPT=m
-CONFIG_DM_SNAPSHOT=m
-CONFIG_DM_THIN_PROVISIONING=m
-CONFIG_DM_CACHE=m
-CONFIG_DM_CACHE_SMQ=m
-CONFIG_DM_CACHE_CLEANER=m
-CONFIG_DM_ERA=m
-CONFIG_DM_MIRROR=m
-CONFIG_DM_LOG_USERSPACE=m
-CONFIG_DM_RAID=m
-CONFIG_DM_ZERO=m
-CONFIG_DM_MULTIPATH=m
-CONFIG_DM_MULTIPATH_QL=m
-CONFIG_DM_MULTIPATH_ST=m
-CONFIG_DM_DELAY=m
-CONFIG_DM_UEVENT=y
-CONFIG_DM_FLAKEY=m
-CONFIG_DM_VERITY=m
-CONFIG_DM_VERITY_FEC=y
-CONFIG_DM_SWITCH=m
-CONFIG_DM_LOG_WRITES=m
-CONFIG_TARGET_CORE=m
-CONFIG_TCM_IBLOCK=m
-CONFIG_TCM_FILEIO=m
-CONFIG_TCM_PSCSI=m
-CONFIG_TCM_USER2=m
-CONFIG_LOOPBACK_TARGET=m
-CONFIG_TCM_FC=m
-CONFIG_ISCSI_TARGET=m
-CONFIG_ISCSI_TARGET_CXGB4=m
-CONFIG_SBP_TARGET=m
-CONFIG_FUSION=y
-CONFIG_FUSION_SPI=m
-CONFIG_FUSION_FC=m
-CONFIG_FUSION_SAS=m
-CONFIG_FUSION_MAX_SGE=128
-CONFIG_FUSION_CTL=m
-# CONFIG_FUSION_LOGGING is not set
-
-#
-# IEEE 1394 (FireWire) support
-#
-CONFIG_FIREWIRE=m
-CONFIG_FIREWIRE_OHCI=m
-CONFIG_FIREWIRE_SBP2=m
-CONFIG_FIREWIRE_NET=m
-CONFIG_FIREWIRE_NOSY=m
-CONFIG_MACINTOSH_DRIVERS=y
-CONFIG_MAC_EMUMOUSEBTN=m
-CONFIG_NETDEVICES=y
-CONFIG_MII=m
-CONFIG_NET_CORE=y
-CONFIG_BONDING=m
-CONFIG_DUMMY=m
-CONFIG_EQUALIZER=m
-# CONFIG_NET_FC is not set
-CONFIG_IFB=m
-CONFIG_NET_TEAM=m
-CONFIG_NET_TEAM_MODE_BROADCAST=m
-CONFIG_NET_TEAM_MODE_ROUNDROBIN=m
-CONFIG_NET_TEAM_MODE_RANDOM=m
-CONFIG_NET_TEAM_MODE_ACTIVEBACKUP=m
-CONFIG_NET_TEAM_MODE_LOADBALANCE=m
-CONFIG_MACVLAN=m
-CONFIG_MACVTAP=m
-CONFIG_IPVLAN=m
-CONFIG_VXLAN=m
-CONFIG_GENEVE=m
-CONFIG_GTP=m
-CONFIG_MACSEC=m
-CONFIG_NETCONSOLE=m
-CONFIG_NETCONSOLE_DYNAMIC=y
-CONFIG_NETPOLL=y
-CONFIG_NET_POLL_CONTROLLER=y
-CONFIG_TUN=m
-# CONFIG_TUN_VNET_CROSS_LE is not set
-CONFIG_VETH=m
-CONFIG_VIRTIO_NET=m
-CONFIG_NLMON=m
-CONFIG_NET_VRF=m
-CONFIG_SUNGEM_PHY=m
-# CONFIG_ARCNET is not set
-CONFIG_ATM_DRIVERS=y
-# CONFIG_ATM_DUMMY is not set
-CONFIG_ATM_TCP=m
-CONFIG_ATM_LANAI=m
-CONFIG_ATM_ENI=m
-# CONFIG_ATM_ENI_DEBUG is not set
-# CONFIG_ATM_ENI_TUNE_BURST is not set
-CONFIG_ATM_FIRESTREAM=m
-CONFIG_ATM_ZATM=m
-# CONFIG_ATM_ZATM_DEBUG is not set
-CONFIG_ATM_NICSTAR=m
-# CONFIG_ATM_NICSTAR_USE_SUNI is not set
-# CONFIG_ATM_NICSTAR_USE_IDT77105 is not set
-CONFIG_ATM_IDT77252=m
-# CONFIG_ATM_IDT77252_DEBUG is not set
-# CONFIG_ATM_IDT77252_RCV_ALL is not set
-CONFIG_ATM_IDT77252_USE_SUNI=y
-CONFIG_ATM_AMBASSADOR=m
-# CONFIG_ATM_AMBASSADOR_DEBUG is not set
-CONFIG_ATM_HORIZON=m
-# CONFIG_ATM_HORIZON_DEBUG is not set
-CONFIG_ATM_IA=m
-# CONFIG_ATM_IA_DEBUG is not set
-CONFIG_ATM_FORE200E=m
-# CONFIG_ATM_FORE200E_USE_TASKLET is not set
-CONFIG_ATM_FORE200E_TX_RETRY=16
-CONFIG_ATM_FORE200E_DEBUG=0
-CONFIG_ATM_HE=m
-# CONFIG_ATM_HE_USE_SUNI is not set
-CONFIG_ATM_SOLOS=m
-
-#
-# CAIF transport drivers
-#
-CONFIG_CAIF_TTY=m
-CONFIG_CAIF_SPI_SLAVE=m
-CONFIG_CAIF_SPI_SYNC=y
-CONFIG_CAIF_HSI=m
-CONFIG_CAIF_VIRTIO=m
-
-#
-# Distributed Switch Architecture drivers
-#
-CONFIG_NET_DSA_MV88E6060=m
-CONFIG_NET_DSA_BCM_SF2=m
-CONFIG_B53=m
-CONFIG_B53_SPI_DRIVER=m
-CONFIG_B53_MDIO_DRIVER=m
-CONFIG_B53_MMAP_DRIVER=m
-CONFIG_B53_SRAB_DRIVER=m
-CONFIG_NET_DSA_MV88E6XXX=m
-CONFIG_NET_DSA_MV88E6XXX_GLOBAL2=y
-CONFIG_NET_DSA_QCA8K=m
-CONFIG_ETHERNET=y
-CONFIG_MDIO=m
-CONFIG_NET_VENDOR_3COM=y
-CONFIG_PCMCIA_3C574=m
-CONFIG_PCMCIA_3C589=m
-CONFIG_VORTEX=m
-CONFIG_TYPHOON=m
-CONFIG_NET_VENDOR_ADAPTEC=y
-CONFIG_ADAPTEC_STARFIRE=m
-CONFIG_NET_VENDOR_AGERE=y
-CONFIG_ET131X=m
-CONFIG_NET_VENDOR_ALTEON=y
-CONFIG_ACENIC=m
-# CONFIG_ACENIC_OMIT_TIGON_I is not set
-CONFIG_ALTERA_TSE=m
-CONFIG_NET_VENDOR_AMAZON=y
-CONFIG_ENA_ETHERNET=m
-CONFIG_NET_VENDOR_AMD=y
-CONFIG_AMD8111_ETH=m
-CONFIG_PCNET32=m
-CONFIG_PCMCIA_NMCLAN=m
-CONFIG_NET_VENDOR_ARC=y
-CONFIG_NET_VENDOR_ATHEROS=y
-CONFIG_ATL2=m
-CONFIG_ATL1=m
-CONFIG_ATL1E=m
-CONFIG_ATL1C=m
-CONFIG_ALX=m
-CONFIG_NET_VENDOR_AURORA=y
-CONFIG_AURORA_NB8800=m
-CONFIG_NET_CADENCE=y
-CONFIG_MACB=m
-CONFIG_NET_VENDOR_BROADCOM=y
-CONFIG_B44=m
-CONFIG_B44_PCI_AUTOSELECT=y
-CONFIG_B44_PCICORE_AUTOSELECT=y
-CONFIG_B44_PCI=y
-CONFIG_BCMGENET=m
-CONFIG_BNX2=m
-CONFIG_CNIC=m
-CONFIG_TIGON3=m
-CONFIG_BNX2X=m
-CONFIG_BNX2X_SRIOV=y
-CONFIG_BNXT=m
-CONFIG_BNXT_SRIOV=y
-CONFIG_NET_VENDOR_BROCADE=y
-CONFIG_BNA=m
-# CONFIG_NET_VENDOR_CAVIUM is not set
-CONFIG_NET_VENDOR_CHELSIO=y
-CONFIG_CHELSIO_T1=m
-CONFIG_CHELSIO_T1_1G=y
-CONFIG_CHELSIO_T3=m
-CONFIG_CHELSIO_T4=m
-CONFIG_CHELSIO_T4VF=m
-CONFIG_CHELSIO_LIB=m
-CONFIG_NET_VENDOR_CISCO=y
-CONFIG_ENIC=m
-CONFIG_CX_ECAT=m
-CONFIG_DNET=m
-CONFIG_NET_VENDOR_DEC=y
-CONFIG_NET_TULIP=y
-CONFIG_DE2104X=m
-CONFIG_DE2104X_DSL=0
-CONFIG_TULIP=m
-# CONFIG_TULIP_MWI is not set
-# CONFIG_TULIP_MMIO is not set
-# CONFIG_TULIP_NAPI is not set
-CONFIG_DE4X5=m
-CONFIG_WINBOND_840=m
-CONFIG_DM9102=m
-CONFIG_ULI526X=m
-CONFIG_PCMCIA_XIRCOM=m
-CONFIG_NET_VENDOR_DLINK=y
-CONFIG_DL2K=m
-CONFIG_SUNDANCE=m
-# CONFIG_SUNDANCE_MMIO is not set
-CONFIG_NET_VENDOR_EMULEX=y
-CONFIG_BE2NET=m
-CONFIG_BE2NET_HWMON=y
-# CONFIG_NET_VENDOR_EZCHIP is not set
-CONFIG_NET_VENDOR_EXAR=y
-CONFIG_S2IO=m
-CONFIG_VXGE=m
-# CONFIG_VXGE_DEBUG_TRACE_ALL is not set
-CONFIG_NET_VENDOR_FUJITSU=y
-CONFIG_PCMCIA_FMVJ18X=m
-CONFIG_NET_VENDOR_HP=y
-CONFIG_HP100=m
-CONFIG_NET_VENDOR_INTEL=y
-CONFIG_E100=m
-CONFIG_E1000=m
-CONFIG_E1000E=m
-CONFIG_E1000E_HWTS=y
-CONFIG_IGB=m
-CONFIG_IGB_HWMON=y
-CONFIG_IGB_DCA=y
-CONFIG_IGBVF=m
-CONFIG_IXGB=m
-CONFIG_IXGBE=m
-CONFIG_IXGBE_HWMON=y
-CONFIG_IXGBE_DCA=y
-CONFIG_IXGBEVF=m
-CONFIG_I40E=m
-CONFIG_I40EVF=m
-CONFIG_FM10K=m
-CONFIG_NET_VENDOR_I825XX=y
-CONFIG_JME=m
-CONFIG_NET_VENDOR_MARVELL=y
-CONFIG_MVMDIO=m
-# CONFIG_MVNETA_BM is not set
-CONFIG_SKGE=m
-# CONFIG_SKGE_DEBUG is not set
-CONFIG_SKGE_GENESIS=y
-CONFIG_SKY2=m
-# CONFIG_SKY2_DEBUG is not set
-CONFIG_NET_VENDOR_MELLANOX=y
-CONFIG_MLX4_EN=m
-CONFIG_MLX4_CORE=m
-CONFIG_MLX4_DEBUG=y
-CONFIG_MLX5_CORE=m
-CONFIG_MLX5_CORE_EN=y
-CONFIG_MLXSW_CORE=m
-CONFIG_MLXSW_CORE_HWMON=y
-CONFIG_MLXSW_PCI=m
-CONFIG_MLXSW_SWITCHX2=m
-CONFIG_MLXSW_SPECTRUM=m
-CONFIG_NET_VENDOR_MICREL=y
-CONFIG_KS8842=m
-CONFIG_KS8851=m
-CONFIG_KS8851_MLL=m
-CONFIG_KSZ884X_PCI=m
-CONFIG_NET_VENDOR_MICROCHIP=y
-CONFIG_ENC28J60=m
-# CONFIG_ENC28J60_WRITEVERIFY is not set
-CONFIG_ENCX24J600=m
-CONFIG_NET_VENDOR_MYRI=y
-CONFIG_MYRI10GE=m
-CONFIG_MYRI10GE_DCA=y
-CONFIG_FEALNX=m
-CONFIG_NET_VENDOR_NATSEMI=y
-CONFIG_NATSEMI=m
-CONFIG_NS83820=m
-CONFIG_NET_VENDOR_NETRONOME=y
-CONFIG_NFP_NETVF=m
-# CONFIG_NFP_NET_DEBUG is not set
-CONFIG_NET_VENDOR_8390=y
-CONFIG_PCMCIA_AXNET=m
-CONFIG_NE2K_PCI=m
-CONFIG_PCMCIA_PCNET=m
-CONFIG_NET_VENDOR_NVIDIA=y
-CONFIG_FORCEDETH=m
-CONFIG_NET_VENDOR_OKI=y
-CONFIG_ETHOC=m
-CONFIG_NET_PACKET_ENGINE=y
-CONFIG_HAMACHI=m
-CONFIG_YELLOWFIN=m
-CONFIG_NET_VENDOR_QLOGIC=y
-CONFIG_QLA3XXX=m
-CONFIG_QLCNIC=m
-CONFIG_QLCNIC_SRIOV=y
-CONFIG_QLCNIC_HWMON=y
-CONFIG_QLGE=m
-CONFIG_NETXEN_NIC=m
-CONFIG_QED=m
-CONFIG_QED_SRIOV=y
-CONFIG_QEDE=m
-CONFIG_NET_VENDOR_QUALCOMM=y
-CONFIG_QCOM_EMAC=m
-CONFIG_NET_VENDOR_REALTEK=y
-CONFIG_ATP=m
-CONFIG_8139CP=m
-CONFIG_8139TOO=m
-# CONFIG_8139TOO_PIO is not set
-CONFIG_8139TOO_TUNE_TWISTER=y
-CONFIG_8139TOO_8129=y
-# CONFIG_8139_OLD_RX_RESET is not set
-CONFIG_R8169=m
-# CONFIG_NET_VENDOR_RENESAS is not set
-CONFIG_NET_VENDOR_RDC=y
-CONFIG_R6040=m
-CONFIG_NET_VENDOR_ROCKER=y
-CONFIG_ROCKER=m
-CONFIG_NET_VENDOR_SAMSUNG=y
-CONFIG_SXGBE_ETH=m
-CONFIG_NET_VENDOR_SEEQ=y
-CONFIG_NET_VENDOR_SILAN=y
-CONFIG_SC92031=m
-CONFIG_NET_VENDOR_SIS=y
-CONFIG_SIS900=m
-CONFIG_SIS190=m
-CONFIG_SFC=m
-CONFIG_SFC_MTD=y
-CONFIG_SFC_MCDI_MON=y
-CONFIG_SFC_SRIOV=y
-CONFIG_SFC_MCDI_LOGGING=y
-CONFIG_NET_VENDOR_SMSC=y
-CONFIG_PCMCIA_SMC91C92=m
-CONFIG_EPIC100=m
-CONFIG_SMSC911X=m
-# CONFIG_SMSC911X_ARCH_HOOKS is not set
-CONFIG_SMSC9420=m
-CONFIG_NET_VENDOR_STMICRO=y
-CONFIG_STMMAC_ETH=m
-# CONFIG_STMMAC_PLATFORM is not set
-CONFIG_STMMAC_PCI=m
-CONFIG_NET_VENDOR_SUN=y
-CONFIG_HAPPYMEAL=m
-CONFIG_SUNGEM=m
-CONFIG_CASSINI=m
-CONFIG_NIU=m
-CONFIG_NET_VENDOR_SYNOPSYS=y
-CONFIG_NET_VENDOR_TEHUTI=y
-CONFIG_TEHUTI=m
-CONFIG_NET_VENDOR_TI=y
-CONFIG_TI_CPSW_ALE=m
-CONFIG_TLAN=m
-CONFIG_NET_VENDOR_VIA=y
-CONFIG_VIA_RHINE=m
-# CONFIG_VIA_RHINE_MMIO is not set
-CONFIG_VIA_VELOCITY=m
-CONFIG_NET_VENDOR_WIZNET=y
-CONFIG_WIZNET_W5100=m
-CONFIG_WIZNET_W5300=m
-# CONFIG_WIZNET_BUS_DIRECT is not set
-# CONFIG_WIZNET_BUS_INDIRECT is not set
-CONFIG_WIZNET_BUS_ANY=y
-CONFIG_WIZNET_W5100_SPI=m
-CONFIG_NET_VENDOR_XIRCOM=y
-CONFIG_PCMCIA_XIRC2PS=m
-# CONFIG_FDDI is not set
-# CONFIG_HIPPI is not set
-CONFIG_NET_SB1000=m
-CONFIG_PHYLIB=m
-CONFIG_SWPHY=y
-
-#
-# MDIO bus device drivers
-#
-CONFIG_MDIO_BCM_UNIMAC=m
-CONFIG_MDIO_BITBANG=m
-CONFIG_MDIO_CAVIUM=m
-# CONFIG_MDIO_GPIO is not set
-CONFIG_MDIO_OCTEON=m
-# CONFIG_MDIO_THUNDER is not set
-
-#
-# MII PHY device drivers
-#
-CONFIG_AMD_PHY=m
-CONFIG_AQUANTIA_PHY=m
-CONFIG_AT803X_PHY=m
-CONFIG_BCM7XXX_PHY=m
-CONFIG_BCM87XX_PHY=m
-CONFIG_BCM_NET_PHYLIB=m
-CONFIG_BROADCOM_PHY=m
-CONFIG_CICADA_PHY=m
-CONFIG_DAVICOM_PHY=m
-CONFIG_DP83848_PHY=m
-CONFIG_DP83867_PHY=m
-CONFIG_FIXED_PHY=m
-CONFIG_ICPLUS_PHY=m
-CONFIG_INTEL_XWAY_PHY=m
-CONFIG_LSI_ET1011C_PHY=m
-CONFIG_LXT_PHY=m
-CONFIG_MARVELL_PHY=m
-CONFIG_MICREL_PHY=m
-CONFIG_MICROCHIP_PHY=m
-CONFIG_MICROSEMI_PHY=m
-CONFIG_NATIONAL_PHY=m
-CONFIG_QSEMI_PHY=m
-CONFIG_REALTEK_PHY=m
-CONFIG_SMSC_PHY=m
-CONFIG_STE10XP=m
-CONFIG_TERANETICS_PHY=m
-CONFIG_VITESSE_PHY=m
-CONFIG_XILINX_GMII2RGMII=m
-# CONFIG_MICREL_KS8995MA is not set
-CONFIG_PLIP=m
-CONFIG_PPP=m
-CONFIG_PPP_BSDCOMP=m
-CONFIG_PPP_DEFLATE=m
-CONFIG_PPP_FILTER=y
-CONFIG_PPP_MPPE=m
-CONFIG_PPP_MULTILINK=y
-CONFIG_PPPOATM=m
-CONFIG_PPPOE=m
-CONFIG_PPTP=m
-CONFIG_PPPOL2TP=m
-CONFIG_PPP_ASYNC=m
-CONFIG_PPP_SYNC_TTY=m
-CONFIG_SLIP=m
-CONFIG_SLHC=m
-# CONFIG_SLIP_COMPRESSED is not set
-# CONFIG_SLIP_SMART is not set
-# CONFIG_SLIP_MODE_SLIP6 is not set
-
-#
-# Host-side USB support is needed for USB Network Adapter support
-#
-CONFIG_USB_NET_DRIVERS=m
-CONFIG_USB_CATC=m
-CONFIG_USB_KAWETH=m
-CONFIG_USB_PEGASUS=m
-CONFIG_USB_RTL8150=m
-CONFIG_USB_RTL8152=m
-CONFIG_USB_LAN78XX=m
-CONFIG_USB_USBNET=m
-CONFIG_USB_NET_AX8817X=m
-CONFIG_USB_NET_AX88179_178A=m
-CONFIG_USB_NET_CDCETHER=m
-CONFIG_USB_NET_CDC_EEM=m
-CONFIG_USB_NET_CDC_NCM=m
-CONFIG_USB_NET_HUAWEI_CDC_NCM=m
-CONFIG_USB_NET_CDC_MBIM=m
-CONFIG_USB_NET_DM9601=m
-CONFIG_USB_NET_SR9700=m
-CONFIG_USB_NET_SR9800=m
-CONFIG_USB_NET_SMSC75XX=m
-CONFIG_USB_NET_SMSC95XX=m
-CONFIG_USB_NET_GL620A=m
-CONFIG_USB_NET_NET1080=m
-CONFIG_USB_NET_PLUSB=m
-CONFIG_USB_NET_MCS7830=m
-CONFIG_USB_NET_RNDIS_HOST=m
-CONFIG_USB_NET_CDC_SUBSET_ENABLE=m
-CONFIG_USB_NET_CDC_SUBSET=m
-CONFIG_USB_ALI_M5632=y
-CONFIG_USB_AN2720=y
-CONFIG_USB_BELKIN=y
-CONFIG_USB_ARMLINUX=y
-CONFIG_USB_EPSON2888=y
-CONFIG_USB_KC2190=y
-CONFIG_USB_NET_ZAURUS=m
-CONFIG_USB_NET_CX82310_ETH=m
-CONFIG_USB_NET_KALMIA=m
-CONFIG_USB_NET_QMI_WWAN=m
-CONFIG_USB_HSO=m
-CONFIG_USB_NET_INT51X1=m
-CONFIG_USB_CDC_PHONET=m
-CONFIG_USB_IPHETH=m
-CONFIG_USB_SIERRA_NET=m
-CONFIG_USB_VL600=m
-CONFIG_USB_NET_CH9200=m
-CONFIG_WLAN=y
-CONFIG_WLAN_VENDOR_ADMTEK=y
-CONFIG_ADM8211=m
-CONFIG_ATH_COMMON=m
-CONFIG_WLAN_VENDOR_ATH=y
-# CONFIG_ATH_DEBUG is not set
-CONFIG_ATH5K=m
-# CONFIG_ATH5K_DEBUG is not set
-# CONFIG_ATH5K_TRACER is not set
-CONFIG_ATH5K_PCI=y
-CONFIG_ATH9K_HW=m
-CONFIG_ATH9K_COMMON=m
-CONFIG_ATH9K_BTCOEX_SUPPORT=y
-CONFIG_ATH9K=m
-CONFIG_ATH9K_PCI=y
-CONFIG_ATH9K_AHB=y
-CONFIG_ATH9K_DEBUGFS=y
-CONFIG_ATH9K_STATION_STATISTICS=y
-# CONFIG_ATH9K_DYNACK is not set
-CONFIG_ATH9K_WOW=y
-CONFIG_ATH9K_RFKILL=y
-# CONFIG_ATH9K_CHANNEL_CONTEXT is not set
-CONFIG_ATH9K_PCOEM=y
-CONFIG_ATH9K_HTC=m
-# CONFIG_ATH9K_HTC_DEBUGFS is not set
-# CONFIG_ATH9K_HWRNG is not set
-CONFIG_CARL9170=m
-CONFIG_CARL9170_LEDS=y
-# CONFIG_CARL9170_DEBUGFS is not set
-CONFIG_CARL9170_WPC=y
-# CONFIG_CARL9170_HWRNG is not set
-CONFIG_ATH6KL=m
-CONFIG_ATH6KL_SDIO=m
-CONFIG_ATH6KL_USB=m
-# CONFIG_ATH6KL_DEBUG is not set
-# CONFIG_ATH6KL_TRACING is not set
-CONFIG_AR5523=m
-CONFIG_WIL6210=m
-CONFIG_WIL6210_ISR_COR=y
-# CONFIG_WIL6210_TRACING is not set
-CONFIG_ATH10K=m
-CONFIG_ATH10K_PCI=m
-# CONFIG_ATH10K_DEBUG is not set
-CONFIG_ATH10K_DEBUGFS=y
-# CONFIG_ATH10K_TRACING is not set
-CONFIG_WCN36XX=m
-# CONFIG_WCN36XX_DEBUGFS is not set
-CONFIG_WLAN_VENDOR_ATMEL=y
-CONFIG_ATMEL=m
-CONFIG_PCI_ATMEL=m
-CONFIG_PCMCIA_ATMEL=m
-CONFIG_AT76C50X_USB=m
-CONFIG_WLAN_VENDOR_BROADCOM=y
-CONFIG_B43=m
-CONFIG_B43_BCMA=y
-CONFIG_B43_SSB=y
-CONFIG_B43_BUSES_BCMA_AND_SSB=y
-# CONFIG_B43_BUSES_BCMA is not set
-# CONFIG_B43_BUSES_SSB is not set
-CONFIG_B43_PCI_AUTOSELECT=y
-CONFIG_B43_PCICORE_AUTOSELECT=y
-CONFIG_B43_SDIO=y
-CONFIG_B43_BCMA_PIO=y
-CONFIG_B43_PIO=y
-CONFIG_B43_PHY_G=y
-CONFIG_B43_PHY_N=y
-CONFIG_B43_PHY_LP=y
-CONFIG_B43_PHY_HT=y
-CONFIG_B43_LEDS=y
-CONFIG_B43_HWRNG=y
-# CONFIG_B43_DEBUG is not set
-CONFIG_B43LEGACY=m
-CONFIG_B43LEGACY_PCI_AUTOSELECT=y
-CONFIG_B43LEGACY_PCICORE_AUTOSELECT=y
-CONFIG_B43LEGACY_LEDS=y
-CONFIG_B43LEGACY_HWRNG=y
-# CONFIG_B43LEGACY_DEBUG is not set
-CONFIG_B43LEGACY_DMA=y
-CONFIG_B43LEGACY_PIO=y
-CONFIG_B43LEGACY_DMA_AND_PIO_MODE=y
-# CONFIG_B43LEGACY_DMA_MODE is not set
-# CONFIG_B43LEGACY_PIO_MODE is not set
-CONFIG_BRCMUTIL=m
-CONFIG_BRCMSMAC=m
-CONFIG_BRCMFMAC=m
-CONFIG_BRCMFMAC_PROTO_BCDC=y
-CONFIG_BRCMFMAC_PROTO_MSGBUF=y
-CONFIG_BRCMFMAC_SDIO=y
-CONFIG_BRCMFMAC_USB=y
-CONFIG_BRCMFMAC_PCIE=y
-# CONFIG_BRCM_TRACING is not set
-# CONFIG_BRCMDBG is not set
-CONFIG_WLAN_VENDOR_CISCO=y
-CONFIG_AIRO=m
-CONFIG_AIRO_CS=m
-CONFIG_WLAN_VENDOR_INTEL=y
-CONFIG_IPW2100=m
-CONFIG_IPW2100_MONITOR=y
-# CONFIG_IPW2100_DEBUG is not set
-CONFIG_IPW2200=m
-CONFIG_IPW2200_MONITOR=y
-CONFIG_IPW2200_RADIOTAP=y
-CONFIG_IPW2200_PROMISCUOUS=y
-CONFIG_IPW2200_QOS=y
-# CONFIG_IPW2200_DEBUG is not set
-CONFIG_LIBIPW=m
-# CONFIG_LIBIPW_DEBUG is not set
-CONFIG_IWLEGACY=m
-CONFIG_IWL4965=m
-CONFIG_IWL3945=m
-
-#
-# iwl3945 / iwl4965 Debugging Options
-#
-# CONFIG_IWLEGACY_DEBUG is not set
-# CONFIG_IWLEGACY_DEBUGFS is not set
-CONFIG_IWLWIFI=m
-CONFIG_IWLWIFI_LEDS=y
-CONFIG_IWLDVM=m
-CONFIG_IWLMVM=m
-CONFIG_IWLWIFI_OPMODE_MODULAR=y
-# CONFIG_IWLWIFI_BCAST_FILTERING is not set
-# CONFIG_IWLWIFI_PCIE_RTPM is not set
-
-#
-# Debugging Options
-#
-# CONFIG_IWLWIFI_DEBUG is not set
-# CONFIG_IWLWIFI_DEBUGFS is not set
-CONFIG_IWLWIFI_DEVICE_TRACING=y
-CONFIG_WLAN_VENDOR_INTERSIL=y
-CONFIG_HOSTAP=m
-CONFIG_HOSTAP_FIRMWARE=y
-# CONFIG_HOSTAP_FIRMWARE_NVRAM is not set
-CONFIG_HOSTAP_PLX=m
-CONFIG_HOSTAP_PCI=m
-CONFIG_HOSTAP_CS=m
-CONFIG_HERMES=m
-CONFIG_HERMES_PRISM=y
-CONFIG_HERMES_CACHE_FW_ON_INIT=y
-CONFIG_PLX_HERMES=m
-CONFIG_TMD_HERMES=m
-CONFIG_NORTEL_HERMES=m
-CONFIG_PCI_HERMES=m
-CONFIG_PCMCIA_HERMES=m
-CONFIG_PCMCIA_SPECTRUM=m
-CONFIG_ORINOCO_USB=m
-CONFIG_P54_COMMON=m
-CONFIG_P54_USB=m
-CONFIG_P54_PCI=m
-CONFIG_P54_SPI=m
-# CONFIG_P54_SPI_DEFAULT_EEPROM is not set
-CONFIG_P54_LEDS=y
-CONFIG_PRISM54=m
-CONFIG_WLAN_VENDOR_MARVELL=y
-CONFIG_LIBERTAS=m
-CONFIG_LIBERTAS_USB=m
-CONFIG_LIBERTAS_CS=m
-CONFIG_LIBERTAS_SDIO=m
-CONFIG_LIBERTAS_SPI=m
-# CONFIG_LIBERTAS_DEBUG is not set
-CONFIG_LIBERTAS_MESH=y
-CONFIG_LIBERTAS_THINFIRM=m
-# CONFIG_LIBERTAS_THINFIRM_DEBUG is not set
-CONFIG_LIBERTAS_THINFIRM_USB=m
-CONFIG_MWIFIEX=m
-CONFIG_MWIFIEX_SDIO=m
-CONFIG_MWIFIEX_PCIE=m
-CONFIG_MWIFIEX_USB=m
-CONFIG_MWL8K=m
-CONFIG_WLAN_VENDOR_MEDIATEK=y
-CONFIG_MT7601U=m
-CONFIG_WLAN_VENDOR_RALINK=y
-CONFIG_RT2X00=m
-CONFIG_RT2400PCI=m
-CONFIG_RT2500PCI=m
-CONFIG_RT61PCI=m
-CONFIG_RT2800PCI=m
-CONFIG_RT2800PCI_RT33XX=y
-CONFIG_RT2800PCI_RT35XX=y
-CONFIG_RT2800PCI_RT53XX=y
-CONFIG_RT2800PCI_RT3290=y
-CONFIG_RT2500USB=m
-CONFIG_RT73USB=m
-CONFIG_RT2800USB=m
-CONFIG_RT2800USB_RT33XX=y
-CONFIG_RT2800USB_RT35XX=y
-CONFIG_RT2800USB_RT3573=y
-CONFIG_RT2800USB_RT53XX=y
-CONFIG_RT2800USB_RT55XX=y
-CONFIG_RT2800USB_UNKNOWN=y
-CONFIG_RT2800_LIB=m
-CONFIG_RT2800_LIB_MMIO=m
-CONFIG_RT2X00_LIB_MMIO=m
-CONFIG_RT2X00_LIB_PCI=m
-CONFIG_RT2X00_LIB_USB=m
-CONFIG_RT2X00_LIB=m
-CONFIG_RT2X00_LIB_FIRMWARE=y
-CONFIG_RT2X00_LIB_CRYPTO=y
-CONFIG_RT2X00_LIB_LEDS=y
-# CONFIG_RT2X00_LIB_DEBUGFS is not set
-# CONFIG_RT2X00_DEBUG is not set
-CONFIG_WLAN_VENDOR_REALTEK=y
-CONFIG_RTL8180=m
-CONFIG_RTL8187=m
-CONFIG_RTL8187_LEDS=y
-CONFIG_RTL_CARDS=m
-CONFIG_RTL8192CE=m
-CONFIG_RTL8192SE=m
-CONFIG_RTL8192DE=m
-CONFIG_RTL8723AE=m
-CONFIG_RTL8723BE=m
-CONFIG_RTL8188EE=m
-CONFIG_RTL8192EE=m
-CONFIG_RTL8821AE=m
-CONFIG_RTL8192CU=m
-CONFIG_RTLWIFI=m
-CONFIG_RTLWIFI_PCI=m
-CONFIG_RTLWIFI_USB=m
-# CONFIG_RTLWIFI_DEBUG is not set
-CONFIG_RTL8192C_COMMON=m
-CONFIG_RTL8723_COMMON=m
-CONFIG_RTLBTCOEXIST=m
-CONFIG_RTL8XXXU=m
-CONFIG_RTL8XXXU_UNTESTED=y
-CONFIG_WLAN_VENDOR_RSI=y
-CONFIG_RSI_91X=m
-# CONFIG_RSI_DEBUGFS is not set
-CONFIG_RSI_SDIO=m
-CONFIG_RSI_USB=m
-CONFIG_WLAN_VENDOR_ST=y
-CONFIG_CW1200=m
-CONFIG_CW1200_WLAN_SDIO=m
-CONFIG_CW1200_WLAN_SPI=m
-CONFIG_WLAN_VENDOR_TI=y
-CONFIG_WL1251=m
-# CONFIG_WL1251_SPI is not set
-CONFIG_WL1251_SDIO=m
-CONFIG_WL12XX=m
-CONFIG_WL18XX=m
-CONFIG_WLCORE=m
-CONFIG_WLCORE_SDIO=m
-CONFIG_WILINK_PLATFORM_DATA=y
-CONFIG_WLAN_VENDOR_ZYDAS=y
-CONFIG_USB_ZD1201=m
-CONFIG_ZD1211RW=m
-# CONFIG_ZD1211RW_DEBUG is not set
-CONFIG_PCMCIA_RAYCS=m
-CONFIG_PCMCIA_WL3501=m
-# CONFIG_MAC80211_HWSIM is not set
-CONFIG_USB_NET_RNDIS_WLAN=m
-
-#
-# WiMAX Wireless Broadband devices
-#
-CONFIG_WIMAX_I2400M=m
-CONFIG_WIMAX_I2400M_USB=m
-CONFIG_WIMAX_I2400M_DEBUG_LEVEL=8
-# CONFIG_WAN is not set
-CONFIG_IEEE802154_DRIVERS=m
-CONFIG_IEEE802154_FAKELB=m
-CONFIG_IEEE802154_AT86RF230=m
-# CONFIG_IEEE802154_AT86RF230_DEBUGFS is not set
-# CONFIG_IEEE802154_MRF24J40 is not set
-# CONFIG_IEEE802154_CC2520 is not set
-CONFIG_IEEE802154_ATUSB=m
-# CONFIG_IEEE802154_ADF7242 is not set
-CONFIG_XEN_NETDEV_FRONTEND=m
-CONFIG_XEN_NETDEV_BACKEND=m
-CONFIG_VMXNET3=m
-CONFIG_FUJITSU_ES=m
-CONFIG_HYPERV_NET=m
-CONFIG_ISDN=y
-CONFIG_ISDN_I4L=m
-CONFIG_ISDN_PPP=y
-CONFIG_ISDN_PPP_VJ=y
-CONFIG_ISDN_MPP=y
-CONFIG_IPPP_FILTER=y
-CONFIG_ISDN_PPP_BSDCOMP=m
-CONFIG_ISDN_AUDIO=y
-CONFIG_ISDN_TTY_FAX=y
-
-#
-# ISDN feature submodules
-#
-CONFIG_ISDN_DIVERSION=m
-
-#
-# ISDN4Linux hardware drivers
-#
-
-#
-# Passive cards
-#
-CONFIG_ISDN_DRV_HISAX=m
-
-#
-# D-channel protocol features
-#
-CONFIG_HISAX_EURO=y
-CONFIG_DE_AOC=y
-# CONFIG_HISAX_NO_SENDCOMPLETE is not set
-# CONFIG_HISAX_NO_LLC is not set
-# CONFIG_HISAX_NO_KEYPAD is not set
-CONFIG_HISAX_1TR6=y
-CONFIG_HISAX_NI1=y
-CONFIG_HISAX_MAX_CARDS=8
-
-#
-# HiSax supported cards
-#
-CONFIG_HISAX_16_3=y
-CONFIG_HISAX_TELESPCI=y
-CONFIG_HISAX_S0BOX=y
-CONFIG_HISAX_FRITZPCI=y
-CONFIG_HISAX_AVM_A1_PCMCIA=y
-CONFIG_HISAX_ELSA=y
-CONFIG_HISAX_DIEHLDIVA=y
-CONFIG_HISAX_SEDLBAUER=y
-CONFIG_HISAX_NETJET=y
-CONFIG_HISAX_NETJET_U=y
-CONFIG_HISAX_NICCY=y
-CONFIG_HISAX_BKM_A4T=y
-CONFIG_HISAX_SCT_QUADRO=y
-CONFIG_HISAX_GAZEL=y
-CONFIG_HISAX_HFC_PCI=y
-CONFIG_HISAX_W6692=y
-CONFIG_HISAX_HFC_SX=y
-CONFIG_HISAX_ENTERNOW_PCI=y
-# CONFIG_HISAX_DEBUG is not set
-
-#
-# HiSax PCMCIA card service modules
-#
-CONFIG_HISAX_SEDLBAUER_CS=m
-CONFIG_HISAX_ELSA_CS=m
-CONFIG_HISAX_AVM_A1_CS=m
-CONFIG_HISAX_TELES_CS=m
-
-#
-# HiSax sub driver modules
-#
-CONFIG_HISAX_ST5481=m
-CONFIG_HISAX_HFCUSB=m
-CONFIG_HISAX_HFC4S8S=m
-CONFIG_HISAX_FRITZ_PCIPNP=m
-CONFIG_ISDN_CAPI=m
-CONFIG_CAPI_TRACE=y
-CONFIG_ISDN_CAPI_CAPI20=m
-CONFIG_ISDN_CAPI_MIDDLEWARE=y
-CONFIG_ISDN_CAPI_CAPIDRV=m
-# CONFIG_ISDN_CAPI_CAPIDRV_VERBOSE is not set
-
-#
-# CAPI hardware drivers
-#
-CONFIG_CAPI_AVM=y
-CONFIG_ISDN_DRV_AVMB1_B1PCI=m
-CONFIG_ISDN_DRV_AVMB1_B1PCIV4=y
-CONFIG_ISDN_DRV_AVMB1_B1PCMCIA=m
-CONFIG_ISDN_DRV_AVMB1_AVM_CS=m
-CONFIG_ISDN_DRV_AVMB1_T1PCI=m
-CONFIG_ISDN_DRV_AVMB1_C4=m
-CONFIG_CAPI_EICON=y
-CONFIG_ISDN_DIVAS=m
-CONFIG_ISDN_DIVAS_BRIPCI=y
-CONFIG_ISDN_DIVAS_PRIPCI=y
-CONFIG_ISDN_DIVAS_DIVACAPI=m
-CONFIG_ISDN_DIVAS_USERIDI=m
-CONFIG_ISDN_DIVAS_MAINT=m
-CONFIG_ISDN_DRV_GIGASET=m
-CONFIG_GIGASET_CAPI=y
-# CONFIG_GIGASET_I4L is not set
-# CONFIG_GIGASET_DUMMYLL is not set
-CONFIG_GIGASET_BASE=m
-CONFIG_GIGASET_M105=m
-CONFIG_GIGASET_M101=m
-# CONFIG_GIGASET_DEBUG is not set
-CONFIG_HYSDN=m
-CONFIG_HYSDN_CAPI=y
-CONFIG_MISDN=m
-CONFIG_MISDN_DSP=m
-CONFIG_MISDN_L1OIP=m
-
-#
-# mISDN hardware drivers
-#
-CONFIG_MISDN_HFCPCI=m
-CONFIG_MISDN_HFCMULTI=m
-CONFIG_MISDN_HFCUSB=m
-CONFIG_MISDN_AVMFRITZ=m
-CONFIG_MISDN_SPEEDFAX=m
-CONFIG_MISDN_INFINEON=m
-CONFIG_MISDN_W6692=m
-CONFIG_MISDN_NETJET=m
-CONFIG_MISDN_IPAC=m
-CONFIG_MISDN_ISAR=m
-CONFIG_ISDN_HDLC=m
-# CONFIG_NVM is not set
-
-#
-# Input device support
-#
-CONFIG_INPUT=y
-CONFIG_INPUT_LEDS=m
-CONFIG_INPUT_FF_MEMLESS=m
-CONFIG_INPUT_POLLDEV=m
-CONFIG_INPUT_SPARSEKMAP=m
-CONFIG_INPUT_MATRIXKMAP=m
-
-#
-# Userland interfaces
-#
-CONFIG_INPUT_MOUSEDEV=m
-CONFIG_INPUT_MOUSEDEV_PSAUX=y
-CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
-CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
-CONFIG_INPUT_JOYDEV=m
-CONFIG_INPUT_EVDEV=m
-# CONFIG_INPUT_EVBUG is not set
-
-#
-# Input Device Drivers
-#
-CONFIG_INPUT_KEYBOARD=y
-# CONFIG_KEYBOARD_ADC is not set
-CONFIG_KEYBOARD_ADP5588=m
-CONFIG_KEYBOARD_ADP5589=m
-CONFIG_KEYBOARD_ATKBD=m
-CONFIG_KEYBOARD_QT1070=m
-CONFIG_KEYBOARD_QT2160=m
-# CONFIG_KEYBOARD_LKKBD is not set
-CONFIG_KEYBOARD_GPIO=m
-# CONFIG_KEYBOARD_GPIO_POLLED is not set
-CONFIG_KEYBOARD_TCA6416=m
-CONFIG_KEYBOARD_TCA8418=m
-CONFIG_KEYBOARD_MATRIX=m
-# CONFIG_KEYBOARD_LM8323 is not set
-CONFIG_KEYBOARD_LM8333=m
-# CONFIG_KEYBOARD_MAX7359 is not set
-CONFIG_KEYBOARD_MCS=m
-CONFIG_KEYBOARD_MPR121=m
-# CONFIG_KEYBOARD_NEWTON is not set
-# CONFIG_KEYBOARD_OPENCORES is not set
-# CONFIG_KEYBOARD_SAMSUNG is not set
-# CONFIG_KEYBOARD_STOWAWAY is not set
-# CONFIG_KEYBOARD_SUNKBD is not set
-# CONFIG_KEYBOARD_XTKBD is not set
-# CONFIG_KEYBOARD_CROS_EC is not set
-CONFIG_INPUT_MOUSE=y
-CONFIG_MOUSE_PS2=m
-CONFIG_MOUSE_PS2_ALPS=y
-CONFIG_MOUSE_PS2_BYD=y
-CONFIG_MOUSE_PS2_LOGIPS2PP=y
-CONFIG_MOUSE_PS2_SYNAPTICS=y
-CONFIG_MOUSE_PS2_CYPRESS=y
-CONFIG_MOUSE_PS2_LIFEBOOK=y
-CONFIG_MOUSE_PS2_TRACKPOINT=y
-CONFIG_MOUSE_PS2_ELANTECH=y
-CONFIG_MOUSE_PS2_SENTELIC=y
-CONFIG_MOUSE_PS2_TOUCHKIT=y
-CONFIG_MOUSE_PS2_FOCALTECH=y
-CONFIG_MOUSE_PS2_VMMOUSE=y
-CONFIG_MOUSE_SERIAL=m
-CONFIG_MOUSE_APPLETOUCH=m
-CONFIG_MOUSE_BCM5974=m
-CONFIG_MOUSE_CYAPA=m
-CONFIG_MOUSE_ELAN_I2C=m
-CONFIG_MOUSE_ELAN_I2C_I2C=y
-CONFIG_MOUSE_ELAN_I2C_SMBUS=y
-CONFIG_MOUSE_VSXXXAA=m
-# CONFIG_MOUSE_GPIO is not set
-CONFIG_MOUSE_SYNAPTICS_I2C=m
-CONFIG_MOUSE_SYNAPTICS_USB=m
-CONFIG_INPUT_JOYSTICK=y
-CONFIG_JOYSTICK_ANALOG=m
-CONFIG_JOYSTICK_A3D=m
-CONFIG_JOYSTICK_ADI=m
-CONFIG_JOYSTICK_COBRA=m
-CONFIG_JOYSTICK_GF2K=m
-CONFIG_JOYSTICK_GRIP=m
-CONFIG_JOYSTICK_GRIP_MP=m
-CONFIG_JOYSTICK_GUILLEMOT=m
-CONFIG_JOYSTICK_INTERACT=m
-CONFIG_JOYSTICK_SIDEWINDER=m
-CONFIG_JOYSTICK_TMDC=m
-CONFIG_JOYSTICK_IFORCE=m
-CONFIG_JOYSTICK_IFORCE_USB=y
-CONFIG_JOYSTICK_IFORCE_232=y
-CONFIG_JOYSTICK_WARRIOR=m
-CONFIG_JOYSTICK_MAGELLAN=m
-CONFIG_JOYSTICK_SPACEORB=m
-CONFIG_JOYSTICK_SPACEBALL=m
-CONFIG_JOYSTICK_STINGER=m
-CONFIG_JOYSTICK_TWIDJOY=m
-CONFIG_JOYSTICK_ZHENHUA=m
-CONFIG_JOYSTICK_DB9=m
-CONFIG_JOYSTICK_GAMECON=m
-CONFIG_JOYSTICK_TURBOGRAFX=m
-CONFIG_JOYSTICK_AS5011=m
-CONFIG_JOYSTICK_JOYDUMP=m
-CONFIG_JOYSTICK_XPAD=m
-CONFIG_JOYSTICK_XPAD_FF=y
-CONFIG_JOYSTICK_XPAD_LEDS=y
-CONFIG_JOYSTICK_WALKERA0701=m
-CONFIG_INPUT_TABLET=y
-CONFIG_TABLET_USB_ACECAD=m
-CONFIG_TABLET_USB_AIPTEK=m
-CONFIG_TABLET_USB_GTCO=m
-CONFIG_TABLET_USB_HANWANG=m
-CONFIG_TABLET_USB_KBTAB=m
-CONFIG_TABLET_USB_PEGASUS=m
-CONFIG_TABLET_SERIAL_WACOM4=m
-CONFIG_INPUT_TOUCHSCREEN=y
-CONFIG_TOUCHSCREEN_PROPERTIES=y
-# CONFIG_TOUCHSCREEN_ADS7846 is not set
-# CONFIG_TOUCHSCREEN_AD7877 is not set
-CONFIG_TOUCHSCREEN_AD7879=m
-CONFIG_TOUCHSCREEN_AD7879_I2C=m
-# CONFIG_TOUCHSCREEN_AD7879_SPI is not set
-CONFIG_TOUCHSCREEN_ATMEL_MXT=m
-CONFIG_TOUCHSCREEN_ATMEL_MXT_T37=y
-CONFIG_TOUCHSCREEN_AUO_PIXCIR=m
-CONFIG_TOUCHSCREEN_BU21013=m
-CONFIG_TOUCHSCREEN_CY8CTMG110=m
-CONFIG_TOUCHSCREEN_CYTTSP_CORE=m
-CONFIG_TOUCHSCREEN_CYTTSP_I2C=m
-# CONFIG_TOUCHSCREEN_CYTTSP_SPI is not set
-CONFIG_TOUCHSCREEN_CYTTSP4_CORE=m
-CONFIG_TOUCHSCREEN_CYTTSP4_I2C=m
-CONFIG_TOUCHSCREEN_CYTTSP4_SPI=m
-CONFIG_TOUCHSCREEN_DYNAPRO=m
-CONFIG_TOUCHSCREEN_HAMPSHIRE=m
-CONFIG_TOUCHSCREEN_EETI=m
-CONFIG_TOUCHSCREEN_EGALAX_SERIAL=m
-CONFIG_TOUCHSCREEN_FUJITSU=m
-CONFIG_TOUCHSCREEN_GOODIX=m
-CONFIG_TOUCHSCREEN_ILI210X=m
-CONFIG_TOUCHSCREEN_GUNZE=m
-CONFIG_TOUCHSCREEN_EKTF2127=m
-CONFIG_TOUCHSCREEN_ELAN=m
-CONFIG_TOUCHSCREEN_ELO=m
-CONFIG_TOUCHSCREEN_WACOM_W8001=m
-CONFIG_TOUCHSCREEN_WACOM_I2C=m
-CONFIG_TOUCHSCREEN_MAX11801=m
-CONFIG_TOUCHSCREEN_MCS5000=m
-CONFIG_TOUCHSCREEN_MMS114=m
-CONFIG_TOUCHSCREEN_MELFAS_MIP4=m
-CONFIG_TOUCHSCREEN_MTOUCH=m
-CONFIG_TOUCHSCREEN_INEXIO=m
-CONFIG_TOUCHSCREEN_MK712=m
-CONFIG_TOUCHSCREEN_PENMOUNT=m
-CONFIG_TOUCHSCREEN_EDT_FT5X06=m
-CONFIG_TOUCHSCREEN_TOUCHRIGHT=m
-CONFIG_TOUCHSCREEN_TOUCHWIN=m
-CONFIG_TOUCHSCREEN_TI_AM335X_TSC=m
-CONFIG_TOUCHSCREEN_UCB1400=m
-CONFIG_TOUCHSCREEN_PIXCIR=m
-CONFIG_TOUCHSCREEN_WDT87XX_I2C=m
-CONFIG_TOUCHSCREEN_WM97XX=m
-CONFIG_TOUCHSCREEN_WM9705=y
-CONFIG_TOUCHSCREEN_WM9712=y
-CONFIG_TOUCHSCREEN_WM9713=y
-CONFIG_TOUCHSCREEN_USB_COMPOSITE=m
-CONFIG_TOUCHSCREEN_MC13783=m
-CONFIG_TOUCHSCREEN_USB_EGALAX=y
-CONFIG_TOUCHSCREEN_USB_PANJIT=y
-CONFIG_TOUCHSCREEN_USB_3M=y
-CONFIG_TOUCHSCREEN_USB_ITM=y
-CONFIG_TOUCHSCREEN_USB_ETURBO=y
-CONFIG_TOUCHSCREEN_USB_GUNZE=y
-CONFIG_TOUCHSCREEN_USB_DMC_TSC10=y
-CONFIG_TOUCHSCREEN_USB_IRTOUCH=y
-CONFIG_TOUCHSCREEN_USB_IDEALTEK=y
-CONFIG_TOUCHSCREEN_USB_GENERAL_TOUCH=y
-CONFIG_TOUCHSCREEN_USB_GOTOP=y
-CONFIG_TOUCHSCREEN_USB_JASTEC=y
-CONFIG_TOUCHSCREEN_USB_ELO=y
-CONFIG_TOUCHSCREEN_USB_E2I=y
-CONFIG_TOUCHSCREEN_USB_ZYTRONIC=y
-CONFIG_TOUCHSCREEN_USB_ETT_TC45USB=y
-CONFIG_TOUCHSCREEN_USB_NEXIO=y
-CONFIG_TOUCHSCREEN_USB_EASYTOUCH=y
-CONFIG_TOUCHSCREEN_TOUCHIT213=m
-CONFIG_TOUCHSCREEN_TSC_SERIO=m
-CONFIG_TOUCHSCREEN_TSC200X_CORE=m
-CONFIG_TOUCHSCREEN_TSC2004=m
-# CONFIG_TOUCHSCREEN_TSC2005 is not set
-CONFIG_TOUCHSCREEN_TSC2007=m
-CONFIG_TOUCHSCREEN_RM_TS=m
-CONFIG_TOUCHSCREEN_SILEAD=m
-CONFIG_TOUCHSCREEN_SIS_I2C=m
-CONFIG_TOUCHSCREEN_ST1232=m
-CONFIG_TOUCHSCREEN_SUR40=m
-CONFIG_TOUCHSCREEN_SURFACE3_SPI=m
-# CONFIG_TOUCHSCREEN_SX8654 is not set
-CONFIG_TOUCHSCREEN_TPS6507X=m
-CONFIG_TOUCHSCREEN_ZFORCE=m
-CONFIG_TOUCHSCREEN_ROHM_BU21023=m
-CONFIG_INPUT_MISC=y
-CONFIG_INPUT_AD714X=m
-CONFIG_INPUT_AD714X_I2C=m
-CONFIG_INPUT_AD714X_SPI=m
-# CONFIG_INPUT_ARIZONA_HAPTICS is not set
-CONFIG_INPUT_BMA150=m
-CONFIG_INPUT_E3X0_BUTTON=m
-CONFIG_INPUT_PCSPKR=m
-CONFIG_INPUT_MC13783_PWRBUTTON=m
-CONFIG_INPUT_MMA8450=m
-CONFIG_INPUT_MPU3050=m
-CONFIG_INPUT_APANEL=m
-CONFIG_INPUT_GP2A=m
-# CONFIG_INPUT_GPIO_BEEPER is not set
-# CONFIG_INPUT_GPIO_TILT_POLLED is not set
-# CONFIG_INPUT_GPIO_DECODER is not set
-CONFIG_INPUT_ATLAS_BTNS=m
-CONFIG_INPUT_ATI_REMOTE2=m
-CONFIG_INPUT_KEYSPAN_REMOTE=m
-CONFIG_INPUT_KXTJ9=m
-# CONFIG_INPUT_KXTJ9_POLLED_MODE is not set
-CONFIG_INPUT_POWERMATE=m
-CONFIG_INPUT_YEALINK=m
-CONFIG_INPUT_CM109=m
-CONFIG_INPUT_RETU_PWRBUTTON=m
-CONFIG_INPUT_TPS65218_PWRBUTTON=m
-CONFIG_INPUT_UINPUT=m
-CONFIG_INPUT_PCF50633_PMU=m
-CONFIG_INPUT_PCF8574=m
-CONFIG_INPUT_GPIO_ROTARY_ENCODER=m
-CONFIG_INPUT_ADXL34X=m
-CONFIG_INPUT_ADXL34X_I2C=m
-CONFIG_INPUT_ADXL34X_SPI=m
-# CONFIG_INPUT_IMS_PCU is not set
-CONFIG_INPUT_CMA3000=m
-CONFIG_INPUT_CMA3000_I2C=m
-CONFIG_INPUT_XEN_KBDDEV_FRONTEND=m
-CONFIG_INPUT_IDEAPAD_SLIDEBAR=m
-CONFIG_INPUT_SOC_BUTTON_ARRAY=m
-# CONFIG_INPUT_DRV260X_HAPTICS is not set
-# CONFIG_INPUT_DRV2665_HAPTICS is not set
-# CONFIG_INPUT_DRV2667_HAPTICS is not set
-CONFIG_RMI4_CORE=m
-CONFIG_RMI4_I2C=m
-CONFIG_RMI4_SPI=m
-CONFIG_RMI4_2D_SENSOR=y
-CONFIG_RMI4_F11=y
-CONFIG_RMI4_F12=y
-CONFIG_RMI4_F30=y
-CONFIG_RMI4_F54=y
-
-#
-# Hardware I/O ports
-#
-CONFIG_SERIO=m
-CONFIG_ARCH_MIGHT_HAVE_PC_SERIO=y
-CONFIG_SERIO_I8042=m
-CONFIG_SERIO_SERPORT=m
-CONFIG_SERIO_CT82C710=m
-CONFIG_SERIO_PARKBD=m
-CONFIG_SERIO_PCIPS2=m
-CONFIG_SERIO_LIBPS2=m
-CONFIG_SERIO_RAW=m
-CONFIG_SERIO_ALTERA_PS2=m
-CONFIG_SERIO_PS2MULT=m
-CONFIG_SERIO_ARC_PS2=m
-CONFIG_HYPERV_KEYBOARD=m
-# CONFIG_USERIO is not set
-CONFIG_GAMEPORT=m
-CONFIG_GAMEPORT_NS558=m
-CONFIG_GAMEPORT_L4=m
-CONFIG_GAMEPORT_EMU10K1=m
-CONFIG_GAMEPORT_FM801=m
-
-#
-# Character devices
-#
-CONFIG_TTY=y
-CONFIG_VT=y
-CONFIG_CONSOLE_TRANSLATIONS=y
-CONFIG_VT_CONSOLE=y
-CONFIG_VT_CONSOLE_SLEEP=y
-CONFIG_HW_CONSOLE=y
-CONFIG_VT_HW_CONSOLE_BINDING=y
-CONFIG_UNIX98_PTYS=y
-# CONFIG_LEGACY_PTYS is not set
-CONFIG_SERIAL_NONSTANDARD=y
-CONFIG_ROCKETPORT=m
-CONFIG_CYCLADES=m
-# CONFIG_CYZ_INTR is not set
-# CONFIG_MOXA_INTELLIO is not set
-# CONFIG_MOXA_SMARTIO is not set
-CONFIG_SYNCLINK=m
-CONFIG_SYNCLINKMP=m
-# CONFIG_SYNCLINK_GT is not set
-CONFIG_NOZOMI=m
-# CONFIG_ISI is not set
-CONFIG_N_HDLC=m
-CONFIG_N_GSM=m
-CONFIG_TRACE_ROUTER=m
-CONFIG_TRACE_SINK=m
-CONFIG_DEVMEM=y
-# CONFIG_DEVKMEM is not set
-
-#
-# Serial drivers
-#
-CONFIG_SERIAL_EARLYCON=y
-CONFIG_SERIAL_8250=y
-# CONFIG_SERIAL_8250_DEPRECATED_OPTIONS is not set
-CONFIG_SERIAL_8250_PNP=y
-# CONFIG_SERIAL_8250_FINTEK is not set
-CONFIG_SERIAL_8250_CONSOLE=y
-CONFIG_SERIAL_8250_DMA=y
-CONFIG_SERIAL_8250_PCI=y
-CONFIG_SERIAL_8250_CS=m
-CONFIG_SERIAL_8250_NR_UARTS=32
-CONFIG_SERIAL_8250_RUNTIME_UARTS=4
-CONFIG_SERIAL_8250_EXTENDED=y
-CONFIG_SERIAL_8250_MANY_PORTS=y
-CONFIG_SERIAL_8250_SHARE_IRQ=y
-# CONFIG_SERIAL_8250_DETECT_IRQ is not set
-CONFIG_SERIAL_8250_RSA=y
-# CONFIG_SERIAL_8250_FSL is not set
-CONFIG_SERIAL_8250_DW=m
-CONFIG_SERIAL_8250_RT288X=y
-CONFIG_SERIAL_8250_LPSS=y
-CONFIG_SERIAL_8250_MID=y
-CONFIG_SERIAL_8250_MOXA=m
-
-#
-# Non-8250 serial port support
-#
-# CONFIG_SERIAL_MAX3100 is not set
-# CONFIG_SERIAL_MAX310X is not set
-# CONFIG_SERIAL_UARTLITE is not set
-CONFIG_SERIAL_CORE=y
-CONFIG_SERIAL_CORE_CONSOLE=y
-CONFIG_SERIAL_JSM=m
-CONFIG_SERIAL_SCCNXP=m
-CONFIG_SERIAL_SC16IS7XX_CORE=m
-CONFIG_SERIAL_SC16IS7XX=m
-CONFIG_SERIAL_SC16IS7XX_I2C=y
-# CONFIG_SERIAL_SC16IS7XX_SPI is not set
-CONFIG_SERIAL_ALTERA_JTAGUART=m
-CONFIG_SERIAL_ALTERA_UART=m
-CONFIG_SERIAL_ALTERA_UART_MAXPORTS=4
-CONFIG_SERIAL_ALTERA_UART_BAUDRATE=115200
-# CONFIG_SERIAL_IFX6X60 is not set
-CONFIG_SERIAL_ARC=m
-CONFIG_SERIAL_ARC_NR_PORTS=1
-CONFIG_SERIAL_RP2=m
-CONFIG_SERIAL_RP2_NR_UARTS=32
-CONFIG_SERIAL_FSL_LPUART=m
-CONFIG_PRINTER=m
-# CONFIG_LP_CONSOLE is not set
-CONFIG_PPDEV=m
-CONFIG_HVC_DRIVER=y
-CONFIG_HVC_IRQ=y
-CONFIG_HVC_XEN=y
-CONFIG_HVC_XEN_FRONTEND=y
-CONFIG_VIRTIO_CONSOLE=m
-CONFIG_IPMI_HANDLER=m
-# CONFIG_IPMI_PANIC_EVENT is not set
-CONFIG_IPMI_DEVICE_INTERFACE=m
-CONFIG_IPMI_SI=m
-CONFIG_IPMI_SSIF=m
-CONFIG_IPMI_WATCHDOG=m
-CONFIG_IPMI_POWEROFF=m
-CONFIG_HW_RANDOM=m
-CONFIG_HW_RANDOM_TIMERIOMEM=m
-CONFIG_HW_RANDOM_INTEL=m
-CONFIG_HW_RANDOM_AMD=m
-CONFIG_HW_RANDOM_VIA=m
-CONFIG_HW_RANDOM_VIRTIO=m
-CONFIG_HW_RANDOM_TPM=m
-CONFIG_NVRAM=m
-CONFIG_R3964=m
-CONFIG_APPLICOM=m
-
-#
-# PCMCIA character devices
-#
-CONFIG_SYNCLINK_CS=m
-CONFIG_CARDMAN_4000=m
-CONFIG_CARDMAN_4040=m
-CONFIG_IPWIRELESS=m
-CONFIG_MWAVE=m
-CONFIG_RAW_DRIVER=m
-CONFIG_MAX_RAW_DEVS=256
-CONFIG_HPET=y
-CONFIG_HPET_MMAP=y
-CONFIG_HPET_MMAP_DEFAULT=y
-CONFIG_HANGCHECK_TIMER=m
-CONFIG_TCG_TPM=m
-CONFIG_TCG_TIS_CORE=m
-CONFIG_TCG_TIS=m
-# CONFIG_TCG_TIS_SPI is not set
-CONFIG_TCG_TIS_I2C_ATMEL=m
-CONFIG_TCG_TIS_I2C_INFINEON=m
-CONFIG_TCG_TIS_I2C_NUVOTON=m
-CONFIG_TCG_NSC=m
-CONFIG_TCG_ATMEL=m
-CONFIG_TCG_INFINEON=m
-CONFIG_TCG_XEN=m
-CONFIG_TCG_CRB=m
-# CONFIG_TCG_VTPM_PROXY is not set
-# CONFIG_TCG_TIS_ST33ZP24_I2C is not set
-# CONFIG_TCG_TIS_ST33ZP24_SPI is not set
-CONFIG_TELCLOCK=m
-CONFIG_DEVPORT=y
-# CONFIG_XILLYBUS is not set
-
-#
-# I2C support
-#
-CONFIG_I2C=y
-CONFIG_ACPI_I2C_OPREGION=y
-CONFIG_I2C_BOARDINFO=y
-CONFIG_I2C_COMPAT=y
-CONFIG_I2C_CHARDEV=m
-CONFIG_I2C_MUX=m
-
-#
-# Multiplexer I2C Chip support
-#
-# CONFIG_I2C_MUX_GPIO is not set
-CONFIG_I2C_MUX_PCA9541=m
-CONFIG_I2C_MUX_PCA954x=m
-# CONFIG_I2C_MUX_PINCTRL is not set
-# CONFIG_I2C_MUX_REG is not set
-CONFIG_I2C_HELPER_AUTO=y
-CONFIG_I2C_SMBUS=m
-CONFIG_I2C_ALGOBIT=m
-CONFIG_I2C_ALGOPCA=m
-
-#
-# I2C Hardware Bus support
-#
-
-#
-# PC SMBus host controller drivers
-#
-CONFIG_I2C_ALI1535=m
-CONFIG_I2C_ALI1563=m
-CONFIG_I2C_ALI15X3=m
-CONFIG_I2C_AMD756=m
-CONFIG_I2C_AMD756_S4882=m
-CONFIG_I2C_AMD8111=m
-CONFIG_I2C_I801=m
-CONFIG_I2C_ISCH=m
-CONFIG_I2C_ISMT=m
-CONFIG_I2C_PIIX4=m
-CONFIG_I2C_NFORCE2=m
-CONFIG_I2C_NFORCE2_S4985=m
-CONFIG_I2C_SIS5595=m
-CONFIG_I2C_SIS630=m
-CONFIG_I2C_SIS96X=m
-CONFIG_I2C_VIA=m
-CONFIG_I2C_VIAPRO=m
-
-#
-# ACPI drivers
-#
-CONFIG_I2C_SCMI=m
-
-#
-# I2C system bus drivers (mostly embedded / system-on-chip)
-#
-# CONFIG_I2C_CBUS_GPIO is not set
-CONFIG_I2C_DESIGNWARE_CORE=m
-CONFIG_I2C_DESIGNWARE_PLATFORM=m
-CONFIG_I2C_DESIGNWARE_PCI=m
-CONFIG_I2C_DESIGNWARE_BAYTRAIL=y
-# CONFIG_I2C_EMEV2 is not set
-# CONFIG_I2C_GPIO is not set
-CONFIG_I2C_OCORES=m
-CONFIG_I2C_PCA_PLATFORM=m
-# CONFIG_I2C_PXA_PCI is not set
-CONFIG_I2C_SIMTEC=m
-CONFIG_I2C_XILINX=m
-
-#
-# External I2C/SMBus adapter drivers
-#
-CONFIG_I2C_DIOLAN_U2C=m
-CONFIG_I2C_PARPORT=m
-CONFIG_I2C_PARPORT_LIGHT=m
-CONFIG_I2C_ROBOTFUZZ_OSIF=m
-CONFIG_I2C_TAOS_EVM=m
-CONFIG_I2C_TINY_USB=m
-CONFIG_I2C_VIPERBOARD=m
-
-#
-# Other I2C/SMBus bus drivers
-#
-# CONFIG_I2C_CROS_EC_TUNNEL is not set
-# CONFIG_I2C_STUB is not set
-CONFIG_I2C_SLAVE=y
-CONFIG_I2C_SLAVE_EEPROM=m
-# CONFIG_I2C_DEBUG_CORE is not set
-# CONFIG_I2C_DEBUG_ALGO is not set
-# CONFIG_I2C_DEBUG_BUS is not set
-CONFIG_SPI=y
-# CONFIG_SPI_DEBUG is not set
-CONFIG_SPI_MASTER=y
-
-#
-# SPI Master Controller Drivers
-#
-CONFIG_SPI_ALTERA=m
-# CONFIG_SPI_AXI_SPI_ENGINE is not set
-CONFIG_SPI_BITBANG=m
-CONFIG_SPI_BUTTERFLY=m
-# CONFIG_SPI_CADENCE is not set
-CONFIG_SPI_DESIGNWARE=m
-CONFIG_SPI_DW_PCI=m
-# CONFIG_SPI_DW_MID_DMA is not set
-CONFIG_SPI_DW_MMIO=m
-CONFIG_SPI_GPIO=m
-CONFIG_SPI_LM70_LLP=m
-CONFIG_SPI_OC_TINY=m
-CONFIG_SPI_PXA2XX=m
-CONFIG_SPI_PXA2XX_PCI=m
-CONFIG_SPI_ROCKCHIP=m
-CONFIG_SPI_SC18IS602=m
-CONFIG_SPI_XCOMM=m
-CONFIG_SPI_XILINX=m
-CONFIG_SPI_ZYNQMP_GQSPI=m
-
-#
-# SPI Protocol Masters
-#
-CONFIG_SPI_SPIDEV=m
-# CONFIG_SPI_LOOPBACK_TEST is not set
-CONFIG_SPI_TLE62X0=m
-CONFIG_SPMI=m
-# CONFIG_HSI is not set
-
-#
-# PPS support
-#
-CONFIG_PPS=m
-# CONFIG_PPS_DEBUG is not set
-
-#
-# PPS clients support
-#
-CONFIG_PPS_CLIENT_KTIMER=m
-CONFIG_PPS_CLIENT_LDISC=m
-CONFIG_PPS_CLIENT_PARPORT=m
-CONFIG_PPS_CLIENT_GPIO=m
-
-#
-# PPS generators support
-#
-
-#
-# PTP clock support
-#
-CONFIG_PTP_1588_CLOCK=m
-CONFIG_DP83640_PHY=m
-CONFIG_PINCTRL=y
-
-#
-# Pin controllers
-#
-CONFIG_PINMUX=y
-CONFIG_PINCONF=y
-CONFIG_GENERIC_PINCONF=y
-# CONFIG_DEBUG_PINCTRL is not set
-# CONFIG_PINCTRL_AMD is not set
-CONFIG_PINCTRL_BAYTRAIL=y
-CONFIG_PINCTRL_CHERRYVIEW=y
-CONFIG_PINCTRL_INTEL=y
-CONFIG_PINCTRL_BROXTON=y
-CONFIG_PINCTRL_SUNRISEPOINT=y
-CONFIG_GPIOLIB=y
-CONFIG_GPIO_ACPI=y
-CONFIG_GPIOLIB_IRQCHIP=y
-# CONFIG_DEBUG_GPIO is not set
-CONFIG_GPIO_SYSFS=y
-
-#
-# Memory mapped GPIO drivers
-#
-# CONFIG_GPIO_AMDPT is not set
-# CONFIG_GPIO_DWAPB is not set
-# CONFIG_GPIO_GENERIC_PLATFORM is not set
-CONFIG_GPIO_ICH=m
-CONFIG_GPIO_LYNXPOINT=y
-# CONFIG_GPIO_MOCKUP is not set
-# CONFIG_GPIO_VX855 is not set
-# CONFIG_GPIO_ZX is not set
-
-#
-# Port-mapped I/O GPIO drivers
-#
-# CONFIG_GPIO_F7188X is not set
-# CONFIG_GPIO_IT87 is not set
-CONFIG_GPIO_SCH=m
-CONFIG_GPIO_SCH311X=m
-
-#
-# I2C GPIO expanders
-#
-# CONFIG_GPIO_ADP5588 is not set
-# CONFIG_GPIO_MAX7300 is not set
-# CONFIG_GPIO_MAX732X is not set
-# CONFIG_GPIO_PCA953X is not set
-# CONFIG_GPIO_PCF857X is not set
-# CONFIG_GPIO_SX150X is not set
-# CONFIG_GPIO_TPIC2810 is not set
-# CONFIG_GPIO_TS4900 is not set
-
-#
-# MFD GPIO expanders
-#
-# CONFIG_GPIO_ARIZONA is not set
-CONFIG_GPIO_CRYSTAL_COVE=y
-# CONFIG_GPIO_LP3943 is not set
-# CONFIG_GPIO_TPS65218 is not set
-# CONFIG_GPIO_UCB1400 is not set
-CONFIG_GPIO_WHISKEY_COVE=y
-
-#
-# PCI GPIO expanders
-#
-CONFIG_GPIO_AMD8111=m
-# CONFIG_GPIO_ML_IOH is not set
-# CONFIG_GPIO_RDC321X is not set
-
-#
-# SPI GPIO expanders
-#
-# CONFIG_GPIO_MAX7301 is not set
-# CONFIG_GPIO_MC33880 is not set
-# CONFIG_GPIO_PISOSR is not set
-
-#
-# SPI or I2C GPIO expanders
-#
-
-#
-# USB GPIO expanders
-#
-CONFIG_GPIO_VIPERBOARD=m
-# CONFIG_W1 is not set
-CONFIG_POWER_AVS=y
-CONFIG_POWER_RESET=y
-# CONFIG_POWER_RESET_RESTART is not set
-CONFIG_POWER_SUPPLY=y
-# CONFIG_POWER_SUPPLY_DEBUG is not set
-CONFIG_PDA_POWER=m
-# CONFIG_GENERIC_ADC_BATTERY is not set
-CONFIG_TEST_POWER=m
-# CONFIG_BATTERY_DS2780 is not set
-# CONFIG_BATTERY_DS2781 is not set
-# CONFIG_BATTERY_DS2782 is not set
-# CONFIG_BATTERY_SBS is not set
-# CONFIG_BATTERY_BQ27XXX is not set
-# CONFIG_BATTERY_MAX17040 is not set
-# CONFIG_BATTERY_MAX17042 is not set
-# CONFIG_CHARGER_PCF50633 is not set
-# CONFIG_CHARGER_ISP1704 is not set
-# CONFIG_CHARGER_MAX8903 is not set
-# CONFIG_CHARGER_LP8727 is not set
-# CONFIG_CHARGER_GPIO is not set
-# CONFIG_CHARGER_BQ2415X is not set
-# CONFIG_CHARGER_BQ24190 is not set
-# CONFIG_CHARGER_BQ24257 is not set
-CONFIG_CHARGER_BQ24735=m
-# CONFIG_CHARGER_BQ25890 is not set
-# CONFIG_CHARGER_SMB347 is not set
-# CONFIG_CHARGER_TPS65217 is not set
-# CONFIG_BATTERY_GAUGE_LTC2941 is not set
-# CONFIG_BATTERY_RT5033 is not set
-# CONFIG_CHARGER_RT9455 is not set
-CONFIG_HWMON=y
-CONFIG_HWMON_VID=m
-# CONFIG_HWMON_DEBUG_CHIP is not set
-
-#
-# Native drivers
-#
-CONFIG_SENSORS_ABITUGURU=m
-CONFIG_SENSORS_ABITUGURU3=m
-CONFIG_SENSORS_AD7314=m
-CONFIG_SENSORS_AD7414=m
-CONFIG_SENSORS_AD7418=m
-CONFIG_SENSORS_ADM1021=m
-CONFIG_SENSORS_ADM1025=m
-CONFIG_SENSORS_ADM1026=m
-CONFIG_SENSORS_ADM1029=m
-CONFIG_SENSORS_ADM1031=m
-CONFIG_SENSORS_ADM9240=m
-CONFIG_SENSORS_ADT7X10=m
-CONFIG_SENSORS_ADT7310=m
-CONFIG_SENSORS_ADT7410=m
-CONFIG_SENSORS_ADT7411=m
-CONFIG_SENSORS_ADT7462=m
-CONFIG_SENSORS_ADT7470=m
-CONFIG_SENSORS_ADT7475=m
-CONFIG_SENSORS_ASC7621=m
-CONFIG_SENSORS_K8TEMP=m
-CONFIG_SENSORS_K10TEMP=m
-CONFIG_SENSORS_FAM15H_POWER=m
-CONFIG_SENSORS_APPLESMC=m
-CONFIG_SENSORS_ASB100=m
-CONFIG_SENSORS_ATXP1=m
-CONFIG_SENSORS_DS620=m
-CONFIG_SENSORS_DS1621=m
-CONFIG_SENSORS_DELL_SMM=m
-CONFIG_SENSORS_I5K_AMB=m
-CONFIG_SENSORS_F71805F=m
-CONFIG_SENSORS_F71882FG=m
-CONFIG_SENSORS_F75375S=m
-CONFIG_SENSORS_MC13783_ADC=m
-CONFIG_SENSORS_FSCHMD=m
-CONFIG_SENSORS_FTSTEUTATES=m
-CONFIG_SENSORS_GL518SM=m
-CONFIG_SENSORS_GL520SM=m
-CONFIG_SENSORS_G760A=m
-CONFIG_SENSORS_G762=m
-CONFIG_SENSORS_GPIO_FAN=m
-CONFIG_SENSORS_HIH6130=m
-CONFIG_SENSORS_IBMAEM=m
-CONFIG_SENSORS_IBMPEX=m
-# CONFIG_SENSORS_IIO_HWMON is not set
-CONFIG_SENSORS_I5500=m
-CONFIG_SENSORS_CORETEMP=m
-CONFIG_SENSORS_IT87=m
-CONFIG_SENSORS_JC42=m
-CONFIG_SENSORS_POWR1220=m
-CONFIG_SENSORS_LINEAGE=m
-CONFIG_SENSORS_LTC2945=m
-CONFIG_SENSORS_LTC2990=m
-CONFIG_SENSORS_LTC4151=m
-CONFIG_SENSORS_LTC4215=m
-CONFIG_SENSORS_LTC4222=m
-CONFIG_SENSORS_LTC4245=m
-CONFIG_SENSORS_LTC4260=m
-CONFIG_SENSORS_LTC4261=m
-CONFIG_SENSORS_MAX1111=m
-CONFIG_SENSORS_MAX16065=m
-CONFIG_SENSORS_MAX1619=m
-CONFIG_SENSORS_MAX1668=m
-CONFIG_SENSORS_MAX197=m
-CONFIG_SENSORS_MAX31722=m
-CONFIG_SENSORS_MAX6639=m
-CONFIG_SENSORS_MAX6642=m
-CONFIG_SENSORS_MAX6650=m
-CONFIG_SENSORS_MAX6697=m
-CONFIG_SENSORS_MAX31790=m
-CONFIG_SENSORS_MCP3021=m
-CONFIG_SENSORS_ADCXX=m
-CONFIG_SENSORS_LM63=m
-CONFIG_SENSORS_LM70=m
-CONFIG_SENSORS_LM73=m
-CONFIG_SENSORS_LM75=m
-CONFIG_SENSORS_LM77=m
-CONFIG_SENSORS_LM78=m
-CONFIG_SENSORS_LM80=m
-CONFIG_SENSORS_LM83=m
-CONFIG_SENSORS_LM85=m
-CONFIG_SENSORS_LM87=m
-CONFIG_SENSORS_LM90=m
-CONFIG_SENSORS_LM92=m
-CONFIG_SENSORS_LM93=m
-CONFIG_SENSORS_LM95234=m
-CONFIG_SENSORS_LM95241=m
-CONFIG_SENSORS_LM95245=m
-CONFIG_SENSORS_PC87360=m
-CONFIG_SENSORS_PC87427=m
-CONFIG_SENSORS_NTC_THERMISTOR=m
-CONFIG_SENSORS_NCT6683=m
-CONFIG_SENSORS_NCT6775=m
-CONFIG_SENSORS_NCT7802=m
-CONFIG_SENSORS_NCT7904=m
-CONFIG_SENSORS_PCF8591=m
-CONFIG_PMBUS=m
-CONFIG_SENSORS_PMBUS=m
-CONFIG_SENSORS_ADM1275=m
-CONFIG_SENSORS_LM25066=m
-CONFIG_SENSORS_LTC2978=m
-CONFIG_SENSORS_LTC3815=m
-CONFIG_SENSORS_MAX16064=m
-CONFIG_SENSORS_MAX20751=m
-CONFIG_SENSORS_MAX34440=m
-CONFIG_SENSORS_MAX8688=m
-CONFIG_SENSORS_TPS40422=m
-CONFIG_SENSORS_UCD9000=m
-CONFIG_SENSORS_UCD9200=m
-CONFIG_SENSORS_ZL6100=m
-CONFIG_SENSORS_SHT15=m
-CONFIG_SENSORS_SHT21=m
-CONFIG_SENSORS_SHT3x=m
-CONFIG_SENSORS_SHTC1=m
-CONFIG_SENSORS_SIS5595=m
-CONFIG_SENSORS_DME1737=m
-CONFIG_SENSORS_EMC1403=m
-CONFIG_SENSORS_EMC2103=m
-CONFIG_SENSORS_EMC6W201=m
-CONFIG_SENSORS_SMSC47M1=m
-CONFIG_SENSORS_SMSC47M192=m
-CONFIG_SENSORS_SMSC47B397=m
-CONFIG_SENSORS_SCH56XX_COMMON=m
-CONFIG_SENSORS_SCH5627=m
-CONFIG_SENSORS_SCH5636=m
-CONFIG_SENSORS_SMM665=m
-CONFIG_SENSORS_ADC128D818=m
-CONFIG_SENSORS_ADS1015=m
-CONFIG_SENSORS_ADS7828=m
-CONFIG_SENSORS_ADS7871=m
-CONFIG_SENSORS_AMC6821=m
-CONFIG_SENSORS_INA209=m
-CONFIG_SENSORS_INA2XX=m
-CONFIG_SENSORS_INA3221=m
-CONFIG_SENSORS_TC74=m
-CONFIG_SENSORS_THMC50=m
-CONFIG_SENSORS_TMP102=m
-CONFIG_SENSORS_TMP103=m
-CONFIG_SENSORS_TMP401=m
-CONFIG_SENSORS_TMP421=m
-CONFIG_SENSORS_VIA_CPUTEMP=m
-CONFIG_SENSORS_VIA686A=m
-CONFIG_SENSORS_VT1211=m
-CONFIG_SENSORS_VT8231=m
-CONFIG_SENSORS_W83781D=m
-CONFIG_SENSORS_W83791D=m
-CONFIG_SENSORS_W83792D=m
-CONFIG_SENSORS_W83793=m
-CONFIG_SENSORS_W83795=m
-# CONFIG_SENSORS_W83795_FANCTRL is not set
-CONFIG_SENSORS_W83L785TS=m
-CONFIG_SENSORS_W83L786NG=m
-CONFIG_SENSORS_W83627HF=m
-CONFIG_SENSORS_W83627EHF=m
-
-#
-# ACPI drivers
-#
-CONFIG_SENSORS_ACPI_POWER=m
-CONFIG_SENSORS_ATK0110=m
-CONFIG_THERMAL=y
-CONFIG_THERMAL_HWMON=y
-CONFIG_THERMAL_WRITABLE_TRIPS=y
-CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y
-# CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE is not set
-# CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE is not set
-# CONFIG_THERMAL_DEFAULT_GOV_POWER_ALLOCATOR is not set
-CONFIG_THERMAL_GOV_FAIR_SHARE=y
-CONFIG_THERMAL_GOV_STEP_WISE=y
-CONFIG_THERMAL_GOV_BANG_BANG=y
-CONFIG_THERMAL_GOV_USER_SPACE=y
-# CONFIG_THERMAL_GOV_POWER_ALLOCATOR is not set
-# CONFIG_THERMAL_EMULATION is not set
-CONFIG_INTEL_POWERCLAMP=m
-CONFIG_X86_PKG_TEMP_THERMAL=m
-CONFIG_INTEL_SOC_DTS_IOSF_CORE=m
-CONFIG_INTEL_SOC_DTS_THERMAL=m
-
-#
-# ACPI INT340X thermal drivers
-#
-CONFIG_INT340X_THERMAL=m
-CONFIG_ACPI_THERMAL_REL=m
-CONFIG_INT3406_THERMAL=m
-CONFIG_INTEL_BXT_PMIC_THERMAL=m
-CONFIG_INTEL_PCH_THERMAL=m
-CONFIG_GENERIC_ADC_THERMAL=m
-CONFIG_WATCHDOG=y
-CONFIG_WATCHDOG_CORE=y
-# CONFIG_WATCHDOG_NOWAYOUT is not set
-CONFIG_WATCHDOG_SYSFS=y
-
-#
-# Watchdog Device Drivers
-#
-CONFIG_SOFT_WATCHDOG=m
-CONFIG_WDAT_WDT=m
-CONFIG_XILINX_WATCHDOG=m
-CONFIG_ZIIRAVE_WATCHDOG=m
-# CONFIG_CADENCE_WATCHDOG is not set
-CONFIG_DW_WATCHDOG=m
-# CONFIG_MAX63XX_WATCHDOG is not set
-CONFIG_RETU_WATCHDOG=m
-CONFIG_ACQUIRE_WDT=m
-CONFIG_ADVANTECH_WDT=m
-CONFIG_ALIM1535_WDT=m
-CONFIG_ALIM7101_WDT=m
-CONFIG_F71808E_WDT=m
-CONFIG_SP5100_TCO=m
-CONFIG_SBC_FITPC2_WATCHDOG=m
-CONFIG_EUROTECH_WDT=m
-CONFIG_IB700_WDT=m
-CONFIG_IBMASR=m
-CONFIG_WAFER_WDT=m
-CONFIG_I6300ESB_WDT=m
-CONFIG_IE6XX_WDT=m
-CONFIG_ITCO_WDT=m
-CONFIG_ITCO_VENDOR_SUPPORT=y
-CONFIG_IT8712F_WDT=m
-CONFIG_IT87_WDT=m
-CONFIG_HP_WATCHDOG=m
-CONFIG_HPWDT_NMI_DECODING=y
-CONFIG_SC1200_WDT=m
-CONFIG_PC87413_WDT=m
-CONFIG_NV_TCO=m
-CONFIG_60XX_WDT=m
-CONFIG_CPU5_WDT=m
-CONFIG_SMSC_SCH311X_WDT=m
-CONFIG_SMSC37B787_WDT=m
-CONFIG_VIA_WDT=m
-CONFIG_W83627HF_WDT=m
-CONFIG_W83877F_WDT=m
-CONFIG_W83977F_WDT=m
-CONFIG_MACHZ_WDT=m
-CONFIG_SBC_EPX_C3_WATCHDOG=m
-CONFIG_INTEL_MEI_WDT=m
-CONFIG_NI903X_WDT=m
-CONFIG_MEN_A21_WDT=m
-CONFIG_XEN_WDT=m
-
-#
-# PCI-based Watchdog Cards
-#
-CONFIG_PCIPCWATCHDOG=m
-CONFIG_WDTPCI=m
-
-#
-# USB-based Watchdog Cards
-#
-CONFIG_USBPCWATCHDOG=m
-
-#
-# Watchdog Pretimeout Governors
-#
-CONFIG_WATCHDOG_PRETIMEOUT_GOV=y
-# CONFIG_WATCHDOG_PRETIMEOUT_DEFAULT_GOV_NOOP is not set
-CONFIG_WATCHDOG_PRETIMEOUT_DEFAULT_GOV_PANIC=y
-CONFIG_WATCHDOG_PRETIMEOUT_GOV_NOOP=m
-CONFIG_WATCHDOG_PRETIMEOUT_GOV_PANIC=y
-CONFIG_SSB_POSSIBLE=y
-
-#
-# Sonics Silicon Backplane
-#
-CONFIG_SSB=m
-CONFIG_SSB_SPROM=y
-CONFIG_SSB_BLOCKIO=y
-CONFIG_SSB_PCIHOST_POSSIBLE=y
-CONFIG_SSB_PCIHOST=y
-CONFIG_SSB_B43_PCI_BRIDGE=y
-CONFIG_SSB_PCMCIAHOST_POSSIBLE=y
-CONFIG_SSB_PCMCIAHOST=y
-CONFIG_SSB_SDIOHOST_POSSIBLE=y
-CONFIG_SSB_SDIOHOST=y
-# CONFIG_SSB_DEBUG is not set
-CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y
-CONFIG_SSB_DRIVER_PCICORE=y
-CONFIG_SSB_DRIVER_GPIO=y
-CONFIG_BCMA_POSSIBLE=y
-
-#
-# Broadcom specific AMBA
-#
-CONFIG_BCMA=m
-CONFIG_BCMA_BLOCKIO=y
-CONFIG_BCMA_HOST_PCI_POSSIBLE=y
-CONFIG_BCMA_HOST_PCI=y
-# CONFIG_BCMA_HOST_SOC is not set
-CONFIG_BCMA_DRIVER_PCI=y
-CONFIG_BCMA_DRIVER_GMAC_CMN=y
-CONFIG_BCMA_DRIVER_GPIO=y
-# CONFIG_BCMA_DEBUG is not set
-
-#
-# Multifunction device drivers
-#
-CONFIG_MFD_CORE=y
-# CONFIG_MFD_AS3711 is not set
-# CONFIG_PMIC_ADP5520 is not set
-# CONFIG_MFD_AAT2870_CORE is not set
-CONFIG_MFD_BCM590XX=m
-# CONFIG_MFD_AXP20X_I2C is not set
-CONFIG_MFD_CROS_EC=m
-CONFIG_MFD_CROS_EC_I2C=m
-# CONFIG_MFD_CROS_EC_SPI is not set
-# CONFIG_PMIC_DA903X is not set
-# CONFIG_MFD_DA9052_SPI is not set
-# CONFIG_MFD_DA9052_I2C is not set
-# CONFIG_MFD_DA9055 is not set
-# CONFIG_MFD_DA9062 is not set
-# CONFIG_MFD_DA9063 is not set
-# CONFIG_MFD_DA9150 is not set
-# CONFIG_MFD_DLN2 is not set
-# CONFIG_MFD_EXYNOS_LPASS is not set
-CONFIG_MFD_MC13XXX=m
-# CONFIG_MFD_MC13XXX_SPI is not set
-CONFIG_MFD_MC13XXX_I2C=m
-CONFIG_HTC_PASIC3=m
-# CONFIG_HTC_I2CPLD is not set
-# CONFIG_MFD_INTEL_QUARK_I2C_GPIO is not set
-CONFIG_LPC_ICH=m
-CONFIG_LPC_SCH=m
-CONFIG_INTEL_SOC_PMIC=y
-CONFIG_MFD_INTEL_LPSS=m
-CONFIG_MFD_INTEL_LPSS_ACPI=m
-CONFIG_MFD_INTEL_LPSS_PCI=m
-# CONFIG_MFD_JANZ_CMODIO is not set
-# CONFIG_MFD_KEMPLD is not set
-# CONFIG_MFD_88PM800 is not set
-# CONFIG_MFD_88PM805 is not set
-# CONFIG_MFD_88PM860X is not set
-# CONFIG_MFD_MAX14577 is not set
-# CONFIG_MFD_MAX77693 is not set
-# CONFIG_MFD_MAX77843 is not set
-# CONFIG_MFD_MAX8907 is not set
-# CONFIG_MFD_MAX8925 is not set
-# CONFIG_MFD_MAX8997 is not set
-# CONFIG_MFD_MAX8998 is not set
-# CONFIG_MFD_MT6397 is not set
-# CONFIG_MFD_MENF21BMC is not set
-# CONFIG_EZX_PCAP is not set
-CONFIG_MFD_VIPERBOARD=m
-CONFIG_MFD_RETU=m
-CONFIG_MFD_PCF50633=m
-CONFIG_PCF50633_ADC=m
-CONFIG_PCF50633_GPIO=m
-CONFIG_UCB1400_CORE=m
-CONFIG_MFD_RDC321X=m
-CONFIG_MFD_RTSX_PCI=m
-CONFIG_MFD_RT5033=m
-CONFIG_MFD_RTSX_USB=m
-# CONFIG_MFD_RC5T583 is not set
-# CONFIG_MFD_SEC_CORE is not set
-CONFIG_MFD_SI476X_CORE=m
-CONFIG_MFD_SM501=m
-CONFIG_MFD_SM501_GPIO=y
-# CONFIG_MFD_SKY81452 is not set
-# CONFIG_MFD_SMSC is not set
-CONFIG_ABX500_CORE=y
-# CONFIG_AB3100_CORE is not set
-CONFIG_MFD_SYSCON=y
-CONFIG_MFD_TI_AM335X_TSCADC=m
-CONFIG_MFD_LP3943=m
-# CONFIG_MFD_LP8788 is not set
-# CONFIG_MFD_PALMAS is not set
-# CONFIG_TPS6105X is not set
-CONFIG_TPS65010=m
-CONFIG_TPS6507X=m
-# CONFIG_MFD_TPS65086 is not set
-# CONFIG_MFD_TPS65090 is not set
-CONFIG_MFD_TPS65217=m
-# CONFIG_MFD_TI_LP873X is not set
-CONFIG_MFD_TPS65218=m
-# CONFIG_MFD_TPS6586X is not set
-# CONFIG_MFD_TPS65910 is not set
-# CONFIG_MFD_TPS65912_I2C is not set
-# CONFIG_MFD_TPS65912_SPI is not set
-# CONFIG_MFD_TPS80031 is not set
-# CONFIG_TWL4030_CORE is not set
-# CONFIG_TWL6040_CORE is not set
-CONFIG_MFD_WL1273_CORE=m
-CONFIG_MFD_LM3533=m
-# CONFIG_MFD_TMIO is not set
-CONFIG_MFD_VX855=m
-CONFIG_MFD_ARIZONA=y
-CONFIG_MFD_ARIZONA_I2C=m
-# CONFIG_MFD_ARIZONA_SPI is not set
-# CONFIG_MFD_CS47L24 is not set
-CONFIG_MFD_WM5102=y
-CONFIG_MFD_WM5110=y
-# CONFIG_MFD_WM8997 is not set
-# CONFIG_MFD_WM8998 is not set
-# CONFIG_MFD_WM8400 is not set
-# CONFIG_MFD_WM831X_I2C is not set
-# CONFIG_MFD_WM831X_SPI is not set
-# CONFIG_MFD_WM8350_I2C is not set
-# CONFIG_MFD_WM8994 is not set
-# CONFIG_REGULATOR is not set
-CONFIG_MEDIA_SUPPORT=m
-
-#
-# Multimedia core support
-#
-CONFIG_MEDIA_CAMERA_SUPPORT=y
-CONFIG_MEDIA_ANALOG_TV_SUPPORT=y
-CONFIG_MEDIA_DIGITAL_TV_SUPPORT=y
-CONFIG_MEDIA_RADIO_SUPPORT=y
-CONFIG_MEDIA_SDR_SUPPORT=y
-CONFIG_MEDIA_RC_SUPPORT=y
-CONFIG_MEDIA_CEC_EDID=y
-CONFIG_MEDIA_CONTROLLER=y
-# CONFIG_MEDIA_CONTROLLER_DVB is not set
-CONFIG_VIDEO_DEV=m
-CONFIG_VIDEO_V4L2_SUBDEV_API=y
-CONFIG_VIDEO_V4L2=m
-# CONFIG_VIDEO_ADV_DEBUG is not set
-# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set
-# CONFIG_VIDEO_PCI_SKELETON is not set
-CONFIG_VIDEO_TUNER=m
-CONFIG_V4L2_MEM2MEM_DEV=m
-# CONFIG_V4L2_FLASH_LED_CLASS is not set
-CONFIG_VIDEOBUF_GEN=m
-CONFIG_VIDEOBUF_DMA_SG=m
-CONFIG_VIDEOBUF_VMALLOC=m
-CONFIG_VIDEOBUF_DVB=m
-CONFIG_VIDEOBUF2_CORE=m
-CONFIG_VIDEOBUF2_MEMOPS=m
-CONFIG_VIDEOBUF2_DMA_CONTIG=m
-CONFIG_VIDEOBUF2_VMALLOC=m
-CONFIG_VIDEOBUF2_DMA_SG=m
-CONFIG_VIDEOBUF2_DVB=m
-CONFIG_DVB_CORE=m
-CONFIG_DVB_NET=y
-CONFIG_TTPCI_EEPROM=m
-CONFIG_DVB_MAX_ADAPTERS=8
-# CONFIG_DVB_DYNAMIC_MINORS is not set
-
-#
-# Media drivers
-#
-CONFIG_RC_CORE=m
-CONFIG_RC_MAP=m
-CONFIG_RC_DECODERS=y
-CONFIG_LIRC=m
-CONFIG_IR_LIRC_CODEC=m
-CONFIG_IR_NEC_DECODER=m
-CONFIG_IR_RC5_DECODER=m
-CONFIG_IR_RC6_DECODER=m
-CONFIG_IR_JVC_DECODER=m
-CONFIG_IR_SONY_DECODER=m
-CONFIG_IR_SANYO_DECODER=m
-CONFIG_IR_SHARP_DECODER=m
-CONFIG_IR_MCE_KBD_DECODER=m
-CONFIG_IR_XMP_DECODER=m
-CONFIG_RC_DEVICES=y
-CONFIG_RC_ATI_REMOTE=m
-CONFIG_IR_ENE=m
-CONFIG_IR_HIX5HD2=m
-CONFIG_IR_IMON=m
-CONFIG_IR_MCEUSB=m
-CONFIG_IR_ITE_CIR=m
-CONFIG_IR_FINTEK=m
-CONFIG_IR_NUVOTON=m
-CONFIG_IR_REDRAT3=m
-CONFIG_IR_STREAMZAP=m
-CONFIG_IR_WINBOND_CIR=m
-CONFIG_IR_IGORPLUGUSB=m
-CONFIG_IR_IGUANA=m
-CONFIG_IR_TTUSBIR=m
-CONFIG_RC_LOOPBACK=m
-CONFIG_IR_GPIO_CIR=m
-CONFIG_MEDIA_USB_SUPPORT=y
-
-#
-# Webcam devices
-#
-CONFIG_USB_VIDEO_CLASS=m
-CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y
-CONFIG_USB_GSPCA=m
-CONFIG_USB_M5602=m
-CONFIG_USB_STV06XX=m
-CONFIG_USB_GL860=m
-CONFIG_USB_GSPCA_BENQ=m
-CONFIG_USB_GSPCA_CONEX=m
-CONFIG_USB_GSPCA_CPIA1=m
-CONFIG_USB_GSPCA_DTCS033=m
-CONFIG_USB_GSPCA_ETOMS=m
-CONFIG_USB_GSPCA_FINEPIX=m
-CONFIG_USB_GSPCA_JEILINJ=m
-CONFIG_USB_GSPCA_JL2005BCD=m
-CONFIG_USB_GSPCA_KINECT=m
-CONFIG_USB_GSPCA_KONICA=m
-CONFIG_USB_GSPCA_MARS=m
-CONFIG_USB_GSPCA_MR97310A=m
-CONFIG_USB_GSPCA_NW80X=m
-CONFIG_USB_GSPCA_OV519=m
-CONFIG_USB_GSPCA_OV534=m
-CONFIG_USB_GSPCA_OV534_9=m
-CONFIG_USB_GSPCA_PAC207=m
-CONFIG_USB_GSPCA_PAC7302=m
-CONFIG_USB_GSPCA_PAC7311=m
-CONFIG_USB_GSPCA_SE401=m
-CONFIG_USB_GSPCA_SN9C2028=m
-CONFIG_USB_GSPCA_SN9C20X=m
-CONFIG_USB_GSPCA_SONIXB=m
-CONFIG_USB_GSPCA_SONIXJ=m
-CONFIG_USB_GSPCA_SPCA500=m
-CONFIG_USB_GSPCA_SPCA501=m
-CONFIG_USB_GSPCA_SPCA505=m
-CONFIG_USB_GSPCA_SPCA506=m
-CONFIG_USB_GSPCA_SPCA508=m
-CONFIG_USB_GSPCA_SPCA561=m
-CONFIG_USB_GSPCA_SPCA1528=m
-CONFIG_USB_GSPCA_SQ905=m
-CONFIG_USB_GSPCA_SQ905C=m
-CONFIG_USB_GSPCA_SQ930X=m
-CONFIG_USB_GSPCA_STK014=m
-CONFIG_USB_GSPCA_STK1135=m
-CONFIG_USB_GSPCA_STV0680=m
-CONFIG_USB_GSPCA_SUNPLUS=m
-CONFIG_USB_GSPCA_T613=m
-CONFIG_USB_GSPCA_TOPRO=m
-CONFIG_USB_GSPCA_TOUPTEK=m
-CONFIG_USB_GSPCA_TV8532=m
-CONFIG_USB_GSPCA_VC032X=m
-CONFIG_USB_GSPCA_VICAM=m
-CONFIG_USB_GSPCA_XIRLINK_CIT=m
-CONFIG_USB_GSPCA_ZC3XX=m
-CONFIG_USB_PWC=m
-# CONFIG_USB_PWC_DEBUG is not set
-CONFIG_USB_PWC_INPUT_EVDEV=y
-CONFIG_VIDEO_CPIA2=m
-CONFIG_USB_ZR364XX=m
-CONFIG_USB_STKWEBCAM=m
-CONFIG_USB_S2255=m
-CONFIG_VIDEO_USBTV=m
-
-#
-# Analog TV USB devices
-#
-CONFIG_VIDEO_PVRUSB2=m
-CONFIG_VIDEO_PVRUSB2_SYSFS=y
-CONFIG_VIDEO_PVRUSB2_DVB=y
-# CONFIG_VIDEO_PVRUSB2_DEBUGIFC is not set
-CONFIG_VIDEO_HDPVR=m
-CONFIG_VIDEO_USBVISION=m
-CONFIG_VIDEO_STK1160_COMMON=m
-CONFIG_VIDEO_STK1160_AC97=y
-CONFIG_VIDEO_STK1160=m
-CONFIG_VIDEO_GO7007=m
-CONFIG_VIDEO_GO7007_USB=m
-CONFIG_VIDEO_GO7007_LOADER=m
-# CONFIG_VIDEO_GO7007_USB_S2250_BOARD is not set
-
-#
-# Analog/digital TV USB devices
-#
-CONFIG_VIDEO_AU0828=m
-CONFIG_VIDEO_AU0828_V4L2=y
-CONFIG_VIDEO_AU0828_RC=y
-CONFIG_VIDEO_CX231XX=m
-CONFIG_VIDEO_CX231XX_RC=y
-CONFIG_VIDEO_CX231XX_ALSA=m
-CONFIG_VIDEO_CX231XX_DVB=m
-CONFIG_VIDEO_TM6000=m
-CONFIG_VIDEO_TM6000_ALSA=m
-CONFIG_VIDEO_TM6000_DVB=m
-
-#
-# Digital TV USB devices
-#
-CONFIG_DVB_USB=m
-# CONFIG_DVB_USB_DEBUG is not set
-CONFIG_DVB_USB_DIB3000MC=m
-CONFIG_DVB_USB_A800=m
-CONFIG_DVB_USB_DIBUSB_MB=m
-CONFIG_DVB_USB_DIBUSB_MB_FAULTY=y
-CONFIG_DVB_USB_DIBUSB_MC=m
-CONFIG_DVB_USB_DIB0700=m
-CONFIG_DVB_USB_UMT_010=m
-CONFIG_DVB_USB_CXUSB=m
-CONFIG_DVB_USB_M920X=m
-CONFIG_DVB_USB_DIGITV=m
-CONFIG_DVB_USB_VP7045=m
-CONFIG_DVB_USB_VP702X=m
-CONFIG_DVB_USB_GP8PSK=m
-CONFIG_DVB_USB_NOVA_T_USB2=m
-CONFIG_DVB_USB_TTUSB2=m
-CONFIG_DVB_USB_DTT200U=m
-CONFIG_DVB_USB_OPERA1=m
-CONFIG_DVB_USB_AF9005=m
-CONFIG_DVB_USB_AF9005_REMOTE=m
-CONFIG_DVB_USB_PCTV452E=m
-CONFIG_DVB_USB_DW2102=m
-CONFIG_DVB_USB_CINERGY_T2=m
-CONFIG_DVB_USB_DTV5100=m
-CONFIG_DVB_USB_FRIIO=m
-CONFIG_DVB_USB_AZ6027=m
-CONFIG_DVB_USB_TECHNISAT_USB2=m
-CONFIG_DVB_USB_V2=m
-CONFIG_DVB_USB_AF9015=m
-CONFIG_DVB_USB_AF9035=m
-CONFIG_DVB_USB_ANYSEE=m
-CONFIG_DVB_USB_AU6610=m
-CONFIG_DVB_USB_AZ6007=m
-CONFIG_DVB_USB_CE6230=m
-CONFIG_DVB_USB_EC168=m
-CONFIG_DVB_USB_GL861=m
-CONFIG_DVB_USB_LME2510=m
-CONFIG_DVB_USB_MXL111SF=m
-CONFIG_DVB_USB_RTL28XXU=m
-CONFIG_DVB_USB_DVBSKY=m
-CONFIG_DVB_TTUSB_BUDGET=m
-CONFIG_DVB_TTUSB_DEC=m
-CONFIG_SMS_USB_DRV=m
-CONFIG_DVB_B2C2_FLEXCOP_USB=m
-# CONFIG_DVB_B2C2_FLEXCOP_USB_DEBUG is not set
-CONFIG_DVB_AS102=m
-
-#
-# Webcam, TV (analog/digital) USB devices
-#
-CONFIG_VIDEO_EM28XX=m
-CONFIG_VIDEO_EM28XX_V4L2=m
-CONFIG_VIDEO_EM28XX_ALSA=m
-CONFIG_VIDEO_EM28XX_DVB=m
-CONFIG_VIDEO_EM28XX_RC=m
-
-#
-# Software defined radio USB devices
-#
-CONFIG_USB_AIRSPY=m
-CONFIG_USB_HACKRF=m
-CONFIG_USB_MSI2500=m
-CONFIG_MEDIA_PCI_SUPPORT=y
-
-#
-# Media capture support
-#
-CONFIG_VIDEO_MEYE=m
-CONFIG_VIDEO_SOLO6X10=m
-CONFIG_VIDEO_TW5864=m
-CONFIG_VIDEO_TW68=m
-CONFIG_VIDEO_TW686X=m
-CONFIG_VIDEO_ZORAN=m
-CONFIG_VIDEO_ZORAN_DC30=m
-CONFIG_VIDEO_ZORAN_ZR36060=m
-CONFIG_VIDEO_ZORAN_BUZ=m
-CONFIG_VIDEO_ZORAN_DC10=m
-CONFIG_VIDEO_ZORAN_LML33=m
-CONFIG_VIDEO_ZORAN_LML33R10=m
-CONFIG_VIDEO_ZORAN_AVS6EYES=m
-
-#
-# Media capture/analog TV support
-#
-CONFIG_VIDEO_IVTV=m
-CONFIG_VIDEO_IVTV_ALSA=m
-CONFIG_VIDEO_FB_IVTV=m
-CONFIG_VIDEO_HEXIUM_GEMINI=m
-CONFIG_VIDEO_HEXIUM_ORION=m
-CONFIG_VIDEO_MXB=m
-CONFIG_VIDEO_DT3155=m
-
-#
-# Media capture/analog/hybrid TV support
-#
-CONFIG_VIDEO_CX18=m
-CONFIG_VIDEO_CX18_ALSA=m
-CONFIG_VIDEO_CX23885=m
-CONFIG_MEDIA_ALTERA_CI=m
-CONFIG_VIDEO_CX25821=m
-CONFIG_VIDEO_CX25821_ALSA=m
-CONFIG_VIDEO_CX88=m
-CONFIG_VIDEO_CX88_ALSA=m
-CONFIG_VIDEO_CX88_BLACKBIRD=m
-CONFIG_VIDEO_CX88_DVB=m
-CONFIG_VIDEO_CX88_ENABLE_VP3054=y
-CONFIG_VIDEO_CX88_VP3054=m
-CONFIG_VIDEO_CX88_MPEG=m
-CONFIG_VIDEO_BT848=m
-CONFIG_DVB_BT8XX=m
-CONFIG_VIDEO_SAA7134=m
-CONFIG_VIDEO_SAA7134_ALSA=m
-CONFIG_VIDEO_SAA7134_RC=y
-CONFIG_VIDEO_SAA7134_DVB=m
-CONFIG_VIDEO_SAA7134_GO7007=m
-CONFIG_VIDEO_SAA7164=m
-CONFIG_VIDEO_COBALT=m
-
-#
-# Media digital TV PCI Adapters
-#
-CONFIG_DVB_AV7110_IR=y
-CONFIG_DVB_AV7110=m
-CONFIG_DVB_AV7110_OSD=y
-CONFIG_DVB_BUDGET_CORE=m
-CONFIG_DVB_BUDGET=m
-CONFIG_DVB_BUDGET_CI=m
-CONFIG_DVB_BUDGET_AV=m
-CONFIG_DVB_BUDGET_PATCH=m
-CONFIG_DVB_B2C2_FLEXCOP_PCI=m
-# CONFIG_DVB_B2C2_FLEXCOP_PCI_DEBUG is not set
-CONFIG_DVB_PLUTO2=m
-CONFIG_DVB_DM1105=m
-CONFIG_DVB_PT1=m
-CONFIG_DVB_PT3=m
-CONFIG_MANTIS_CORE=m
-CONFIG_DVB_MANTIS=m
-CONFIG_DVB_HOPPER=m
-CONFIG_DVB_NGENE=m
-CONFIG_DVB_DDBRIDGE=m
-CONFIG_DVB_SMIPCIE=m
-CONFIG_DVB_NETUP_UNIDVB=m
-# CONFIG_V4L_PLATFORM_DRIVERS is not set
-CONFIG_V4L_MEM2MEM_DRIVERS=y
-CONFIG_VIDEO_MEM2MEM_DEINTERLACE=m
-CONFIG_VIDEO_SH_VEU=m
-CONFIG_V4L_TEST_DRIVERS=y
-# CONFIG_VIDEO_VIVID is not set
-# CONFIG_VIDEO_VIM2M is not set
-# CONFIG_DVB_PLATFORM_DRIVERS is not set
-
-#
-# Supported MMC/SDIO adapters
-#
-CONFIG_SMS_SDIO_DRV=m
-CONFIG_RADIO_ADAPTERS=y
-CONFIG_RADIO_TEA575X=m
-CONFIG_RADIO_SI470X=y
-CONFIG_USB_SI470X=m
-CONFIG_I2C_SI470X=m
-CONFIG_RADIO_SI4713=m
-CONFIG_USB_SI4713=m
-CONFIG_PLATFORM_SI4713=m
-CONFIG_I2C_SI4713=m
-CONFIG_RADIO_SI476X=m
-CONFIG_USB_MR800=m
-CONFIG_USB_DSBR=m
-CONFIG_RADIO_MAXIRADIO=m
-CONFIG_RADIO_SHARK=m
-CONFIG_RADIO_SHARK2=m
-CONFIG_USB_KEENE=m
-CONFIG_USB_RAREMONO=m
-CONFIG_USB_MA901=m
-CONFIG_RADIO_TEA5764=m
-CONFIG_RADIO_SAA7706H=m
-CONFIG_RADIO_TEF6862=m
-CONFIG_RADIO_WL1273=m
-
-#
-# Texas Instruments WL128x FM driver (ST based)
-#
-CONFIG_RADIO_WL128X=m
-
-#
-# Supported FireWire (IEEE 1394) Adapters
-#
-CONFIG_DVB_FIREDTV=m
-CONFIG_DVB_FIREDTV_INPUT=y
-CONFIG_MEDIA_COMMON_OPTIONS=y
-
-#
-# common driver options
-#
-CONFIG_VIDEO_CX2341X=m
-CONFIG_VIDEO_TVEEPROM=m
-CONFIG_CYPRESS_FIRMWARE=m
-CONFIG_DVB_B2C2_FLEXCOP=m
-CONFIG_VIDEO_SAA7146=m
-CONFIG_VIDEO_SAA7146_VV=m
-CONFIG_SMS_SIANO_MDTV=m
-CONFIG_SMS_SIANO_RC=y
-# CONFIG_SMS_SIANO_DEBUGFS is not set
-
-#
-# Media ancillary drivers (tuners, sensors, i2c, spi, frontends)
-#
-CONFIG_MEDIA_SUBDRV_AUTOSELECT=y
-CONFIG_MEDIA_ATTACH=y
-CONFIG_VIDEO_IR_I2C=m
-
-#
-# Audio decoders, processors and mixers
-#
-CONFIG_VIDEO_TVAUDIO=m
-CONFIG_VIDEO_TDA7432=m
-CONFIG_VIDEO_TDA9840=m
-CONFIG_VIDEO_TEA6415C=m
-CONFIG_VIDEO_TEA6420=m
-CONFIG_VIDEO_MSP3400=m
-CONFIG_VIDEO_CS3308=m
-CONFIG_VIDEO_CS5345=m
-CONFIG_VIDEO_CS53L32A=m
-CONFIG_VIDEO_UDA1342=m
-CONFIG_VIDEO_WM8775=m
-CONFIG_VIDEO_WM8739=m
-CONFIG_VIDEO_VP27SMPX=m
-CONFIG_VIDEO_SONY_BTF_MPX=m
-
-#
-# RDS decoders
-#
-CONFIG_VIDEO_SAA6588=m
-
-#
-# Video decoders
-#
-CONFIG_VIDEO_ADV7604=m
-CONFIG_VIDEO_ADV7842=m
-CONFIG_VIDEO_BT819=m
-CONFIG_VIDEO_BT856=m
-CONFIG_VIDEO_BT866=m
-CONFIG_VIDEO_KS0127=m
-CONFIG_VIDEO_SAA7110=m
-CONFIG_VIDEO_SAA711X=m
-CONFIG_VIDEO_TVP5150=m
-CONFIG_VIDEO_TW2804=m
-CONFIG_VIDEO_TW9903=m
-CONFIG_VIDEO_TW9906=m
-CONFIG_VIDEO_VPX3220=m
-
-#
-# Video and audio decoders
-#
-CONFIG_VIDEO_SAA717X=m
-CONFIG_VIDEO_CX25840=m
-
-#
-# Video encoders
-#
-CONFIG_VIDEO_SAA7127=m
-CONFIG_VIDEO_SAA7185=m
-CONFIG_VIDEO_ADV7170=m
-CONFIG_VIDEO_ADV7175=m
-CONFIG_VIDEO_ADV7511=m
-
-#
-# Camera sensor devices
-#
-CONFIG_VIDEO_OV7640=m
-CONFIG_VIDEO_MT9V011=m
-
-#
-# Flash devices
-#
-
-#
-# Video improvement chips
-#
-CONFIG_VIDEO_UPD64031A=m
-CONFIG_VIDEO_UPD64083=m
-
-#
-# Audio/Video compression chips
-#
-CONFIG_VIDEO_SAA6752HS=m
-
-#
-# Miscellaneous helper chips
-#
-CONFIG_VIDEO_M52790=m
-
-#
-# Sensors used on soc_camera driver
-#
-CONFIG_MEDIA_TUNER=m
-CONFIG_MEDIA_TUNER_SIMPLE=m
-CONFIG_MEDIA_TUNER_TDA8290=m
-CONFIG_MEDIA_TUNER_TDA827X=m
-CONFIG_MEDIA_TUNER_TDA18271=m
-CONFIG_MEDIA_TUNER_TDA9887=m
-CONFIG_MEDIA_TUNER_TEA5761=m
-CONFIG_MEDIA_TUNER_TEA5767=m
-CONFIG_MEDIA_TUNER_MSI001=m
-CONFIG_MEDIA_TUNER_MT20XX=m
-CONFIG_MEDIA_TUNER_MT2060=m
-CONFIG_MEDIA_TUNER_MT2063=m
-CONFIG_MEDIA_TUNER_MT2266=m
-CONFIG_MEDIA_TUNER_MT2131=m
-CONFIG_MEDIA_TUNER_QT1010=m
-CONFIG_MEDIA_TUNER_XC2028=m
-CONFIG_MEDIA_TUNER_XC5000=m
-CONFIG_MEDIA_TUNER_XC4000=m
-CONFIG_MEDIA_TUNER_MXL5005S=m
-CONFIG_MEDIA_TUNER_MXL5007T=m
-CONFIG_MEDIA_TUNER_MC44S803=m
-CONFIG_MEDIA_TUNER_MAX2165=m
-CONFIG_MEDIA_TUNER_TDA18218=m
-CONFIG_MEDIA_TUNER_FC0011=m
-CONFIG_MEDIA_TUNER_FC0012=m
-CONFIG_MEDIA_TUNER_FC0013=m
-CONFIG_MEDIA_TUNER_TDA18212=m
-CONFIG_MEDIA_TUNER_E4000=m
-CONFIG_MEDIA_TUNER_FC2580=m
-CONFIG_MEDIA_TUNER_M88RS6000T=m
-CONFIG_MEDIA_TUNER_TUA9001=m
-CONFIG_MEDIA_TUNER_SI2157=m
-CONFIG_MEDIA_TUNER_IT913X=m
-CONFIG_MEDIA_TUNER_R820T=m
-CONFIG_MEDIA_TUNER_MXL301RF=m
-CONFIG_MEDIA_TUNER_QM1D1C0042=m
-
-#
-# Multistandard (satellite) frontends
-#
-CONFIG_DVB_STB0899=m
-CONFIG_DVB_STB6100=m
-CONFIG_DVB_STV090x=m
-CONFIG_DVB_STV6110x=m
-CONFIG_DVB_M88DS3103=m
-
-#
-# Multistandard (cable + terrestrial) frontends
-#
-CONFIG_DVB_DRXK=m
-CONFIG_DVB_TDA18271C2DD=m
-CONFIG_DVB_SI2165=m
-CONFIG_DVB_MN88472=m
-CONFIG_DVB_MN88473=m
-
-#
-# DVB-S (satellite) frontends
-#
-CONFIG_DVB_CX24110=m
-CONFIG_DVB_CX24123=m
-CONFIG_DVB_MT312=m
-CONFIG_DVB_ZL10036=m
-CONFIG_DVB_ZL10039=m
-CONFIG_DVB_S5H1420=m
-CONFIG_DVB_STV0288=m
-CONFIG_DVB_STB6000=m
-CONFIG_DVB_STV0299=m
-CONFIG_DVB_STV6110=m
-CONFIG_DVB_STV0900=m
-CONFIG_DVB_TDA8083=m
-CONFIG_DVB_TDA10086=m
-CONFIG_DVB_TDA8261=m
-CONFIG_DVB_VES1X93=m
-CONFIG_DVB_TUNER_ITD1000=m
-CONFIG_DVB_TUNER_CX24113=m
-CONFIG_DVB_TDA826X=m
-CONFIG_DVB_TUA6100=m
-CONFIG_DVB_CX24116=m
-CONFIG_DVB_CX24117=m
-CONFIG_DVB_CX24120=m
-CONFIG_DVB_SI21XX=m
-CONFIG_DVB_TS2020=m
-CONFIG_DVB_DS3000=m
-CONFIG_DVB_MB86A16=m
-CONFIG_DVB_TDA10071=m
-
-#
-# DVB-T (terrestrial) frontends
-#
-CONFIG_DVB_SP8870=m
-CONFIG_DVB_SP887X=m
-CONFIG_DVB_CX22700=m
-CONFIG_DVB_CX22702=m
-CONFIG_DVB_DRXD=m
-CONFIG_DVB_L64781=m
-CONFIG_DVB_TDA1004X=m
-CONFIG_DVB_NXT6000=m
-CONFIG_DVB_MT352=m
-CONFIG_DVB_ZL10353=m
-CONFIG_DVB_DIB3000MB=m
-CONFIG_DVB_DIB3000MC=m
-CONFIG_DVB_DIB7000M=m
-CONFIG_DVB_DIB7000P=m
-CONFIG_DVB_TDA10048=m
-CONFIG_DVB_AF9013=m
-CONFIG_DVB_EC100=m
-CONFIG_DVB_STV0367=m
-CONFIG_DVB_CXD2820R=m
-CONFIG_DVB_CXD2841ER=m
-CONFIG_DVB_RTL2830=m
-CONFIG_DVB_RTL2832=m
-CONFIG_DVB_RTL2832_SDR=m
-CONFIG_DVB_SI2168=m
-CONFIG_DVB_AS102_FE=m
-CONFIG_DVB_GP8PSK_FE=m
-
-#
-# DVB-C (cable) frontends
-#
-CONFIG_DVB_VES1820=m
-CONFIG_DVB_TDA10021=m
-CONFIG_DVB_TDA10023=m
-CONFIG_DVB_STV0297=m
-
-#
-# ATSC (North American/Korean Terrestrial/Cable DTV) frontends
-#
-CONFIG_DVB_NXT200X=m
-CONFIG_DVB_OR51211=m
-CONFIG_DVB_OR51132=m
-CONFIG_DVB_BCM3510=m
-CONFIG_DVB_LGDT330X=m
-CONFIG_DVB_LGDT3305=m
-CONFIG_DVB_LGDT3306A=m
-CONFIG_DVB_LG2160=m
-CONFIG_DVB_S5H1409=m
-CONFIG_DVB_AU8522=m
-CONFIG_DVB_AU8522_DTV=m
-CONFIG_DVB_AU8522_V4L=m
-CONFIG_DVB_S5H1411=m
-
-#
-# ISDB-T (terrestrial) frontends
-#
-CONFIG_DVB_S921=m
-CONFIG_DVB_DIB8000=m
-CONFIG_DVB_MB86A20S=m
-
-#
-# ISDB-S (satellite) & ISDB-T (terrestrial) frontends
-#
-CONFIG_DVB_TC90522=m
-
-#
-# Digital terrestrial only tuners/PLL
-#
-CONFIG_DVB_PLL=m
-CONFIG_DVB_TUNER_DIB0070=m
-CONFIG_DVB_TUNER_DIB0090=m
-
-#
-# SEC control devices for DVB-S
-#
-CONFIG_DVB_DRX39XYJ=m
-CONFIG_DVB_LNBH25=m
-CONFIG_DVB_LNBP21=m
-CONFIG_DVB_LNBP22=m
-CONFIG_DVB_ISL6405=m
-CONFIG_DVB_ISL6421=m
-CONFIG_DVB_ISL6423=m
-CONFIG_DVB_A8293=m
-CONFIG_DVB_SP2=m
-CONFIG_DVB_LGS8GXX=m
-CONFIG_DVB_ATBM8830=m
-CONFIG_DVB_TDA665x=m
-CONFIG_DVB_IX2505V=m
-CONFIG_DVB_M88RS2000=m
-CONFIG_DVB_AF9033=m
-CONFIG_DVB_HORUS3A=m
-CONFIG_DVB_ASCOT2E=m
-CONFIG_DVB_HELENE=m
-
-#
-# Tools to develop new frontends
-#
-# CONFIG_DVB_DUMMY_FE is not set
-
-#
-# Graphics support
-#
-CONFIG_AGP=y
-CONFIG_AGP_AMD64=m
-CONFIG_AGP_INTEL=m
-CONFIG_AGP_SIS=m
-CONFIG_AGP_VIA=m
-CONFIG_INTEL_GTT=m
-CONFIG_VGA_ARB=y
-CONFIG_VGA_ARB_MAX_GPUS=16
-CONFIG_VGA_SWITCHEROO=y
-CONFIG_DRM=m
-CONFIG_DRM_MIPI_DSI=y
-CONFIG_DRM_DP_AUX_CHARDEV=y
-CONFIG_DRM_KMS_HELPER=m
-CONFIG_DRM_KMS_FB_HELPER=y
-CONFIG_DRM_FBDEV_EMULATION=y
-CONFIG_DRM_LOAD_EDID_FIRMWARE=y
-CONFIG_DRM_TTM=m
-
-#
-# I2C encoder or helper chips
-#
-CONFIG_DRM_I2C_CH7006=m
-CONFIG_DRM_I2C_SIL164=m
-CONFIG_DRM_I2C_NXP_TDA998X=m
-CONFIG_DRM_RADEON=m
-CONFIG_DRM_RADEON_USERPTR=y
-CONFIG_DRM_AMDGPU=m
-CONFIG_DRM_AMDGPU_SI=y
-CONFIG_DRM_AMDGPU_CIK=y
-CONFIG_DRM_AMDGPU_USERPTR=y
-# CONFIG_DRM_AMDGPU_GART_DEBUGFS is not set
-
-#
-# ACP (Audio CoProcessor) Configuration
-#
-CONFIG_DRM_AMD_ACP=y
-CONFIG_DRM_NOUVEAU=m
-CONFIG_NOUVEAU_DEBUG=5
-CONFIG_NOUVEAU_DEBUG_DEFAULT=3
-CONFIG_DRM_NOUVEAU_BACKLIGHT=y
-CONFIG_DRM_I915=m
-# CONFIG_DRM_I915_PRELIMINARY_HW_SUPPORT is not set
-CONFIG_DRM_I915_USERPTR=y
-CONFIG_DRM_I915_GVT=y
-CONFIG_DRM_VGEM=m
-CONFIG_DRM_VMWGFX=m
-CONFIG_DRM_VMWGFX_FBCON=y
-CONFIG_DRM_GMA500=m
-CONFIG_DRM_GMA600=y
-CONFIG_DRM_GMA3600=y
-CONFIG_DRM_UDL=m
-CONFIG_DRM_AST=m
-CONFIG_DRM_MGAG200=m
-CONFIG_DRM_CIRRUS_QEMU=m
-CONFIG_DRM_QXL=m
-CONFIG_DRM_BOCHS=m
-CONFIG_DRM_VIRTIO_GPU=m
-CONFIG_DRM_PANEL=y
-
-#
-# Display Panels
-#
-CONFIG_DRM_BRIDGE=y
-
-#
-# Display Interface Bridges
-#
-CONFIG_DRM_ANALOGIX_ANX78XX=m
-CONFIG_HSA_AMD=m
-# CONFIG_DRM_LEGACY is not set
-
-#
-# Frame buffer Devices
-#
-CONFIG_FB=y
-CONFIG_FIRMWARE_EDID=y
-CONFIG_FB_CMDLINE=y
-CONFIG_FB_NOTIFY=y
-# CONFIG_FB_DDC is not set
-CONFIG_FB_BOOT_VESA_SUPPORT=y
-CONFIG_FB_CFB_FILLRECT=y
-CONFIG_FB_CFB_COPYAREA=y
-CONFIG_FB_CFB_IMAGEBLIT=y
-# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
-CONFIG_FB_SYS_FILLRECT=m
-CONFIG_FB_SYS_COPYAREA=m
-CONFIG_FB_SYS_IMAGEBLIT=m
-# CONFIG_FB_FOREIGN_ENDIAN is not set
-CONFIG_FB_SYS_FOPS=m
-CONFIG_FB_DEFERRED_IO=y
-# CONFIG_FB_SVGALIB is not set
-# CONFIG_FB_MACMODES is not set
-CONFIG_FB_BACKLIGHT=y
-CONFIG_FB_MODE_HELPERS=y
-CONFIG_FB_TILEBLITTING=y
-
-#
-# Frame buffer hardware drivers
-#
-# CONFIG_FB_CIRRUS is not set
-# CONFIG_FB_PM2 is not set
-# CONFIG_FB_CYBER2000 is not set
-# CONFIG_FB_ARC is not set
-# CONFIG_FB_ASILIANT is not set
-# CONFIG_FB_IMSTT is not set
-CONFIG_FB_VGA16=m
-CONFIG_FB_UVESA=m
-CONFIG_FB_VESA=y
-CONFIG_FB_EFI=y
-# CONFIG_FB_N411 is not set
-# CONFIG_FB_HGA is not set
-CONFIG_FB_OPENCORES=m
-# CONFIG_FB_S1D13XXX is not set
-# CONFIG_FB_NVIDIA is not set
-# CONFIG_FB_RIVA is not set
-# CONFIG_FB_I740 is not set
-# CONFIG_FB_LE80578 is not set
-# CONFIG_FB_MATROX is not set
-# CONFIG_FB_RADEON is not set
-# CONFIG_FB_ATY128 is not set
-# CONFIG_FB_ATY is not set
-# CONFIG_FB_S3 is not set
-# CONFIG_FB_SAVAGE is not set
-# CONFIG_FB_SIS is not set
-CONFIG_FB_VIA=m
-CONFIG_FB_VIA_DIRECT_PROCFS=y
-CONFIG_FB_VIA_X_COMPATIBILITY=y
-# CONFIG_FB_NEOMAGIC is not set
-# CONFIG_FB_KYRO is not set
-# CONFIG_FB_3DFX is not set
-CONFIG_FB_VOODOO1=m
-# CONFIG_FB_VT8623 is not set
-# CONFIG_FB_TRIDENT is not set
-# CONFIG_FB_ARK is not set
-# CONFIG_FB_PM3 is not set
-# CONFIG_FB_CARMINE is not set
-# CONFIG_FB_SM501 is not set
-# CONFIG_FB_SMSCUFX is not set
-CONFIG_FB_UDL=m
-# CONFIG_FB_IBM_GXT4500 is not set
-CONFIG_FB_VIRTUAL=m
-CONFIG_XEN_FBDEV_FRONTEND=m
-# CONFIG_FB_METRONOME is not set
-# CONFIG_FB_MB862XX is not set
-# CONFIG_FB_BROADSHEET is not set
-# CONFIG_FB_AUO_K190X is not set
-CONFIG_FB_HYPERV=m
-# CONFIG_FB_SIMPLE is not set
-# CONFIG_FB_SM712 is not set
-CONFIG_BACKLIGHT_LCD_SUPPORT=y
-CONFIG_LCD_CLASS_DEVICE=m
-# CONFIG_LCD_L4F00242T03 is not set
-# CONFIG_LCD_LMS283GF05 is not set
-# CONFIG_LCD_LTV350QV is not set
-# CONFIG_LCD_ILI922X is not set
-# CONFIG_LCD_ILI9320 is not set
-# CONFIG_LCD_TDO24M is not set
-# CONFIG_LCD_VGG2432A4 is not set
-CONFIG_LCD_PLATFORM=m
-# CONFIG_LCD_S6E63M0 is not set
-# CONFIG_LCD_LD9040 is not set
-# CONFIG_LCD_AMS369FG06 is not set
-# CONFIG_LCD_LMS501KF03 is not set
-# CONFIG_LCD_HX8357 is not set
-CONFIG_BACKLIGHT_CLASS_DEVICE=y
-# CONFIG_BACKLIGHT_GENERIC is not set
-CONFIG_BACKLIGHT_LM3533=m
-CONFIG_BACKLIGHT_APPLE=m
-# CONFIG_BACKLIGHT_PM8941_WLED is not set
-# CONFIG_BACKLIGHT_SAHARA is not set
-# CONFIG_BACKLIGHT_ADP8860 is not set
-# CONFIG_BACKLIGHT_ADP8870 is not set
-CONFIG_BACKLIGHT_PCF50633=m
-# CONFIG_BACKLIGHT_LM3639 is not set
-# CONFIG_BACKLIGHT_TPS65217 is not set
-# CONFIG_BACKLIGHT_GPIO is not set
-# CONFIG_BACKLIGHT_LV5207LP is not set
-# CONFIG_BACKLIGHT_BD6107 is not set
-CONFIG_VGASTATE=m
-CONFIG_HDMI=y
-
-#
-# Console display driver support
-#
-CONFIG_VGA_CONSOLE=y
-CONFIG_VGACON_SOFT_SCROLLBACK=y
-CONFIG_VGACON_SOFT_SCROLLBACK_SIZE=64
-CONFIG_DUMMY_CONSOLE=y
-CONFIG_DUMMY_CONSOLE_COLUMNS=80
-CONFIG_DUMMY_CONSOLE_ROWS=25
-CONFIG_FRAMEBUFFER_CONSOLE=y
-CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
-CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
-# CONFIG_LOGO is not set
-CONFIG_SOUND=m
-CONFIG_SOUND_OSS_CORE=y
-# CONFIG_SOUND_OSS_CORE_PRECLAIM is not set
-CONFIG_SND=m
-CONFIG_SND_TIMER=m
-CONFIG_SND_PCM=m
-CONFIG_SND_PCM_ELD=y
-CONFIG_SND_PCM_IEC958=y
-CONFIG_SND_DMAENGINE_PCM=m
-CONFIG_SND_HWDEP=m
-CONFIG_SND_RAWMIDI=m
-CONFIG_SND_COMPRESS_OFFLOAD=m
-CONFIG_SND_JACK=y
-CONFIG_SND_JACK_INPUT_DEV=y
-CONFIG_SND_SEQUENCER=m
-CONFIG_SND_SEQ_DUMMY=m
-CONFIG_SND_OSSEMUL=y
-CONFIG_SND_MIXER_OSS=m
-CONFIG_SND_PCM_OSS=m
-CONFIG_SND_PCM_OSS_PLUGINS=y
-CONFIG_SND_PCM_TIMER=y
-CONFIG_SND_SEQUENCER_OSS=y
-CONFIG_SND_HRTIMER=m
-CONFIG_SND_SEQ_HRTIMER_DEFAULT=y
-CONFIG_SND_DYNAMIC_MINORS=y
-CONFIG_SND_MAX_CARDS=32
-# CONFIG_SND_SUPPORT_OLD_API is not set
-CONFIG_SND_PROC_FS=y
-CONFIG_SND_VERBOSE_PROCFS=y
-# CONFIG_SND_VERBOSE_PRINTK is not set
-# CONFIG_SND_DEBUG is not set
-CONFIG_SND_VMASTER=y
-CONFIG_SND_DMA_SGBUF=y
-CONFIG_SND_RAWMIDI_SEQ=m
-CONFIG_SND_OPL3_LIB_SEQ=m
-# CONFIG_SND_OPL4_LIB_SEQ is not set
-# CONFIG_SND_SBAWE_SEQ is not set
-CONFIG_SND_EMU10K1_SEQ=m
-CONFIG_SND_MPU401_UART=m
-CONFIG_SND_OPL3_LIB=m
-CONFIG_SND_VX_LIB=m
-CONFIG_SND_AC97_CODEC=m
-CONFIG_SND_DRIVERS=y
-# CONFIG_SND_PCSP is not set
-CONFIG_SND_DUMMY=m
-CONFIG_SND_ALOOP=m
-CONFIG_SND_VIRMIDI=m
-CONFIG_SND_MTPAV=m
-CONFIG_SND_MTS64=m
-CONFIG_SND_SERIAL_U16550=m
-CONFIG_SND_MPU401=m
-CONFIG_SND_PORTMAN2X4=m
-CONFIG_SND_AC97_POWER_SAVE=y
-CONFIG_SND_AC97_POWER_SAVE_DEFAULT=0
-CONFIG_SND_SB_COMMON=m
-CONFIG_SND_PCI=y
-CONFIG_SND_AD1889=m
-CONFIG_SND_ALS300=m
-CONFIG_SND_ALS4000=m
-CONFIG_SND_ALI5451=m
-CONFIG_SND_ASIHPI=m
-CONFIG_SND_ATIIXP=m
-CONFIG_SND_ATIIXP_MODEM=m
-CONFIG_SND_AU8810=m
-CONFIG_SND_AU8820=m
-CONFIG_SND_AU8830=m
-CONFIG_SND_AW2=m
-CONFIG_SND_AZT3328=m
-CONFIG_SND_BT87X=m
-# CONFIG_SND_BT87X_OVERCLOCK is not set
-CONFIG_SND_CA0106=m
-CONFIG_SND_CMIPCI=m
-CONFIG_SND_OXYGEN_LIB=m
-CONFIG_SND_OXYGEN=m
-CONFIG_SND_CS4281=m
-CONFIG_SND_CS46XX=m
-CONFIG_SND_CS46XX_NEW_DSP=y
-CONFIG_SND_CTXFI=m
-CONFIG_SND_DARLA20=m
-CONFIG_SND_GINA20=m
-CONFIG_SND_LAYLA20=m
-CONFIG_SND_DARLA24=m
-CONFIG_SND_GINA24=m
-CONFIG_SND_LAYLA24=m
-CONFIG_SND_MONA=m
-CONFIG_SND_MIA=m
-CONFIG_SND_ECHO3G=m
-CONFIG_SND_INDIGO=m
-CONFIG_SND_INDIGOIO=m
-CONFIG_SND_INDIGODJ=m
-CONFIG_SND_INDIGOIOX=m
-CONFIG_SND_INDIGODJX=m
-CONFIG_SND_EMU10K1=m
-CONFIG_SND_EMU10K1X=m
-CONFIG_SND_ENS1370=m
-CONFIG_SND_ENS1371=m
-CONFIG_SND_ES1938=m
-CONFIG_SND_ES1968=m
-CONFIG_SND_ES1968_INPUT=y
-CONFIG_SND_ES1968_RADIO=y
-CONFIG_SND_FM801=m
-CONFIG_SND_FM801_TEA575X_BOOL=y
-CONFIG_SND_HDSP=m
-CONFIG_SND_HDSPM=m
-CONFIG_SND_ICE1712=m
-CONFIG_SND_ICE1724=m
-CONFIG_SND_INTEL8X0=m
-CONFIG_SND_INTEL8X0M=m
-CONFIG_SND_KORG1212=m
-CONFIG_SND_LOLA=m
-CONFIG_SND_LX6464ES=m
-CONFIG_SND_MAESTRO3=m
-CONFIG_SND_MAESTRO3_INPUT=y
-CONFIG_SND_MIXART=m
-CONFIG_SND_NM256=m
-CONFIG_SND_PCXHR=m
-CONFIG_SND_RIPTIDE=m
-CONFIG_SND_RME32=m
-CONFIG_SND_RME96=m
-CONFIG_SND_RME9652=m
-CONFIG_SND_SONICVIBES=m
-CONFIG_SND_TRIDENT=m
-CONFIG_SND_VIA82XX=m
-CONFIG_SND_VIA82XX_MODEM=m
-CONFIG_SND_VIRTUOSO=m
-CONFIG_SND_VX222=m
-CONFIG_SND_YMFPCI=m
-
-#
-# HD-Audio
-#
-CONFIG_SND_HDA=m
-CONFIG_SND_HDA_INTEL=m
-CONFIG_SND_HDA_HWDEP=y
-CONFIG_SND_HDA_RECONFIG=y
-CONFIG_SND_HDA_INPUT_BEEP=y
-CONFIG_SND_HDA_INPUT_BEEP_MODE=1
-CONFIG_SND_HDA_PATCH_LOADER=y
-CONFIG_SND_HDA_CODEC_REALTEK=m
-CONFIG_SND_HDA_CODEC_ANALOG=m
-CONFIG_SND_HDA_CODEC_SIGMATEL=m
-CONFIG_SND_HDA_CODEC_VIA=m
-CONFIG_SND_HDA_CODEC_HDMI=m
-CONFIG_SND_HDA_CODEC_CIRRUS=m
-CONFIG_SND_HDA_CODEC_CONEXANT=m
-CONFIG_SND_HDA_CODEC_CA0110=m
-CONFIG_SND_HDA_CODEC_CA0132=m
-CONFIG_SND_HDA_CODEC_CA0132_DSP=y
-CONFIG_SND_HDA_CODEC_CMEDIA=m
-CONFIG_SND_HDA_CODEC_SI3054=m
-CONFIG_SND_HDA_GENERIC=m
-CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0
-CONFIG_SND_HDA_CORE=m
-CONFIG_SND_HDA_DSP_LOADER=y
-CONFIG_SND_HDA_I915=y
-CONFIG_SND_HDA_EXT_CORE=m
-CONFIG_SND_HDA_PREALLOC_SIZE=4096
-CONFIG_SND_SPI=y
-CONFIG_SND_USB=y
-CONFIG_SND_USB_AUDIO=m
-CONFIG_SND_USB_UA101=m
-CONFIG_SND_USB_USX2Y=m
-CONFIG_SND_USB_CAIAQ=m
-CONFIG_SND_USB_CAIAQ_INPUT=y
-CONFIG_SND_USB_US122L=m
-CONFIG_SND_USB_6FIRE=m
-CONFIG_SND_USB_HIFACE=m
-CONFIG_SND_BCD2000=m
-CONFIG_SND_USB_LINE6=m
-CONFIG_SND_USB_POD=m
-CONFIG_SND_USB_PODHD=m
-CONFIG_SND_USB_TONEPORT=m
-CONFIG_SND_USB_VARIAX=m
-CONFIG_SND_FIREWIRE=y
-CONFIG_SND_FIREWIRE_LIB=m
-CONFIG_SND_DICE=m
-CONFIG_SND_OXFW=m
-CONFIG_SND_ISIGHT=m
-CONFIG_SND_FIREWORKS=m
-CONFIG_SND_BEBOB=m
-CONFIG_SND_FIREWIRE_DIGI00X=m
-CONFIG_SND_FIREWIRE_TASCAM=m
-CONFIG_SND_PCMCIA=y
-CONFIG_SND_VXPOCKET=m
-CONFIG_SND_PDAUDIOCF=m
-CONFIG_SND_SOC=m
-CONFIG_SND_SOC_AC97_BUS=y
-CONFIG_SND_SOC_GENERIC_DMAENGINE_PCM=y
-CONFIG_SND_SOC_COMPRESS=y
-CONFIG_SND_SOC_TOPOLOGY=y
-CONFIG_SND_SOC_AMD_ACP=m
-# CONFIG_SND_ATMEL_SOC is not set
-CONFIG_SND_DESIGNWARE_I2S=m
-CONFIG_SND_DESIGNWARE_PCM=m
-
-#
-# SoC Audio for Freescale CPUs
-#
-
-#
-# Common SoC Audio options for Freescale CPUs:
-#
-# CONFIG_SND_SOC_FSL_ASRC is not set
-# CONFIG_SND_SOC_FSL_SAI is not set
-# CONFIG_SND_SOC_FSL_SSI is not set
-# CONFIG_SND_SOC_FSL_SPDIF is not set
-# CONFIG_SND_SOC_FSL_ESAI is not set
-# CONFIG_SND_SOC_IMX_AUDMUX is not set
-# CONFIG_SND_SOC_IMG is not set
-CONFIG_SND_SST_MFLD_PLATFORM=m
-CONFIG_SND_SST_IPC=m
-CONFIG_SND_SST_IPC_ACPI=m
-CONFIG_SND_SOC_INTEL_SST=m
-CONFIG_SND_SOC_INTEL_SST_FIRMWARE=m
-CONFIG_SND_SOC_INTEL_SST_ACPI=m
-CONFIG_SND_SOC_INTEL_SST_MATCH=m
-CONFIG_SND_SOC_INTEL_HASWELL=m
-CONFIG_SND_SOC_INTEL_HASWELL_MACH=m
-CONFIG_SND_SOC_INTEL_BXT_DA7219_MAX98357A_MACH=m
-CONFIG_SND_SOC_INTEL_BXT_RT298_MACH=m
-CONFIG_SND_SOC_INTEL_BDW_RT5677_MACH=m
-CONFIG_SND_SOC_INTEL_BROADWELL_MACH=m
-CONFIG_SND_SOC_INTEL_BYTCR_RT5640_MACH=m
-CONFIG_SND_SOC_INTEL_BYTCR_RT5651_MACH=m
-CONFIG_SND_SOC_INTEL_CHT_BSW_RT5672_MACH=m
-CONFIG_SND_SOC_INTEL_CHT_BSW_RT5645_MACH=m
-CONFIG_SND_SOC_INTEL_CHT_BSW_MAX98090_TI_MACH=m
-CONFIG_SND_SOC_INTEL_SKYLAKE=m
-CONFIG_SND_SOC_INTEL_SKL_RT286_MACH=m
-CONFIG_SND_SOC_INTEL_SKL_NAU88L25_SSM4567_MACH=m
-CONFIG_SND_SOC_INTEL_SKL_NAU88L25_MAX98357A_MACH=m
-# CONFIG_SND_SOC_XTFPGA_I2S is not set
-CONFIG_SND_SOC_I2C_AND_SPI=m
-
-#
-# CODEC drivers
-#
-CONFIG_SND_SOC_AC97_CODEC=m
-# CONFIG_SND_SOC_ADAU1701 is not set
-# CONFIG_SND_SOC_ADAU7002 is not set
-# CONFIG_SND_SOC_AK4104 is not set
-# CONFIG_SND_SOC_AK4554 is not set
-# CONFIG_SND_SOC_AK4613 is not set
-# CONFIG_SND_SOC_AK4642 is not set
-# CONFIG_SND_SOC_AK5386 is not set
-# CONFIG_SND_SOC_ALC5623 is not set
-# CONFIG_SND_SOC_BT_SCO is not set
-# CONFIG_SND_SOC_CS35L32 is not set
-# CONFIG_SND_SOC_CS35L33 is not set
-# CONFIG_SND_SOC_CS42L51_I2C is not set
-# CONFIG_SND_SOC_CS42L52 is not set
-# CONFIG_SND_SOC_CS42L56 is not set
-# CONFIG_SND_SOC_CS42L73 is not set
-# CONFIG_SND_SOC_CS4265 is not set
-# CONFIG_SND_SOC_CS4270 is not set
-# CONFIG_SND_SOC_CS4271_I2C is not set
-# CONFIG_SND_SOC_CS4271_SPI is not set
-# CONFIG_SND_SOC_CS42XX8_I2C is not set
-# CONFIG_SND_SOC_CS4349 is not set
-# CONFIG_SND_SOC_CS53L30 is not set
-CONFIG_SND_SOC_DA7219=m
-CONFIG_SND_SOC_DMIC=m
-CONFIG_SND_SOC_HDMI_CODEC=m
-# CONFIG_SND_SOC_ES8328 is not set
-# CONFIG_SND_SOC_GTM601 is not set
-CONFIG_SND_SOC_HDAC_HDMI=m
-# CONFIG_SND_SOC_INNO_RK3036 is not set
-CONFIG_SND_SOC_MAX98090=m
-CONFIG_SND_SOC_MAX98357A=m
-# CONFIG_SND_SOC_MAX98504 is not set
-# CONFIG_SND_SOC_MAX9860 is not set
-# CONFIG_SND_SOC_PCM1681 is not set
-# CONFIG_SND_SOC_PCM179X_I2C is not set
-# CONFIG_SND_SOC_PCM179X_SPI is not set
-# CONFIG_SND_SOC_PCM3168A_I2C is not set
-# CONFIG_SND_SOC_PCM3168A_SPI is not set
-# CONFIG_SND_SOC_PCM512x_I2C is not set
-# CONFIG_SND_SOC_PCM512x_SPI is not set
-CONFIG_SND_SOC_RL6231=m
-CONFIG_SND_SOC_RL6347A=m
-CONFIG_SND_SOC_RT286=m
-CONFIG_SND_SOC_RT298=m
-# CONFIG_SND_SOC_RT5616 is not set
-# CONFIG_SND_SOC_RT5631 is not set
-CONFIG_SND_SOC_RT5640=m
-CONFIG_SND_SOC_RT5645=m
-CONFIG_SND_SOC_RT5651=m
-CONFIG_SND_SOC_RT5663=m
-CONFIG_SND_SOC_RT5670=m
-CONFIG_SND_SOC_RT5677=m
-CONFIG_SND_SOC_RT5677_SPI=m
-# CONFIG_SND_SOC_SGTL5000 is not set
-CONFIG_SND_SOC_SI476X=m
-# CONFIG_SND_SOC_SIRF_AUDIO_CODEC is not set
-CONFIG_SND_SOC_SPDIF=m
-# CONFIG_SND_SOC_SSM2602_SPI is not set
-# CONFIG_SND_SOC_SSM2602_I2C is not set
-CONFIG_SND_SOC_SSM4567=m
-# CONFIG_SND_SOC_STA32X is not set
-# CONFIG_SND_SOC_STA350 is not set
-# CONFIG_SND_SOC_STI_SAS is not set
-# CONFIG_SND_SOC_TAS2552 is not set
-# CONFIG_SND_SOC_TAS5086 is not set
-# CONFIG_SND_SOC_TAS571X is not set
-# CONFIG_SND_SOC_TAS5720 is not set
-# CONFIG_SND_SOC_TFA9879 is not set
-# CONFIG_SND_SOC_TLV320AIC23_I2C is not set
-# CONFIG_SND_SOC_TLV320AIC23_SPI is not set
-# CONFIG_SND_SOC_TLV320AIC31XX is not set
-# CONFIG_SND_SOC_TLV320AIC3X is not set
-CONFIG_SND_SOC_TS3A227E=m
-# CONFIG_SND_SOC_WM8510 is not set
-# CONFIG_SND_SOC_WM8523 is not set
-# CONFIG_SND_SOC_WM8580 is not set
-# CONFIG_SND_SOC_WM8711 is not set
-# CONFIG_SND_SOC_WM8728 is not set
-# CONFIG_SND_SOC_WM8731 is not set
-# CONFIG_SND_SOC_WM8737 is not set
-# CONFIG_SND_SOC_WM8741 is not set
-# CONFIG_SND_SOC_WM8750 is not set
-# CONFIG_SND_SOC_WM8753 is not set
-# CONFIG_SND_SOC_WM8770 is not set
-# CONFIG_SND_SOC_WM8776 is not set
-# CONFIG_SND_SOC_WM8804_I2C is not set
-# CONFIG_SND_SOC_WM8804_SPI is not set
-# CONFIG_SND_SOC_WM8903 is not set
-# CONFIG_SND_SOC_WM8960 is not set
-# CONFIG_SND_SOC_WM8962 is not set
-# CONFIG_SND_SOC_WM8974 is not set
-# CONFIG_SND_SOC_WM8978 is not set
-# CONFIG_SND_SOC_WM8985 is not set
-# CONFIG_SND_SOC_NAU8810 is not set
-CONFIG_SND_SOC_NAU8825=m
-# CONFIG_SND_SOC_TPA6130A2 is not set
-CONFIG_SND_SIMPLE_CARD_UTILS=m
-CONFIG_SND_SIMPLE_CARD=m
-# CONFIG_SOUND_PRIME is not set
-CONFIG_AC97_BUS=m
-
-#
-# HID support
-#
-CONFIG_HID=m
-CONFIG_HID_BATTERY_STRENGTH=y
-CONFIG_HIDRAW=y
-CONFIG_UHID=m
-CONFIG_HID_GENERIC=m
-
-#
-# Special HID drivers
-#
-CONFIG_HID_A4TECH=m
-CONFIG_HID_ACRUX=m
-CONFIG_HID_ACRUX_FF=y
-CONFIG_HID_APPLE=m
-CONFIG_HID_APPLEIR=m
-CONFIG_HID_ASUS=m
-CONFIG_HID_AUREAL=m
-CONFIG_HID_BELKIN=m
-CONFIG_HID_BETOP_FF=m
-CONFIG_HID_CHERRY=m
-CONFIG_HID_CHICONY=m
-CONFIG_HID_CORSAIR=m
-CONFIG_HID_PRODIKEYS=m
-CONFIG_HID_CMEDIA=m
-CONFIG_HID_CP2112=m
-CONFIG_HID_CYPRESS=m
-CONFIG_HID_DRAGONRISE=m
-CONFIG_DRAGONRISE_FF=y
-CONFIG_HID_EMS_FF=m
-CONFIG_HID_ELECOM=m
-CONFIG_HID_ELO=m
-CONFIG_HID_EZKEY=m
-CONFIG_HID_GEMBIRD=m
-CONFIG_HID_GFRM=m
-CONFIG_HID_HOLTEK=m
-CONFIG_HOLTEK_FF=y
-CONFIG_HID_GT683R=m
-CONFIG_HID_KEYTOUCH=m
-CONFIG_HID_KYE=m
-CONFIG_HID_UCLOGIC=m
-CONFIG_HID_WALTOP=m
-CONFIG_HID_GYRATION=m
-CONFIG_HID_ICADE=m
-CONFIG_HID_TWINHAN=m
-CONFIG_HID_KENSINGTON=m
-CONFIG_HID_LCPOWER=m
-CONFIG_HID_LED=m
-CONFIG_HID_LENOVO=m
-CONFIG_HID_LOGITECH=m
-CONFIG_HID_LOGITECH_DJ=m
-CONFIG_HID_LOGITECH_HIDPP=m
-CONFIG_LOGITECH_FF=y
-CONFIG_LOGIRUMBLEPAD2_FF=y
-CONFIG_LOGIG940_FF=y
-CONFIG_LOGIWHEELS_FF=y
-CONFIG_HID_MAGICMOUSE=m
-CONFIG_HID_MICROSOFT=m
-CONFIG_HID_MONTEREY=m
-CONFIG_HID_MULTITOUCH=m
-CONFIG_HID_NTRIG=m
-CONFIG_HID_ORTEK=m
-CONFIG_HID_PANTHERLORD=m
-CONFIG_PANTHERLORD_FF=y
-CONFIG_HID_PENMOUNT=m
-CONFIG_HID_PETALYNX=m
-CONFIG_HID_PICOLCD=m
-CONFIG_HID_PICOLCD_FB=y
-CONFIG_HID_PICOLCD_BACKLIGHT=y
-CONFIG_HID_PICOLCD_LCD=y
-CONFIG_HID_PICOLCD_LEDS=y
-CONFIG_HID_PICOLCD_CIR=y
-CONFIG_HID_PLANTRONICS=m
-CONFIG_HID_PRIMAX=m
-CONFIG_HID_ROCCAT=m
-CONFIG_HID_SAITEK=m
-CONFIG_HID_SAMSUNG=m
-CONFIG_HID_SONY=m
-CONFIG_SONY_FF=y
-CONFIG_HID_SPEEDLINK=m
-CONFIG_HID_STEELSERIES=m
-CONFIG_HID_SUNPLUS=m
-CONFIG_HID_RMI=m
-CONFIG_HID_GREENASIA=m
-CONFIG_GREENASIA_FF=y
-CONFIG_HID_HYPERV_MOUSE=m
-CONFIG_HID_SMARTJOYPLUS=m
-CONFIG_SMARTJOYPLUS_FF=y
-CONFIG_HID_TIVO=m
-CONFIG_HID_TOPSEED=m
-CONFIG_HID_THINGM=m
-CONFIG_HID_THRUSTMASTER=m
-CONFIG_THRUSTMASTER_FF=y
-CONFIG_HID_WACOM=m
-CONFIG_HID_WIIMOTE=m
-CONFIG_HID_XINMO=m
-CONFIG_HID_ZEROPLUS=m
-CONFIG_ZEROPLUS_FF=y
-CONFIG_HID_ZYDACRON=m
-CONFIG_HID_SENSOR_HUB=m
-# CONFIG_HID_SENSOR_CUSTOM_SENSOR is not set
-CONFIG_HID_ALPS=m
-
-#
-# USB HID support
-#
-CONFIG_USB_HID=m
-CONFIG_HID_PID=y
-CONFIG_USB_HIDDEV=y
-
-#
-# I2C HID support
-#
-CONFIG_I2C_HID=m
-
-#
-# Intel ISH HID support
-#
-CONFIG_INTEL_ISH_HID=m
-CONFIG_USB_OHCI_LITTLE_ENDIAN=y
-CONFIG_USB_SUPPORT=y
-CONFIG_USB_COMMON=m
-CONFIG_USB_ARCH_HAS_HCD=y
-CONFIG_USB=m
-# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set
-
-#
-# Miscellaneous USB options
-#
-CONFIG_USB_DEFAULT_PERSIST=y
-CONFIG_USB_DYNAMIC_MINORS=y
-# CONFIG_USB_OTG is not set
-# CONFIG_USB_OTG_WHITELIST is not set
-CONFIG_USB_LEDS_TRIGGER_USBPORT=m
-CONFIG_USB_MON=m
-CONFIG_USB_WUSB=m
-CONFIG_USB_WUSB_CBAF=m
-# CONFIG_USB_WUSB_CBAF_DEBUG is not set
-
-#
-# USB Host Controller Drivers
-#
-CONFIG_USB_C67X00_HCD=m
-CONFIG_USB_XHCI_HCD=m
-CONFIG_USB_XHCI_PCI=m
-# CONFIG_USB_XHCI_PLATFORM is not set
-CONFIG_USB_EHCI_HCD=m
-CONFIG_USB_EHCI_ROOT_HUB_TT=y
-CONFIG_USB_EHCI_TT_NEWSCHED=y
-CONFIG_USB_EHCI_PCI=m
-# CONFIG_USB_EHCI_HCD_PLATFORM is not set
-CONFIG_USB_OXU210HP_HCD=m
-CONFIG_USB_ISP116X_HCD=m
-CONFIG_USB_ISP1362_HCD=m
-# CONFIG_USB_FOTG210_HCD is not set
-CONFIG_USB_MAX3421_HCD=m
-CONFIG_USB_OHCI_HCD=m
-CONFIG_USB_OHCI_HCD_PCI=m
-# CONFIG_USB_OHCI_HCD_SSB is not set
-# CONFIG_USB_OHCI_HCD_PLATFORM is not set
-CONFIG_USB_UHCI_HCD=m
-CONFIG_USB_U132_HCD=m
-CONFIG_USB_SL811_HCD=m
-# CONFIG_USB_SL811_HCD_ISO is not set
-CONFIG_USB_SL811_CS=m
-CONFIG_USB_R8A66597_HCD=m
-CONFIG_USB_WHCI_HCD=m
-CONFIG_USB_HWA_HCD=m
-# CONFIG_USB_HCD_BCMA is not set
-# CONFIG_USB_HCD_SSB is not set
-# CONFIG_USB_HCD_TEST_MODE is not set
-
-#
-# USB Device Class drivers
-#
-CONFIG_USB_ACM=m
-CONFIG_USB_PRINTER=m
-CONFIG_USB_WDM=m
-CONFIG_USB_TMC=m
-
-#
-# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
-#
-
-#
-# also be needed; see USB_STORAGE Help for more info
-#
-CONFIG_USB_STORAGE=m
-# CONFIG_USB_STORAGE_DEBUG is not set
-CONFIG_USB_STORAGE_REALTEK=m
-CONFIG_REALTEK_AUTOPM=y
-CONFIG_USB_STORAGE_DATAFAB=m
-CONFIG_USB_STORAGE_FREECOM=m
-CONFIG_USB_STORAGE_ISD200=m
-CONFIG_USB_STORAGE_USBAT=m
-CONFIG_USB_STORAGE_SDDR09=m
-CONFIG_USB_STORAGE_SDDR55=m
-CONFIG_USB_STORAGE_JUMPSHOT=m
-CONFIG_USB_STORAGE_ALAUDA=m
-CONFIG_USB_STORAGE_ONETOUCH=m
-CONFIG_USB_STORAGE_KARMA=m
-CONFIG_USB_STORAGE_CYPRESS_ATACB=m
-CONFIG_USB_STORAGE_ENE_UB6250=m
-CONFIG_USB_UAS=m
-
-#
-# USB Imaging devices
-#
-CONFIG_USB_MDC800=m
-CONFIG_USB_MICROTEK=m
-CONFIG_USBIP_CORE=m
-CONFIG_USBIP_VHCI_HCD=m
-CONFIG_USBIP_VHCI_HC_PORTS=8
-CONFIG_USBIP_VHCI_NR_HCS=1
-CONFIG_USBIP_HOST=m
-# CONFIG_USBIP_DEBUG is not set
-CONFIG_USB_MUSB_HDRC=m
-CONFIG_USB_MUSB_HOST=y
-
-#
-# Platform Glue Layer
-#
-
-#
-# MUSB DMA mode
-#
-CONFIG_MUSB_PIO_ONLY=y
-# CONFIG_USB_DWC3 is not set
-# CONFIG_USB_DWC2 is not set
-# CONFIG_USB_CHIPIDEA is not set
-# CONFIG_USB_ISP1760 is not set
-
-#
-# USB port drivers
-#
-CONFIG_USB_USS720=m
-CONFIG_USB_SERIAL=m
-CONFIG_USB_SERIAL_GENERIC=y
-CONFIG_USB_SERIAL_SIMPLE=m
-CONFIG_USB_SERIAL_AIRCABLE=m
-CONFIG_USB_SERIAL_ARK3116=m
-CONFIG_USB_SERIAL_BELKIN=m
-CONFIG_USB_SERIAL_CH341=m
-CONFIG_USB_SERIAL_WHITEHEAT=m
-CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
-CONFIG_USB_SERIAL_CP210X=m
-CONFIG_USB_SERIAL_CYPRESS_M8=m
-CONFIG_USB_SERIAL_EMPEG=m
-CONFIG_USB_SERIAL_FTDI_SIO=m
-CONFIG_USB_SERIAL_VISOR=m
-CONFIG_USB_SERIAL_IPAQ=m
-CONFIG_USB_SERIAL_IR=m
-CONFIG_USB_SERIAL_EDGEPORT=m
-CONFIG_USB_SERIAL_EDGEPORT_TI=m
-CONFIG_USB_SERIAL_F81232=m
-CONFIG_USB_SERIAL_GARMIN=m
-CONFIG_USB_SERIAL_IPW=m
-CONFIG_USB_SERIAL_IUU=m
-CONFIG_USB_SERIAL_KEYSPAN_PDA=m
-CONFIG_USB_SERIAL_KEYSPAN=m
-CONFIG_USB_SERIAL_KLSI=m
-CONFIG_USB_SERIAL_KOBIL_SCT=m
-CONFIG_USB_SERIAL_MCT_U232=m
-CONFIG_USB_SERIAL_METRO=m
-CONFIG_USB_SERIAL_MOS7720=m
-CONFIG_USB_SERIAL_MOS7715_PARPORT=y
-CONFIG_USB_SERIAL_MOS7840=m
-CONFIG_USB_SERIAL_MXUPORT=m
-CONFIG_USB_SERIAL_NAVMAN=m
-CONFIG_USB_SERIAL_PL2303=m
-CONFIG_USB_SERIAL_OTI6858=m
-CONFIG_USB_SERIAL_QCAUX=m
-CONFIG_USB_SERIAL_QUALCOMM=m
-CONFIG_USB_SERIAL_SPCP8X5=m
-CONFIG_USB_SERIAL_SAFE=m
-# CONFIG_USB_SERIAL_SAFE_PADDED is not set
-CONFIG_USB_SERIAL_SIERRAWIRELESS=m
-CONFIG_USB_SERIAL_SYMBOL=m
-CONFIG_USB_SERIAL_TI=m
-CONFIG_USB_SERIAL_CYBERJACK=m
-CONFIG_USB_SERIAL_XIRCOM=m
-CONFIG_USB_SERIAL_WWAN=m
-CONFIG_USB_SERIAL_OPTION=m
-CONFIG_USB_SERIAL_OMNINET=m
-CONFIG_USB_SERIAL_OPTICON=m
-CONFIG_USB_SERIAL_XSENS_MT=m
-CONFIG_USB_SERIAL_WISHBONE=m
-CONFIG_USB_SERIAL_SSU100=m
-CONFIG_USB_SERIAL_QT2=m
-# CONFIG_USB_SERIAL_DEBUG is not set
-
-#
-# USB Miscellaneous drivers
-#
-CONFIG_USB_EMI62=m
-CONFIG_USB_EMI26=m
-CONFIG_USB_ADUTUX=m
-CONFIG_USB_SEVSEG=m
-CONFIG_USB_RIO500=m
-CONFIG_USB_LEGOTOWER=m
-CONFIG_USB_LCD=m
-CONFIG_USB_CYPRESS_CY7C63=m
-CONFIG_USB_CYTHERM=m
-CONFIG_USB_IDMOUSE=m
-CONFIG_USB_FTDI_ELAN=m
-CONFIG_USB_APPLEDISPLAY=m
-CONFIG_USB_SISUSBVGA=m
-# CONFIG_USB_SISUSBVGA_CON is not set
-CONFIG_USB_LD=m
-CONFIG_USB_TRANCEVIBRATOR=m
-CONFIG_USB_IOWARRIOR=m
-CONFIG_USB_TEST=m
-# CONFIG_USB_EHSET_TEST_FIXTURE is not set
-CONFIG_USB_ISIGHTFW=m
-CONFIG_USB_YUREX=m
-CONFIG_USB_EZUSB_FX2=m
-CONFIG_USB_HSIC_USB3503=m
-CONFIG_USB_HSIC_USB4604=m
-CONFIG_USB_LINK_LAYER_TEST=m
-CONFIG_USB_CHAOSKEY=m
-CONFIG_UCSI=m
-CONFIG_USB_ATM=m
-CONFIG_USB_SPEEDTOUCH=m
-CONFIG_USB_CXACRU=m
-CONFIG_USB_UEAGLEATM=m
-CONFIG_USB_XUSBATM=m
-
-#
-# USB Physical Layer drivers
-#
-CONFIG_USB_PHY=y
-CONFIG_NOP_USB_XCEIV=m
-# CONFIG_USB_GPIO_VBUS is not set
-CONFIG_TAHVO_USB=m
-# CONFIG_TAHVO_USB_HOST_BY_DEFAULT is not set
-CONFIG_USB_ISP1301=m
-# CONFIG_USB_GADGET is not set
-CONFIG_USB_LED_TRIG=y
-# CONFIG_USB_ULPI_BUS is not set
-CONFIG_UWB=m
-CONFIG_UWB_HWA=m
-CONFIG_UWB_WHCI=m
-CONFIG_UWB_I1480U=m
-CONFIG_MMC=m
-# CONFIG_MMC_DEBUG is not set
-
-#
-# MMC/SD/SDIO Card Drivers
-#
-CONFIG_MMC_BLOCK=m
-CONFIG_MMC_BLOCK_MINORS=8
-CONFIG_MMC_BLOCK_BOUNCE=y
-CONFIG_SDIO_UART=m
-# CONFIG_MMC_TEST is not set
-
-#
-# MMC/SD/SDIO Host Controller Drivers
-#
-CONFIG_MMC_SDHCI=m
-CONFIG_MMC_SDHCI_PCI=m
-CONFIG_MMC_RICOH_MMC=y
-CONFIG_MMC_SDHCI_ACPI=m
-CONFIG_MMC_SDHCI_PLTFM=m
-CONFIG_MMC_WBSD=m
-CONFIG_MMC_TIFM_SD=m
-CONFIG_MMC_SPI=m
-CONFIG_MMC_SDRICOH_CS=m
-CONFIG_MMC_CB710=m
-CONFIG_MMC_VIA_SDMMC=m
-CONFIG_MMC_VUB300=m
-CONFIG_MMC_USHC=m
-CONFIG_MMC_USDHI6ROL0=m
-CONFIG_MMC_REALTEK_PCI=m
-CONFIG_MMC_REALTEK_USB=m
-CONFIG_MMC_TOSHIBA_PCI=m
-CONFIG_MMC_MTK=m
-CONFIG_MEMSTICK=m
-# CONFIG_MEMSTICK_DEBUG is not set
-
-#
-# MemoryStick drivers
-#
-# CONFIG_MEMSTICK_UNSAFE_RESUME is not set
-CONFIG_MSPRO_BLOCK=m
-CONFIG_MS_BLOCK=m
-
-#
-# MemoryStick Host Controller Drivers
-#
-CONFIG_MEMSTICK_TIFM_MS=m
-CONFIG_MEMSTICK_JMICRON_38X=m
-CONFIG_MEMSTICK_R592=m
-CONFIG_MEMSTICK_REALTEK_PCI=m
-CONFIG_MEMSTICK_REALTEK_USB=m
-CONFIG_NEW_LEDS=y
-CONFIG_LEDS_CLASS=m
-CONFIG_LEDS_CLASS_FLASH=m
-
-#
-# LED drivers
-#
-CONFIG_LEDS_LM3530=m
-CONFIG_LEDS_LM3533=m
-CONFIG_LEDS_LM3642=m
-CONFIG_LEDS_PCA9532=m
-# CONFIG_LEDS_PCA9532_GPIO is not set
-CONFIG_LEDS_GPIO=m
-CONFIG_LEDS_LP3944=m
-CONFIG_LEDS_LP3952=m
-# CONFIG_LEDS_LP5521 is not set
-# CONFIG_LEDS_LP5523 is not set
-# CONFIG_LEDS_LP5562 is not set
-# CONFIG_LEDS_LP8501 is not set
-CONFIG_LEDS_LP8860=m
-CONFIG_LEDS_CLEVO_MAIL=m
-CONFIG_LEDS_PCA955X=m
-CONFIG_LEDS_PCA963X=m
-CONFIG_LEDS_DAC124S085=m
-CONFIG_LEDS_BD2802=m
-CONFIG_LEDS_INTEL_SS4200=m
-CONFIG_LEDS_LT3593=m
-CONFIG_LEDS_DELL_NETBOOKS=m
-CONFIG_LEDS_MC13783=m
-CONFIG_LEDS_TCA6507=m
-CONFIG_LEDS_TLC591XX=m
-CONFIG_LEDS_LM355x=m
-
-#
-# LED driver for blink(1) USB RGB LED is under Special HID drivers (HID_THINGM)
-#
-CONFIG_LEDS_BLINKM=m
-CONFIG_LEDS_MLXCPLD=m
-
-#
-# LED Triggers
-#
-CONFIG_LEDS_TRIGGERS=y
-CONFIG_LEDS_TRIGGER_TIMER=m
-CONFIG_LEDS_TRIGGER_ONESHOT=m
-CONFIG_LEDS_TRIGGER_DISK=y
-CONFIG_LEDS_TRIGGER_MTD=y
-CONFIG_LEDS_TRIGGER_HEARTBEAT=m
-CONFIG_LEDS_TRIGGER_BACKLIGHT=m
-CONFIG_LEDS_TRIGGER_CPU=y
-CONFIG_LEDS_TRIGGER_GPIO=m
-CONFIG_LEDS_TRIGGER_DEFAULT_ON=m
-
-#
-# iptables trigger is under Netfilter config (LED target)
-#
-CONFIG_LEDS_TRIGGER_TRANSIENT=m
-CONFIG_LEDS_TRIGGER_CAMERA=m
-CONFIG_LEDS_TRIGGER_PANIC=y
-CONFIG_ACCESSIBILITY=y
-CONFIG_A11Y_BRAILLE_CONSOLE=y
-CONFIG_INFINIBAND=m
-CONFIG_INFINIBAND_USER_MAD=m
-CONFIG_INFINIBAND_USER_ACCESS=m
-CONFIG_INFINIBAND_USER_MEM=y
-CONFIG_INFINIBAND_ON_DEMAND_PAGING=y
-CONFIG_INFINIBAND_ADDR_TRANS=y
-CONFIG_INFINIBAND_ADDR_TRANS_CONFIGFS=y
-CONFIG_INFINIBAND_MTHCA=m
-CONFIG_INFINIBAND_MTHCA_DEBUG=y
-CONFIG_INFINIBAND_QIB=m
-# CONFIG_INFINIBAND_QIB_DCA is not set
-CONFIG_INFINIBAND_CXGB3=m
-# CONFIG_INFINIBAND_CXGB3_DEBUG is not set
-CONFIG_INFINIBAND_CXGB4=m
-CONFIG_INFINIBAND_I40IW=m
-CONFIG_MLX4_INFINIBAND=m
-CONFIG_MLX5_INFINIBAND=m
-CONFIG_INFINIBAND_NES=m
-# CONFIG_INFINIBAND_NES_DEBUG is not set
-CONFIG_INFINIBAND_OCRDMA=m
-CONFIG_INFINIBAND_USNIC=m
-CONFIG_INFINIBAND_IPOIB=m
-CONFIG_INFINIBAND_IPOIB_CM=y
-CONFIG_INFINIBAND_IPOIB_DEBUG=y
-# CONFIG_INFINIBAND_IPOIB_DEBUG_DATA is not set
-CONFIG_INFINIBAND_SRP=m
-CONFIG_INFINIBAND_SRPT=m
-CONFIG_INFINIBAND_ISER=m
-CONFIG_INFINIBAND_ISERT=m
-CONFIG_INFINIBAND_RDMAVT=m
-CONFIG_RDMA_RXE=m
-CONFIG_INFINIBAND_HFI1=m
-# CONFIG_HFI1_DEBUG_SDMA_ORDER is not set
-CONFIG_HFI1_VERBS_31BIT_PSN=y
-# CONFIG_SDMA_VERBOSITY is not set
-# CONFIG_INFINIBAND_QEDR is not set
-CONFIG_EDAC_ATOMIC_SCRUB=y
-CONFIG_EDAC_SUPPORT=y
-CONFIG_EDAC=y
-CONFIG_EDAC_LEGACY_SYSFS=y
-# CONFIG_EDAC_DEBUG is not set
-CONFIG_EDAC_DECODE_MCE=m
-CONFIG_EDAC_MM_EDAC=m
-CONFIG_EDAC_AMD64=m
-# CONFIG_EDAC_AMD64_ERROR_INJECTION is not set
-CONFIG_EDAC_E752X=m
-CONFIG_EDAC_I82975X=m
-CONFIG_EDAC_I3000=m
-CONFIG_EDAC_I3200=m
-CONFIG_EDAC_IE31200=m
-CONFIG_EDAC_X38=m
-CONFIG_EDAC_I5400=m
-CONFIG_EDAC_I7CORE=m
-CONFIG_EDAC_I5000=m
-CONFIG_EDAC_I5100=m
-CONFIG_EDAC_I7300=m
-CONFIG_EDAC_SBRIDGE=m
-CONFIG_EDAC_SKX=m
-CONFIG_RTC_LIB=y
-CONFIG_RTC_MC146818_LIB=y
-CONFIG_RTC_CLASS=y
-CONFIG_RTC_HCTOSYS=y
-CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
-CONFIG_RTC_SYSTOHC=y
-CONFIG_RTC_SYSTOHC_DEVICE="rtc0"
-# CONFIG_RTC_DEBUG is not set
-
-#
-# RTC interfaces
-#
-CONFIG_RTC_INTF_SYSFS=y
-CONFIG_RTC_INTF_PROC=y
-CONFIG_RTC_INTF_DEV=y
-CONFIG_RTC_INTF_DEV_UIE_EMUL=y
-CONFIG_RTC_DRV_TEST=m
-
-#
-# I2C RTC drivers
-#
-# CONFIG_RTC_DRV_ABB5ZES3 is not set
-CONFIG_RTC_DRV_ABX80X=m
-CONFIG_RTC_DRV_DS1307=m
-CONFIG_RTC_DRV_DS1307_HWMON=y
-# CONFIG_RTC_DRV_DS1307_CENTURY is not set
-CONFIG_RTC_DRV_DS1374=m
-CONFIG_RTC_DRV_DS1374_WDT=y
-CONFIG_RTC_DRV_DS1672=m
-CONFIG_RTC_DRV_MAX6900=m
-CONFIG_RTC_DRV_RS5C372=m
-CONFIG_RTC_DRV_ISL1208=m
-CONFIG_RTC_DRV_ISL12022=m
-CONFIG_RTC_DRV_X1205=m
-CONFIG_RTC_DRV_PCF8523=m
-CONFIG_RTC_DRV_PCF85063=m
-CONFIG_RTC_DRV_PCF8563=m
-CONFIG_RTC_DRV_PCF8583=m
-CONFIG_RTC_DRV_M41T80=m
-CONFIG_RTC_DRV_M41T80_WDT=y
-CONFIG_RTC_DRV_BQ32K=m
-CONFIG_RTC_DRV_S35390A=m
-CONFIG_RTC_DRV_FM3130=m
-CONFIG_RTC_DRV_RX8010=m
-CONFIG_RTC_DRV_RX8581=m
-CONFIG_RTC_DRV_RX8025=m
-CONFIG_RTC_DRV_EM3027=m
-# CONFIG_RTC_DRV_RV8803 is not set
-
-#
-# SPI RTC drivers
-#
-# CONFIG_RTC_DRV_M41T93 is not set
-# CONFIG_RTC_DRV_M41T94 is not set
-# CONFIG_RTC_DRV_DS1302 is not set
-# CONFIG_RTC_DRV_DS1305 is not set
-# CONFIG_RTC_DRV_DS1343 is not set
-# CONFIG_RTC_DRV_DS1347 is not set
-# CONFIG_RTC_DRV_DS1390 is not set
-CONFIG_RTC_DRV_MAX6916=m
-# CONFIG_RTC_DRV_R9701 is not set
-# CONFIG_RTC_DRV_RX4581 is not set
-# CONFIG_RTC_DRV_RX6110 is not set
-# CONFIG_RTC_DRV_RS5C348 is not set
-# CONFIG_RTC_DRV_MAX6902 is not set
-# CONFIG_RTC_DRV_PCF2123 is not set
-# CONFIG_RTC_DRV_MCP795 is not set
-CONFIG_RTC_I2C_AND_SPI=y
-
-#
-# SPI and I2C RTC drivers
-#
-CONFIG_RTC_DRV_DS3232=m
-CONFIG_RTC_DRV_PCF2127=m
-CONFIG_RTC_DRV_RV3029C2=m
-CONFIG_RTC_DRV_RV3029_HWMON=y
-
-#
-# Platform RTC drivers
-#
-CONFIG_RTC_DRV_CMOS=y
-CONFIG_RTC_DRV_DS1286=m
-CONFIG_RTC_DRV_DS1511=m
-CONFIG_RTC_DRV_DS1553=m
-CONFIG_RTC_DRV_DS1685_FAMILY=m
-CONFIG_RTC_DRV_DS1685=y
-# CONFIG_RTC_DRV_DS1689 is not set
-# CONFIG_RTC_DRV_DS17285 is not set
-# CONFIG_RTC_DRV_DS17485 is not set
-# CONFIG_RTC_DRV_DS17885 is not set
-# CONFIG_RTC_DS1685_PROC_REGS is not set
-CONFIG_RTC_DS1685_SYSFS_REGS=y
-CONFIG_RTC_DRV_DS1742=m
-CONFIG_RTC_DRV_DS2404=m
-CONFIG_RTC_DRV_STK17TA8=m
-CONFIG_RTC_DRV_M48T86=m
-CONFIG_RTC_DRV_M48T35=m
-CONFIG_RTC_DRV_M48T59=m
-CONFIG_RTC_DRV_MSM6242=m
-CONFIG_RTC_DRV_BQ4802=m
-CONFIG_RTC_DRV_RP5C01=m
-CONFIG_RTC_DRV_V3020=m
-CONFIG_RTC_DRV_PCF50633=m
-
-#
-# on-CPU RTC drivers
-#
-CONFIG_RTC_DRV_MC13XXX=m
-
-#
-# HID Sensor RTC drivers
-#
-# CONFIG_RTC_DRV_HID_SENSOR_TIME is not set
-CONFIG_DMADEVICES=y
-# CONFIG_DMADEVICES_DEBUG is not set
-
-#
-# DMA Devices
-#
-CONFIG_DMA_ENGINE=y
-CONFIG_DMA_VIRTUAL_CHANNELS=y
-CONFIG_DMA_ACPI=y
-CONFIG_INTEL_IDMA64=m
-CONFIG_INTEL_IOATDMA=m
-CONFIG_INTEL_MIC_X100_DMA=m
-# CONFIG_QCOM_HIDMA_MGMT is not set
-# CONFIG_QCOM_HIDMA is not set
-CONFIG_DW_DMAC_CORE=y
-CONFIG_DW_DMAC=y
-CONFIG_DW_DMAC_PCI=y
-CONFIG_HSU_DMA=y
-
-#
-# DMA Clients
-#
-CONFIG_ASYNC_TX_DMA=y
-# CONFIG_DMATEST is not set
-CONFIG_DMA_ENGINE_RAID=y
-
-#
-# DMABUF options
-#
-CONFIG_SYNC_FILE=y
-# CONFIG_SW_SYNC is not set
-CONFIG_DCA=m
-CONFIG_AUXDISPLAY=y
-CONFIG_KS0108=m
-CONFIG_KS0108_PORT=0x378
-CONFIG_KS0108_DELAY=2
-CONFIG_CFAG12864B=m
-CONFIG_CFAG12864B_RATE=20
-# CONFIG_IMG_ASCII_LCD is not set
-CONFIG_UIO=m
-CONFIG_UIO_CIF=m
-CONFIG_UIO_PDRV_GENIRQ=m
-# CONFIG_UIO_DMEM_GENIRQ is not set
-CONFIG_UIO_AEC=m
-CONFIG_UIO_SERCOS3=m
-CONFIG_UIO_PCI_GENERIC=m
-CONFIG_UIO_NETX=m
-CONFIG_UIO_PRUSS=m
-# CONFIG_UIO_MF624 is not set
-CONFIG_VFIO_IOMMU_TYPE1=m
-CONFIG_VFIO_VIRQFD=m
-CONFIG_VFIO=m
-# CONFIG_VFIO_NOIOMMU is not set
-CONFIG_VFIO_PCI=m
-CONFIG_VFIO_PCI_VGA=y
-CONFIG_VFIO_PCI_MMAP=y
-CONFIG_VFIO_PCI_INTX=y
-CONFIG_VFIO_PCI_IGD=y
-CONFIG_IRQ_BYPASS_MANAGER=m
-CONFIG_VIRT_DRIVERS=y
-CONFIG_VIRTIO=m
-
-#
-# Virtio drivers
-#
-CONFIG_VIRTIO_PCI=m
-CONFIG_VIRTIO_PCI_LEGACY=y
-CONFIG_VIRTIO_BALLOON=m
-CONFIG_VIRTIO_INPUT=m
-CONFIG_VIRTIO_MMIO=m
-CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES=y
-
-#
-# Microsoft Hyper-V guest support
-#
-CONFIG_HYPERV=m
-CONFIG_HYPERV_UTILS=m
-CONFIG_HYPERV_BALLOON=m
-
-#
-# Xen driver support
-#
-CONFIG_XEN_BALLOON=y
-# CONFIG_XEN_SELFBALLOONING is not set
-CONFIG_XEN_BALLOON_MEMORY_HOTPLUG=y
-CONFIG_XEN_BALLOON_MEMORY_HOTPLUG_LIMIT=512
-CONFIG_XEN_SCRUB_PAGES=y
-CONFIG_XEN_DEV_EVTCHN=m
-CONFIG_XEN_BACKEND=y
-CONFIG_XENFS=m
-CONFIG_XEN_COMPAT_XENFS=y
-CONFIG_XEN_SYS_HYPERVISOR=y
-CONFIG_XEN_XENBUS_FRONTEND=y
-CONFIG_XEN_GNTDEV=m
-CONFIG_XEN_GRANT_DEV_ALLOC=m
-CONFIG_SWIOTLB_XEN=y
-CONFIG_XEN_TMEM=m
-CONFIG_XEN_PCIDEV_BACKEND=m
-CONFIG_XEN_SCSI_BACKEND=m
-CONFIG_XEN_PRIVCMD=m
-CONFIG_XEN_ACPI_PROCESSOR=m
-# CONFIG_XEN_MCE_LOG is not set
-CONFIG_XEN_HAVE_PVMMU=y
-CONFIG_XEN_EFI=y
-CONFIG_XEN_AUTO_XLATE=y
-CONFIG_XEN_ACPI=y
-CONFIG_XEN_SYMS=y
-CONFIG_XEN_HAVE_VPMU=y
-CONFIG_STAGING=y
-CONFIG_SLICOSS=m
-CONFIG_PRISM2_USB=m
-CONFIG_COMEDI=m
-# CONFIG_COMEDI_DEBUG is not set
-CONFIG_COMEDI_DEFAULT_BUF_SIZE_KB=2048
-CONFIG_COMEDI_DEFAULT_BUF_MAXSIZE_KB=20480
-CONFIG_COMEDI_MISC_DRIVERS=y
-CONFIG_COMEDI_BOND=m
-CONFIG_COMEDI_TEST=m
-CONFIG_COMEDI_PARPORT=m
-CONFIG_COMEDI_SERIAL2002=m
-# CONFIG_COMEDI_ISA_DRIVERS is not set
-CONFIG_COMEDI_PCI_DRIVERS=m
-CONFIG_COMEDI_8255_PCI=m
-CONFIG_COMEDI_ADDI_WATCHDOG=m
-CONFIG_COMEDI_ADDI_APCI_1032=m
-CONFIG_COMEDI_ADDI_APCI_1500=m
-CONFIG_COMEDI_ADDI_APCI_1516=m
-CONFIG_COMEDI_ADDI_APCI_1564=m
-CONFIG_COMEDI_ADDI_APCI_16XX=m
-CONFIG_COMEDI_ADDI_APCI_2032=m
-CONFIG_COMEDI_ADDI_APCI_2200=m
-CONFIG_COMEDI_ADDI_APCI_3120=m
-CONFIG_COMEDI_ADDI_APCI_3501=m
-CONFIG_COMEDI_ADDI_APCI_3XXX=m
-CONFIG_COMEDI_ADL_PCI6208=m
-CONFIG_COMEDI_ADL_PCI7X3X=m
-CONFIG_COMEDI_ADL_PCI8164=m
-CONFIG_COMEDI_ADL_PCI9111=m
-CONFIG_COMEDI_ADL_PCI9118=m
-CONFIG_COMEDI_ADV_PCI1710=m
-CONFIG_COMEDI_ADV_PCI1720=m
-CONFIG_COMEDI_ADV_PCI1723=m
-CONFIG_COMEDI_ADV_PCI1724=m
-CONFIG_COMEDI_ADV_PCI1760=m
-CONFIG_COMEDI_ADV_PCI_DIO=m
-CONFIG_COMEDI_AMPLC_DIO200_PCI=m
-CONFIG_COMEDI_AMPLC_PC236_PCI=m
-CONFIG_COMEDI_AMPLC_PC263_PCI=m
-CONFIG_COMEDI_AMPLC_PCI224=m
-CONFIG_COMEDI_AMPLC_PCI230=m
-CONFIG_COMEDI_CONTEC_PCI_DIO=m
-CONFIG_COMEDI_DAS08_PCI=m
-CONFIG_COMEDI_DT3000=m
-CONFIG_COMEDI_DYNA_PCI10XX=m
-CONFIG_COMEDI_GSC_HPDI=m
-CONFIG_COMEDI_MF6X4=m
-CONFIG_COMEDI_ICP_MULTI=m
-CONFIG_COMEDI_DAQBOARD2000=m
-CONFIG_COMEDI_JR3_PCI=m
-CONFIG_COMEDI_KE_COUNTER=m
-CONFIG_COMEDI_CB_PCIDAS64=m
-CONFIG_COMEDI_CB_PCIDAS=m
-CONFIG_COMEDI_CB_PCIDDA=m
-CONFIG_COMEDI_CB_PCIMDAS=m
-CONFIG_COMEDI_CB_PCIMDDA=m
-CONFIG_COMEDI_ME4000=m
-CONFIG_COMEDI_ME_DAQ=m
-CONFIG_COMEDI_NI_6527=m
-CONFIG_COMEDI_NI_65XX=m
-CONFIG_COMEDI_NI_660X=m
-CONFIG_COMEDI_NI_670X=m
-CONFIG_COMEDI_NI_LABPC_PCI=m
-CONFIG_COMEDI_NI_PCIDIO=m
-CONFIG_COMEDI_NI_PCIMIO=m
-CONFIG_COMEDI_RTD520=m
-CONFIG_COMEDI_S626=m
-CONFIG_COMEDI_MITE=m
-CONFIG_COMEDI_NI_TIOCMD=m
-CONFIG_COMEDI_PCMCIA_DRIVERS=m
-CONFIG_COMEDI_CB_DAS16_CS=m
-CONFIG_COMEDI_DAS08_CS=m
-CONFIG_COMEDI_NI_DAQ_700_CS=m
-CONFIG_COMEDI_NI_DAQ_DIO24_CS=m
-CONFIG_COMEDI_NI_LABPC_CS=m
-CONFIG_COMEDI_NI_MIO_CS=m
-CONFIG_COMEDI_QUATECH_DAQP_CS=m
-CONFIG_COMEDI_USB_DRIVERS=m
-CONFIG_COMEDI_DT9812=m
-CONFIG_COMEDI_NI_USB6501=m
-CONFIG_COMEDI_USBDUX=m
-CONFIG_COMEDI_USBDUXFAST=m
-CONFIG_COMEDI_USBDUXSIGMA=m
-CONFIG_COMEDI_VMK80XX=m
-CONFIG_COMEDI_8254=m
-CONFIG_COMEDI_8255=m
-CONFIG_COMEDI_8255_SA=m
-CONFIG_COMEDI_KCOMEDILIB=m
-CONFIG_COMEDI_AMPLC_DIO200=m
-CONFIG_COMEDI_AMPLC_PC236=m
-CONFIG_COMEDI_DAS08=m
-CONFIG_COMEDI_NI_LABPC=m
-CONFIG_COMEDI_NI_TIO=m
-CONFIG_RTL8192U=m
-CONFIG_RTLLIB=m
-CONFIG_RTLLIB_CRYPTO_CCMP=m
-CONFIG_RTLLIB_CRYPTO_TKIP=m
-CONFIG_RTLLIB_CRYPTO_WEP=m
-CONFIG_RTL8192E=m
-CONFIG_R8712U=m
-CONFIG_R8188EU=m
-CONFIG_88EU_AP_MODE=y
-CONFIG_RTS5208=m
-CONFIG_VT6655=m
-CONFIG_VT6656=m
-
-#
-# IIO staging drivers
-#
-
-#
-# Accelerometers
-#
-# CONFIG_ADIS16201 is not set
-# CONFIG_ADIS16203 is not set
-# CONFIG_ADIS16209 is not set
-# CONFIG_ADIS16240 is not set
-# CONFIG_SCA3000 is not set
-
-#
-# Analog to digital converters
-#
-# CONFIG_AD7606 is not set
-# CONFIG_AD7780 is not set
-# CONFIG_AD7816 is not set
-# CONFIG_AD7192 is not set
-# CONFIG_AD7280 is not set
-
-#
-# Analog digital bi-direction converters
-#
-# CONFIG_ADT7316 is not set
-
-#
-# Capacitance to digital converters
-#
-# CONFIG_AD7150 is not set
-# CONFIG_AD7152 is not set
-# CONFIG_AD7746 is not set
-
-#
-# Direct Digital Synthesis
-#
-# CONFIG_AD9832 is not set
-# CONFIG_AD9834 is not set
-
-#
-# Digital gyroscope sensors
-#
-# CONFIG_ADIS16060 is not set
-
-#
-# Network Analyzer, Impedance Converters
-#
-# CONFIG_AD5933 is not set
-
-#
-# Light sensors
-#
-# CONFIG_SENSORS_ISL29018 is not set
-# CONFIG_SENSORS_ISL29028 is not set
-# CONFIG_TSL2583 is not set
-# CONFIG_TSL2x7x is not set
-
-#
-# Active energy metering IC
-#
-# CONFIG_ADE7753 is not set
-# CONFIG_ADE7754 is not set
-# CONFIG_ADE7758 is not set
-# CONFIG_ADE7759 is not set
-# CONFIG_ADE7854 is not set
-
-#
-# Resolver to digital converters
-#
-# CONFIG_AD2S90 is not set
-# CONFIG_AD2S1200 is not set
-# CONFIG_AD2S1210 is not set
-
-#
-# Triggers - standalone
-#
-# CONFIG_FB_SM750 is not set
-CONFIG_FB_XGI=m
-
-#
-# Speakup console speech
-#
-CONFIG_SPEAKUP=m
-CONFIG_SPEAKUP_SYNTH_ACNTSA=m
-CONFIG_SPEAKUP_SYNTH_APOLLO=m
-CONFIG_SPEAKUP_SYNTH_AUDPTR=m
-CONFIG_SPEAKUP_SYNTH_BNS=m
-CONFIG_SPEAKUP_SYNTH_DECTLK=m
-CONFIG_SPEAKUP_SYNTH_DECEXT=m
-CONFIG_SPEAKUP_SYNTH_LTLK=m
-CONFIG_SPEAKUP_SYNTH_SOFT=m
-CONFIG_SPEAKUP_SYNTH_SPKOUT=m
-CONFIG_SPEAKUP_SYNTH_TXPRT=m
-CONFIG_SPEAKUP_SYNTH_DUMMY=m
-CONFIG_STAGING_MEDIA=y
-CONFIG_I2C_BCM2048=m
-# CONFIG_MEDIA_CEC is not set
-CONFIG_DVB_CXD2099=m
-CONFIG_LIRC_STAGING=y
-CONFIG_LIRC_BT829=m
-CONFIG_LIRC_IMON=m
-CONFIG_LIRC_PARALLEL=m
-CONFIG_LIRC_SASEM=m
-CONFIG_LIRC_SERIAL=m
-CONFIG_LIRC_SERIAL_TRANSMITTER=y
-CONFIG_LIRC_SIR=m
-CONFIG_LIRC_ZILOG=m
-
-#
-# Android
-#
-CONFIG_LTE_GDM724X=m
-CONFIG_FIREWIRE_SERIAL=m
-CONFIG_FWTTY_MAX_TOTAL_PORTS=64
-CONFIG_FWTTY_MAX_CARD_PORTS=32
-CONFIG_LNET=m
-CONFIG_LNET_MAX_PAYLOAD=1048576
-CONFIG_LNET_SELFTEST=m
-CONFIG_LUSTRE_FS=m
-CONFIG_LUSTRE_OBD_MAX_IOCTL_BUFFER=8192
-# CONFIG_LUSTRE_DEBUG_EXPENSIVE_CHECK is not set
-CONFIG_DGNC=m
-CONFIG_GS_FPGABOOT=m
-# CONFIG_CRYPTO_SKEIN is not set
-# CONFIG_UNISYSSPAR is not set
-# CONFIG_FB_TFT is not set
-# CONFIG_WILC1000_SDIO is not set
-# CONFIG_WILC1000_SPI is not set
-# CONFIG_MOST is not set
-
-#
-# Old ISDN4Linux (deprecated)
-#
-# CONFIG_KS7010 is not set
-# CONFIG_GREYBUS is not set
-CONFIG_X86_PLATFORM_DEVICES=y
-CONFIG_ACER_WMI=m
-CONFIG_ACERHDF=m
-CONFIG_ALIENWARE_WMI=m
-CONFIG_ASUS_LAPTOP=m
-CONFIG_DELL_SMBIOS=m
-CONFIG_DELL_LAPTOP=m
-CONFIG_DELL_WMI=m
-CONFIG_DELL_WMI_AIO=m
-CONFIG_DELL_SMO8800=m
-CONFIG_DELL_RBTN=m
-CONFIG_FUJITSU_LAPTOP=m
-# CONFIG_FUJITSU_LAPTOP_DEBUG is not set
-CONFIG_FUJITSU_TABLET=m
-CONFIG_AMILO_RFKILL=m
-CONFIG_HP_ACCEL=m
-CONFIG_HP_WIRELESS=m
-CONFIG_HP_WMI=m
-CONFIG_MSI_LAPTOP=m
-CONFIG_PANASONIC_LAPTOP=m
-CONFIG_COMPAL_LAPTOP=m
-CONFIG_SONY_LAPTOP=m
-# CONFIG_SONYPI_COMPAT is not set
-CONFIG_IDEAPAD_LAPTOP=m
-CONFIG_THINKPAD_ACPI=m
-CONFIG_THINKPAD_ACPI_ALSA_SUPPORT=y
-# CONFIG_THINKPAD_ACPI_DEBUGFACILITIES is not set
-# CONFIG_THINKPAD_ACPI_DEBUG is not set
-# CONFIG_THINKPAD_ACPI_UNSAFE_LEDS is not set
-CONFIG_THINKPAD_ACPI_VIDEO=y
-CONFIG_THINKPAD_ACPI_HOTKEY_POLL=y
-CONFIG_SENSORS_HDAPS=m
-CONFIG_INTEL_MENLOW=m
-CONFIG_EEEPC_LAPTOP=m
-CONFIG_ASUS_WMI=m
-CONFIG_ASUS_NB_WMI=m
-CONFIG_EEEPC_WMI=m
-CONFIG_ASUS_WIRELESS=m
-CONFIG_ACPI_WMI=m
-CONFIG_MSI_WMI=m
-CONFIG_TOPSTAR_LAPTOP=m
-CONFIG_ACPI_TOSHIBA=m
-CONFIG_TOSHIBA_BT_RFKILL=m
-CONFIG_TOSHIBA_HAPS=m
-CONFIG_TOSHIBA_WMI=m
-CONFIG_ACPI_CMPC=m
-CONFIG_INTEL_HID_EVENT=m
-CONFIG_INTEL_VBTN=m
-CONFIG_INTEL_IPS=m
-CONFIG_INTEL_PMC_CORE=y
-CONFIG_IBM_RTL=m
-CONFIG_SAMSUNG_LAPTOP=m
-CONFIG_MXM_WMI=m
-CONFIG_INTEL_OAKTRAIL=m
-CONFIG_SAMSUNG_Q10=m
-CONFIG_APPLE_GMUX=m
-CONFIG_INTEL_RST=m
-CONFIG_INTEL_SMARTCONNECT=m
-CONFIG_PVPANIC=m
-CONFIG_INTEL_PMC_IPC=m
-CONFIG_SURFACE_PRO3_BUTTON=m
-CONFIG_INTEL_PUNIT_IPC=m
-CONFIG_INTEL_TELEMETRY=m
-CONFIG_CHROME_PLATFORMS=y
-CONFIG_CHROMEOS_LAPTOP=m
-CONFIG_CHROMEOS_PSTORE=m
-CONFIG_CROS_EC_CHARDEV=m
-CONFIG_CROS_EC_LPC=m
-CONFIG_CROS_EC_PROTO=y
-CONFIG_CROS_KBD_LED_BACKLIGHT=m
-CONFIG_CLKDEV_LOOKUP=y
-CONFIG_HAVE_CLK_PREPARE=y
-CONFIG_COMMON_CLK=y
-
-#
-# Common Clock Framework
-#
-# CONFIG_COMMON_CLK_SI5351 is not set
-# CONFIG_COMMON_CLK_CDCE706 is not set
-# CONFIG_COMMON_CLK_CS2000_CP is not set
-# CONFIG_COMMON_CLK_NXP is not set
-# CONFIG_COMMON_CLK_PXA is not set
-# CONFIG_COMMON_CLK_PIC32 is not set
-
-#
-# Hardware Spinlock drivers
-#
-
-#
-# Clock Source drivers
-#
-CONFIG_CLKEVT_I8253=y
-CONFIG_I8253_LOCK=y
-CONFIG_CLKBLD_I8253=y
-# CONFIG_ATMEL_PIT is not set
-# CONFIG_SH_TIMER_CMT is not set
-# CONFIG_SH_TIMER_MTU2 is not set
-# CONFIG_SH_TIMER_TMU is not set
-# CONFIG_EM_TIMER_STI is not set
-# CONFIG_MAILBOX is not set
-CONFIG_IOMMU_API=y
-CONFIG_IOMMU_SUPPORT=y
-
-#
-# Generic IOMMU Pagetable Support
-#
-CONFIG_IOMMU_IOVA=y
-CONFIG_AMD_IOMMU=y
-CONFIG_AMD_IOMMU_V2=m
-CONFIG_DMAR_TABLE=y
-CONFIG_INTEL_IOMMU=y
-CONFIG_INTEL_IOMMU_SVM=y
-# CONFIG_INTEL_IOMMU_DEFAULT_ON is not set
-CONFIG_INTEL_IOMMU_FLOPPY_WA=y
-CONFIG_IRQ_REMAP=y
-
-#
-# Remoteproc drivers
-#
-CONFIG_REMOTEPROC=m
-CONFIG_STE_MODEM_RPROC=m
-
-#
-# Rpmsg drivers
-#
-
-#
-# SOC (System On Chip) specific Drivers
-#
-
-#
-# Broadcom SoC drivers
-#
-# CONFIG_SUNXI_SRAM is not set
-# CONFIG_SOC_TI is not set
-CONFIG_PM_DEVFREQ=y
-
-#
-# DEVFREQ Governors
-#
-CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=m
-CONFIG_DEVFREQ_GOV_PERFORMANCE=m
-CONFIG_DEVFREQ_GOV_POWERSAVE=m
-CONFIG_DEVFREQ_GOV_USERSPACE=m
-CONFIG_DEVFREQ_GOV_PASSIVE=m
-
-#
-# DEVFREQ Drivers
-#
-# CONFIG_PM_DEVFREQ_EVENT is not set
-CONFIG_EXTCON=m
-
-#
-# Extcon Device Drivers
-#
-# CONFIG_EXTCON_ADC_JACK is not set
-# CONFIG_EXTCON_ARIZONA is not set
-CONFIG_EXTCON_GPIO=m
-# CONFIG_EXTCON_MAX3355 is not set
-# CONFIG_EXTCON_QCOM_SPMI_MISC is not set
-# CONFIG_EXTCON_RT8973A is not set
-CONFIG_EXTCON_SM5502=m
-# CONFIG_EXTCON_USB_GPIO is not set
-CONFIG_MEMORY=y
-CONFIG_IIO=m
-CONFIG_IIO_BUFFER=y
-CONFIG_IIO_BUFFER_CB=m
-CONFIG_IIO_KFIFO_BUF=m
-CONFIG_IIO_TRIGGERED_BUFFER=m
-CONFIG_IIO_CONFIGFS=m
-CONFIG_IIO_TRIGGER=y
-CONFIG_IIO_CONSUMERS_PER_TRIGGER=2
-CONFIG_IIO_SW_DEVICE=m
-CONFIG_IIO_SW_TRIGGER=m
-
-#
-# Accelerometers
-#
-# CONFIG_BMA180 is not set
-# CONFIG_BMA220 is not set
-# CONFIG_BMC150_ACCEL is not set
-# CONFIG_DMARD09 is not set
-CONFIG_HID_SENSOR_ACCEL_3D=m
-CONFIG_IIO_ST_ACCEL_3AXIS=m
-CONFIG_IIO_ST_ACCEL_I2C_3AXIS=m
-CONFIG_IIO_ST_ACCEL_SPI_3AXIS=m
-# CONFIG_KXSD9 is not set
-CONFIG_KXCJK1013=m
-# CONFIG_MC3230 is not set
-# CONFIG_MMA7455_I2C is not set
-# CONFIG_MMA7455_SPI is not set
-CONFIG_MMA7660=m
-# CONFIG_MMA8452 is not set
-# CONFIG_MMA9551 is not set
-# CONFIG_MMA9553 is not set
-# CONFIG_MXC4005 is not set
-# CONFIG_MXC6255 is not set
-# CONFIG_STK8312 is not set
-# CONFIG_STK8BA50 is not set
-
-#
-# Analog to digital converters
-#
-# CONFIG_AD7266 is not set
-# CONFIG_AD7291 is not set
-# CONFIG_AD7298 is not set
-# CONFIG_AD7476 is not set
-# CONFIG_AD7791 is not set
-# CONFIG_AD7793 is not set
-# CONFIG_AD7887 is not set
-# CONFIG_AD7923 is not set
-# CONFIG_AD799X is not set
-# CONFIG_HI8435 is not set
-# CONFIG_INA2XX_ADC is not set
-# CONFIG_LTC2485 is not set
-# CONFIG_MAX1027 is not set
-# CONFIG_MAX1363 is not set
-# CONFIG_MCP320X is not set
-# CONFIG_MCP3422 is not set
-# CONFIG_NAU7802 is not set
-# CONFIG_QCOM_SPMI_IADC is not set
-# CONFIG_QCOM_SPMI_VADC is not set
-# CONFIG_TI_ADC081C is not set
-# CONFIG_TI_ADC0832 is not set
-# CONFIG_TI_ADC12138 is not set
-# CONFIG_TI_ADC128S052 is not set
-# CONFIG_TI_ADC161S626 is not set
-# CONFIG_TI_ADS1015 is not set
-# CONFIG_TI_AM335X_ADC is not set
-# CONFIG_VIPERBOARD_ADC is not set
-
-#
-# Amplifiers
-#
-# CONFIG_AD8366 is not set
-
-#
-# Chemical Sensors
-#
-# CONFIG_ATLAS_PH_SENSOR is not set
-# CONFIG_IAQCORE is not set
-# CONFIG_VZ89X is not set
-
-#
-# Hid Sensor IIO Common
-#
-CONFIG_HID_SENSOR_IIO_COMMON=m
-CONFIG_HID_SENSOR_IIO_TRIGGER=m
-
-#
-# SSP Sensor Common
-#
-# CONFIG_IIO_SSP_SENSORHUB is not set
-CONFIG_IIO_ST_SENSORS_I2C=m
-CONFIG_IIO_ST_SENSORS_SPI=m
-CONFIG_IIO_ST_SENSORS_CORE=m
-
-#
-# Digital to analog converters
-#
-# CONFIG_AD5064 is not set
-# CONFIG_AD5360 is not set
-# CONFIG_AD5380 is not set
-# CONFIG_AD5421 is not set
-# CONFIG_AD5446 is not set
-# CONFIG_AD5449 is not set
-# CONFIG_AD5592R is not set
-# CONFIG_AD5593R is not set
-# CONFIG_AD5504 is not set
-# CONFIG_AD5624R_SPI is not set
-# CONFIG_AD5686 is not set
-# CONFIG_AD5755 is not set
-# CONFIG_AD5761 is not set
-# CONFIG_AD5764 is not set
-# CONFIG_AD5791 is not set
-# CONFIG_AD7303 is not set
-# CONFIG_AD8801 is not set
-# CONFIG_M62332 is not set
-# CONFIG_MAX517 is not set
-# CONFIG_MCP4725 is not set
-# CONFIG_MCP4922 is not set
-
-#
-# IIO dummy driver
-#
-# CONFIG_IIO_SIMPLE_DUMMY is not set
-
-#
-# Frequency Synthesizers DDS/PLL
-#
-
-#
-# Clock Generator/Distribution
-#
-# CONFIG_AD9523 is not set
-
-#
-# Phase-Locked Loop (PLL) frequency synthesizers
-#
-# CONFIG_ADF4350 is not set
-
-#
-# Digital gyroscope sensors
-#
-# CONFIG_ADIS16080 is not set
-# CONFIG_ADIS16130 is not set
-# CONFIG_ADIS16136 is not set
-# CONFIG_ADIS16260 is not set
-# CONFIG_ADXRS450 is not set
-# CONFIG_BMG160 is not set
-CONFIG_HID_SENSOR_GYRO_3D=m
-CONFIG_IIO_ST_GYRO_3AXIS=m
-CONFIG_IIO_ST_GYRO_I2C_3AXIS=m
-CONFIG_IIO_ST_GYRO_SPI_3AXIS=m
-# CONFIG_ITG3200 is not set
-
-#
-# Health Sensors
-#
-
-#
-# Heart Rate Monitors
-#
-# CONFIG_AFE4403 is not set
-# CONFIG_AFE4404 is not set
-CONFIG_MAX30100=m
-
-#
-# Humidity sensors
-#
-# CONFIG_AM2315 is not set
-# CONFIG_DHT11 is not set
-# CONFIG_HDC100X is not set
-# CONFIG_HTU21 is not set
-# CONFIG_SI7005 is not set
-# CONFIG_SI7020 is not set
-
-#
-# Inertial measurement units
-#
-# CONFIG_ADIS16400 is not set
-# CONFIG_ADIS16480 is not set
-# CONFIG_BMI160_I2C is not set
-# CONFIG_BMI160_SPI is not set
-# CONFIG_KMX61 is not set
-# CONFIG_INV_MPU6050_I2C is not set
-# CONFIG_INV_MPU6050_SPI is not set
-
-#
-# Light sensors
-#
-CONFIG_ACPI_ALS=m
-# CONFIG_ADJD_S311 is not set
-# CONFIG_AL3320A is not set
-# CONFIG_APDS9300 is not set
-# CONFIG_APDS9960 is not set
-CONFIG_BH1750=m
-CONFIG_BH1780=m
-# CONFIG_CM32181 is not set
-# CONFIG_CM3232 is not set
-# CONFIG_CM3323 is not set
-# CONFIG_CM36651 is not set
-# CONFIG_GP2AP020A00F is not set
-# CONFIG_ISL29125 is not set
-CONFIG_HID_SENSOR_ALS=m
-# CONFIG_HID_SENSOR_PROX is not set
-# CONFIG_JSA1212 is not set
-CONFIG_RPR0521=m
-# CONFIG_SENSORS_LM3533 is not set
-# CONFIG_LTR501 is not set
-# CONFIG_MAX44000 is not set
-CONFIG_OPT3001=m
-CONFIG_PA12203001=m
-# CONFIG_SI1145 is not set
-CONFIG_STK3310=m
-# CONFIG_TCS3414 is not set
-# CONFIG_TCS3472 is not set
-# CONFIG_SENSORS_TSL2563 is not set
-# CONFIG_TSL4531 is not set
-# CONFIG_US5182D is not set
-# CONFIG_VCNL4000 is not set
-# CONFIG_VEML6070 is not set
-
-#
-# Magnetometer sensors
-#
-# CONFIG_AK8975 is not set
-# CONFIG_AK09911 is not set
-# CONFIG_BMC150_MAGN_I2C is not set
-# CONFIG_BMC150_MAGN_SPI is not set
-# CONFIG_MAG3110 is not set
-CONFIG_HID_SENSOR_MAGNETOMETER_3D=m
-# CONFIG_MMC35240 is not set
-CONFIG_IIO_ST_MAGN_3AXIS=m
-CONFIG_IIO_ST_MAGN_I2C_3AXIS=m
-CONFIG_IIO_ST_MAGN_SPI_3AXIS=m
-CONFIG_SENSORS_HMC5843=m
-CONFIG_SENSORS_HMC5843_I2C=m
-CONFIG_SENSORS_HMC5843_SPI=m
-
-#
-# Inclinometer sensors
-#
-CONFIG_HID_SENSOR_INCLINOMETER_3D=m
-CONFIG_HID_SENSOR_DEVICE_ROTATION=m
-
-#
-# Triggers - standalone
-#
-# CONFIG_IIO_HRTIMER_TRIGGER is not set
-CONFIG_IIO_INTERRUPT_TRIGGER=m
-CONFIG_IIO_TIGHTLOOP_TRIGGER=m
-# CONFIG_IIO_SYSFS_TRIGGER is not set
-
-#
-# Digital potentiometers
-#
-# CONFIG_DS1803 is not set
-# CONFIG_MAX5487 is not set
-# CONFIG_MCP4131 is not set
-# CONFIG_MCP4531 is not set
-# CONFIG_TPL0102 is not set
-
-#
-# Pressure sensors
-#
-# CONFIG_BMP280 is not set
-# CONFIG_HID_SENSOR_PRESS is not set
-# CONFIG_HP03 is not set
-# CONFIG_MPL115_I2C is not set
-# CONFIG_MPL115_SPI is not set
-# CONFIG_MPL3115 is not set
-# CONFIG_MS5611 is not set
-# CONFIG_MS5637 is not set
-# CONFIG_IIO_ST_PRESS is not set
-# CONFIG_T5403 is not set
-# CONFIG_HP206C is not set
-# CONFIG_ZPA2326 is not set
-
-#
-# Lightning sensors
-#
-# CONFIG_AS3935 is not set
-
-#
-# Proximity sensors
-#
-# CONFIG_LIDAR_LITE_V2 is not set
-# CONFIG_SX9500 is not set
-
-#
-# Temperature sensors
-#
-# CONFIG_MAXIM_THERMOCOUPLE is not set
-# CONFIG_MLX90614 is not set
-# CONFIG_TMP006 is not set
-# CONFIG_TSYS01 is not set
-# CONFIG_TSYS02D is not set
-# CONFIG_NTB is not set
-# CONFIG_VME_BUS is not set
-# CONFIG_PWM is not set
-CONFIG_ARM_GIC_MAX_NR=1
-CONFIG_IPACK_BUS=m
-CONFIG_BOARD_TPCI200=m
-CONFIG_SERIAL_IPOCTAL=m
-CONFIG_RESET_CONTROLLER=y
-# CONFIG_RESET_ATH79 is not set
-# CONFIG_RESET_BERLIN is not set
-# CONFIG_RESET_LPC18XX is not set
-# CONFIG_RESET_MESON is not set
-# CONFIG_RESET_PISTACHIO is not set
-# CONFIG_RESET_SOCFPGA is not set
-# CONFIG_RESET_STM32 is not set
-# CONFIG_RESET_SUNXI is not set
-# CONFIG_TI_SYSCON_RESET is not set
-# CONFIG_RESET_ZYNQ is not set
-CONFIG_FMC=m
-CONFIG_FMC_FAKEDEV=m
-CONFIG_FMC_TRIVIAL=m
-CONFIG_FMC_WRITE_EEPROM=m
-CONFIG_FMC_CHARDEV=m
-
-#
-# PHY Subsystem
-#
-CONFIG_GENERIC_PHY=y
-# CONFIG_PHY_PXA_28NM_HSIC is not set
-# CONFIG_PHY_PXA_28NM_USB2 is not set
-CONFIG_BCM_KONA_USB2_PHY=m
-CONFIG_POWERCAP=y
-CONFIG_INTEL_RAPL=m
-# CONFIG_MCB is not set
-
-#
-# Performance monitor support
-#
-CONFIG_RAS=y
-# CONFIG_MCE_AMD_INJ is not set
-CONFIG_THUNDERBOLT=m
-
-#
-# Android
-#
-# CONFIG_ANDROID is not set
-CONFIG_LIBNVDIMM=y
-CONFIG_BLK_DEV_PMEM=m
-CONFIG_ND_BLK=m
-CONFIG_ND_CLAIM=y
-CONFIG_ND_BTT=m
-CONFIG_BTT=y
-CONFIG_ND_PFN=m
-CONFIG_NVDIMM_PFN=y
-CONFIG_NVDIMM_DAX=y
-CONFIG_DEV_DAX=m
-CONFIG_DEV_DAX_PMEM=m
-CONFIG_NR_DEV_DAX=32768
-CONFIG_NVMEM=m
-CONFIG_STM=m
-# CONFIG_STM_DUMMY is not set
-CONFIG_STM_SOURCE_CONSOLE=m
-CONFIG_STM_SOURCE_HEARTBEAT=m
-CONFIG_INTEL_TH=m
-CONFIG_INTEL_TH_PCI=m
-CONFIG_INTEL_TH_GTH=m
-CONFIG_INTEL_TH_STH=m
-CONFIG_INTEL_TH_MSU=m
-CONFIG_INTEL_TH_PTI=m
-# CONFIG_INTEL_TH_DEBUG is not set
-
-#
-# FPGA Configuration Support
-#
-# CONFIG_FPGA is not set
-
-#
-# Firmware Drivers
-#
-CONFIG_EDD=m
-# CONFIG_EDD_OFF is not set
-CONFIG_FIRMWARE_MEMMAP=y
-CONFIG_DELL_RBU=m
-CONFIG_DCDBAS=m
-CONFIG_DMIID=y
-CONFIG_DMI_SYSFS=m
-CONFIG_DMI_SCAN_MACHINE_NON_EFI_FALLBACK=y
-CONFIG_ISCSI_IBFT_FIND=y
-CONFIG_ISCSI_IBFT=m
-CONFIG_FW_CFG_SYSFS=m
-# CONFIG_FW_CFG_SYSFS_CMDLINE is not set
-# CONFIG_GOOGLE_FIRMWARE is not set
-
-#
-# EFI (Extensible Firmware Interface) Support
-#
-# CONFIG_EFI_VARS is not set
-CONFIG_EFI_ESRT=y
-CONFIG_EFI_RUNTIME_MAP=y
-# CONFIG_EFI_FAKE_MEMMAP is not set
-CONFIG_EFI_RUNTIME_WRAPPERS=y
-CONFIG_EFI_CAPSULE_LOADER=m
-# CONFIG_EFI_TEST is not set
-CONFIG_UEFI_CPER=y
-
-#
-# File systems
-#
-CONFIG_DCACHE_WORD_ACCESS=y
-CONFIG_FS_IOMAP=y
-# CONFIG_EXT2_FS is not set
-# CONFIG_EXT3_FS is not set
-CONFIG_EXT4_FS=m
-CONFIG_EXT4_USE_FOR_EXT2=y
-CONFIG_EXT4_FS_POSIX_ACL=y
-CONFIG_EXT4_FS_SECURITY=y
-CONFIG_EXT4_ENCRYPTION=y
-CONFIG_EXT4_FS_ENCRYPTION=y
-# CONFIG_EXT4_DEBUG is not set
-CONFIG_JBD2=m
-# CONFIG_JBD2_DEBUG is not set
-CONFIG_FS_MBCACHE=m
-CONFIG_REISERFS_FS=m
-# CONFIG_REISERFS_CHECK is not set
-CONFIG_REISERFS_PROC_INFO=y
-CONFIG_REISERFS_FS_XATTR=y
-CONFIG_REISERFS_FS_POSIX_ACL=y
-CONFIG_REISERFS_FS_SECURITY=y
-CONFIG_JFS_FS=m
-CONFIG_JFS_POSIX_ACL=y
-CONFIG_JFS_SECURITY=y
-# CONFIG_JFS_DEBUG is not set
-CONFIG_JFS_STATISTICS=y
-CONFIG_XFS_FS=m
-CONFIG_XFS_QUOTA=y
-CONFIG_XFS_POSIX_ACL=y
-CONFIG_XFS_RT=y
-# CONFIG_XFS_WARN is not set
-# CONFIG_XFS_DEBUG is not set
-CONFIG_GFS2_FS=m
-CONFIG_GFS2_FS_LOCKING_DLM=y
-CONFIG_OCFS2_FS=m
-CONFIG_OCFS2_FS_O2CB=m
-CONFIG_OCFS2_FS_USERSPACE_CLUSTER=m
-CONFIG_OCFS2_FS_STATS=y
-# CONFIG_OCFS2_DEBUG_MASKLOG is not set
-# CONFIG_OCFS2_DEBUG_FS is not set
-CONFIG_BTRFS_FS=m
-CONFIG_BTRFS_FS_POSIX_ACL=y
-# CONFIG_BTRFS_FS_CHECK_INTEGRITY is not set
-# CONFIG_BTRFS_FS_RUN_SANITY_TESTS is not set
-# CONFIG_BTRFS_DEBUG is not set
-# CONFIG_BTRFS_ASSERT is not set
-CONFIG_NILFS2_FS=m
-CONFIG_F2FS_FS=m
-CONFIG_F2FS_STAT_FS=y
-CONFIG_F2FS_FS_XATTR=y
-CONFIG_F2FS_FS_POSIX_ACL=y
-CONFIG_F2FS_FS_SECURITY=y
-CONFIG_F2FS_CHECK_FS=y
-CONFIG_F2FS_FS_ENCRYPTION=y
-# CONFIG_F2FS_IO_TRACE is not set
-# CONFIG_F2FS_FAULT_INJECTION is not set
-# CONFIG_FS_DAX is not set
-CONFIG_FS_POSIX_ACL=y
-CONFIG_EXPORTFS=y
-CONFIG_EXPORTFS_BLOCK_OPS=y
-CONFIG_FILE_LOCKING=y
-# CONFIG_MANDATORY_FILE_LOCKING is not set
-CONFIG_FS_ENCRYPTION=m
-CONFIG_FSNOTIFY=y
-CONFIG_DNOTIFY=y
-CONFIG_INOTIFY_USER=y
-CONFIG_FANOTIFY=y
-CONFIG_FANOTIFY_ACCESS_PERMISSIONS=y
-CONFIG_QUOTA=y
-CONFIG_QUOTA_NETLINK_INTERFACE=y
-# CONFIG_PRINT_QUOTA_WARNING is not set
-# CONFIG_QUOTA_DEBUG is not set
-CONFIG_QUOTA_TREE=m
-CONFIG_QFMT_V1=m
-CONFIG_QFMT_V2=m
-CONFIG_QUOTACTL=y
-CONFIG_QUOTACTL_COMPAT=y
-CONFIG_AUTOFS4_FS=y
-CONFIG_FUSE_FS=m
-CONFIG_CUSE=m
-CONFIG_OVERLAY_FS=m
-
-#
-# Caches
-#
-CONFIG_FSCACHE=m
-CONFIG_FSCACHE_STATS=y
-CONFIG_FSCACHE_HISTOGRAM=y
-# CONFIG_FSCACHE_DEBUG is not set
-# CONFIG_FSCACHE_OBJECT_LIST is not set
-CONFIG_CACHEFILES=m
-# CONFIG_CACHEFILES_DEBUG is not set
-# CONFIG_CACHEFILES_HISTOGRAM is not set
-
-#
-# CD-ROM/DVD Filesystems
-#
-CONFIG_ISO9660_FS=m
-CONFIG_JOLIET=y
-CONFIG_ZISOFS=y
-CONFIG_UDF_FS=m
-CONFIG_UDF_NLS=y
-
-#
-# DOS/FAT/NT Filesystems
-#
-CONFIG_FAT_FS=m
-CONFIG_MSDOS_FS=m
-CONFIG_VFAT_FS=m
-CONFIG_FAT_DEFAULT_CODEPAGE=437
-CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
-# CONFIG_FAT_DEFAULT_UTF8 is not set
-CONFIG_NTFS_FS=m
-# CONFIG_NTFS_DEBUG is not set
-CONFIG_NTFS_RW=y
-
-#
-# Pseudo filesystems
-#
-CONFIG_PROC_FS=y
-CONFIG_PROC_KCORE=y
-CONFIG_PROC_VMCORE=y
-CONFIG_PROC_SYSCTL=y
-CONFIG_PROC_PAGE_MONITOR=y
-CONFIG_PROC_CHILDREN=y
-CONFIG_KERNFS=y
-CONFIG_SYSFS=y
-CONFIG_TMPFS=y
-CONFIG_TMPFS_POSIX_ACL=y
-CONFIG_TMPFS_XATTR=y
-CONFIG_HUGETLBFS=y
-CONFIG_HUGETLB_PAGE=y
-CONFIG_ARCH_HAS_GIGANTIC_PAGE=y
-CONFIG_CONFIGFS_FS=y
-CONFIG_EFIVAR_FS=y
-CONFIG_MISC_FILESYSTEMS=y
-CONFIG_ORANGEFS_FS=m
-# CONFIG_ADFS_FS is not set
-CONFIG_AFFS_FS=m
-CONFIG_ECRYPT_FS=m
-# CONFIG_ECRYPT_FS_MESSAGING is not set
-CONFIG_HFS_FS=m
-CONFIG_HFSPLUS_FS=m
-CONFIG_HFSPLUS_FS_POSIX_ACL=y
-CONFIG_BEFS_FS=m
-# CONFIG_BEFS_DEBUG is not set
-# CONFIG_BFS_FS is not set
-# CONFIG_EFS_FS is not set
-CONFIG_JFFS2_FS=m
-CONFIG_JFFS2_FS_DEBUG=0
-CONFIG_JFFS2_FS_WRITEBUFFER=y
-# CONFIG_JFFS2_FS_WBUF_VERIFY is not set
-# CONFIG_JFFS2_SUMMARY is not set
-# CONFIG_JFFS2_FS_XATTR is not set
-# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
-CONFIG_JFFS2_ZLIB=y
-# CONFIG_JFFS2_LZO is not set
-CONFIG_JFFS2_RTIME=y
-# CONFIG_JFFS2_RUBIN is not set
-CONFIG_UBIFS_FS=m
-# CONFIG_UBIFS_FS_ADVANCED_COMPR is not set
-CONFIG_UBIFS_FS_LZO=y
-CONFIG_UBIFS_FS_ZLIB=y
-CONFIG_UBIFS_ATIME_SUPPORT=y
-CONFIG_LOGFS=m
-CONFIG_CRAMFS=m
-CONFIG_SQUASHFS=m
-# CONFIG_SQUASHFS_FILE_CACHE is not set
-CONFIG_SQUASHFS_FILE_DIRECT=y
-# CONFIG_SQUASHFS_DECOMP_SINGLE is not set
-# CONFIG_SQUASHFS_DECOMP_MULTI is not set
-CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU=y
-CONFIG_SQUASHFS_XATTR=y
-CONFIG_SQUASHFS_ZLIB=y
-CONFIG_SQUASHFS_LZ4=y
-CONFIG_SQUASHFS_LZO=y
-CONFIG_SQUASHFS_XZ=y
-# CONFIG_SQUASHFS_4K_DEVBLK_SIZE is not set
-# CONFIG_SQUASHFS_EMBEDDED is not set
-CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
-# CONFIG_VXFS_FS is not set
-CONFIG_MINIX_FS=m
-CONFIG_OMFS_FS=m
-# CONFIG_HPFS_FS is not set
-# CONFIG_QNX4FS_FS is not set
-# CONFIG_QNX6FS_FS is not set
-CONFIG_ROMFS_FS=m
-CONFIG_ROMFS_BACKED_BY_BLOCK=y
-# CONFIG_ROMFS_BACKED_BY_MTD is not set
-# CONFIG_ROMFS_BACKED_BY_BOTH is not set
-CONFIG_ROMFS_ON_BLOCK=y
-CONFIG_PSTORE=y
-CONFIG_PSTORE_ZLIB_COMPRESS=y
-# CONFIG_PSTORE_LZO_COMPRESS is not set
-# CONFIG_PSTORE_LZ4_COMPRESS is not set
-# CONFIG_PSTORE_CONSOLE is not set
-# CONFIG_PSTORE_PMSG is not set
-# CONFIG_PSTORE_FTRACE is not set
-CONFIG_PSTORE_RAM=y
-# CONFIG_SYSV_FS is not set
-CONFIG_UFS_FS=m
-# CONFIG_UFS_FS_WRITE is not set
-# CONFIG_UFS_DEBUG is not set
-CONFIG_EXOFS_FS=m
-# CONFIG_EXOFS_DEBUG is not set
-CONFIG_ORE=m
-CONFIG_NETWORK_FILESYSTEMS=y
-CONFIG_NFS_FS=m
-CONFIG_NFS_V2=m
-CONFIG_NFS_V3=m
-CONFIG_NFS_V3_ACL=y
-CONFIG_NFS_V4=m
-CONFIG_NFS_SWAP=y
-CONFIG_NFS_V4_1=y
-CONFIG_NFS_V4_2=y
-CONFIG_PNFS_FILE_LAYOUT=m
-CONFIG_PNFS_BLOCK=m
-CONFIG_PNFS_OBJLAYOUT=m
-CONFIG_PNFS_FLEXFILE_LAYOUT=m
-CONFIG_NFS_V4_1_IMPLEMENTATION_ID_DOMAIN="kernel.org"
-CONFIG_NFS_V4_1_MIGRATION=y
-CONFIG_NFS_V4_SECURITY_LABEL=y
-CONFIG_NFS_FSCACHE=y
-# CONFIG_NFS_USE_LEGACY_DNS is not set
-CONFIG_NFS_USE_KERNEL_DNS=y
-CONFIG_NFS_DEBUG=y
-CONFIG_NFSD=m
-CONFIG_NFSD_V2_ACL=y
-CONFIG_NFSD_V3=y
-CONFIG_NFSD_V3_ACL=y
-CONFIG_NFSD_V4=y
-CONFIG_NFSD_PNFS=y
-CONFIG_NFSD_BLOCKLAYOUT=y
-CONFIG_NFSD_SCSILAYOUT=y
-# CONFIG_NFSD_FLEXFILELAYOUT is not set
-CONFIG_NFSD_V4_SECURITY_LABEL=y
-# CONFIG_NFSD_FAULT_INJECTION is not set
-CONFIG_GRACE_PERIOD=m
-CONFIG_LOCKD=m
-CONFIG_LOCKD_V4=y
-CONFIG_NFS_ACL_SUPPORT=m
-CONFIG_NFS_COMMON=y
-CONFIG_SUNRPC=m
-CONFIG_SUNRPC_GSS=m
-CONFIG_SUNRPC_BACKCHANNEL=y
-CONFIG_SUNRPC_SWAP=y
-CONFIG_RPCSEC_GSS_KRB5=m
-CONFIG_SUNRPC_DEBUG=y
-CONFIG_SUNRPC_XPRT_RDMA=m
-CONFIG_CEPH_FS=m
-CONFIG_CEPH_FSCACHE=y
-CONFIG_CEPH_FS_POSIX_ACL=y
-CONFIG_CIFS=m
-CONFIG_CIFS_STATS=y
-# CONFIG_CIFS_STATS2 is not set
-# CONFIG_CIFS_WEAK_PW_HASH is not set
-CONFIG_CIFS_UPCALL=y
-CONFIG_CIFS_XATTR=y
-CONFIG_CIFS_POSIX=y
-CONFIG_CIFS_ACL=y
-# CONFIG_CIFS_DEBUG is not set
-CONFIG_CIFS_DFS_UPCALL=y
-CONFIG_CIFS_SMB2=y
-CONFIG_CIFS_SMB311=y
-CONFIG_CIFS_FSCACHE=y
-# CONFIG_NCP_FS is not set
-CONFIG_CODA_FS=m
-CONFIG_AFS_FS=m
-# CONFIG_AFS_DEBUG is not set
-CONFIG_AFS_FSCACHE=y
-CONFIG_9P_FS=m
-CONFIG_9P_FSCACHE=y
-CONFIG_9P_FS_POSIX_ACL=y
-CONFIG_9P_FS_SECURITY=y
-CONFIG_NLS=y
-CONFIG_NLS_DEFAULT="utf8"
-CONFIG_NLS_CODEPAGE_437=m
-CONFIG_NLS_CODEPAGE_737=m
-CONFIG_NLS_CODEPAGE_775=m
-CONFIG_NLS_CODEPAGE_850=m
-CONFIG_NLS_CODEPAGE_852=m
-CONFIG_NLS_CODEPAGE_855=m
-CONFIG_NLS_CODEPAGE_857=m
-CONFIG_NLS_CODEPAGE_860=m
-CONFIG_NLS_CODEPAGE_861=m
-CONFIG_NLS_CODEPAGE_862=m
-CONFIG_NLS_CODEPAGE_863=m
-CONFIG_NLS_CODEPAGE_864=m
-CONFIG_NLS_CODEPAGE_865=m
-CONFIG_NLS_CODEPAGE_866=m
-CONFIG_NLS_CODEPAGE_869=m
-CONFIG_NLS_CODEPAGE_936=m
-CONFIG_NLS_CODEPAGE_950=m
-CONFIG_NLS_CODEPAGE_932=m
-CONFIG_NLS_CODEPAGE_949=m
-CONFIG_NLS_CODEPAGE_874=m
-CONFIG_NLS_ISO8859_8=m
-CONFIG_NLS_CODEPAGE_1250=m
-CONFIG_NLS_CODEPAGE_1251=m
-CONFIG_NLS_ASCII=m
-CONFIG_NLS_ISO8859_1=m
-CONFIG_NLS_ISO8859_2=m
-CONFIG_NLS_ISO8859_3=m
-CONFIG_NLS_ISO8859_4=m
-CONFIG_NLS_ISO8859_5=m
-CONFIG_NLS_ISO8859_6=m
-CONFIG_NLS_ISO8859_7=m
-CONFIG_NLS_ISO8859_9=m
-CONFIG_NLS_ISO8859_13=m
-CONFIG_NLS_ISO8859_14=m
-CONFIG_NLS_ISO8859_15=m
-CONFIG_NLS_KOI8_R=m
-CONFIG_NLS_KOI8_U=m
-CONFIG_NLS_MAC_ROMAN=m
-CONFIG_NLS_MAC_CELTIC=m
-CONFIG_NLS_MAC_CENTEURO=m
-CONFIG_NLS_MAC_CROATIAN=m
-CONFIG_NLS_MAC_CYRILLIC=m
-CONFIG_NLS_MAC_GAELIC=m
-CONFIG_NLS_MAC_GREEK=m
-CONFIG_NLS_MAC_ICELAND=m
-CONFIG_NLS_MAC_INUIT=m
-CONFIG_NLS_MAC_ROMANIAN=m
-CONFIG_NLS_MAC_TURKISH=m
-CONFIG_NLS_UTF8=m
-CONFIG_DLM=m
-# CONFIG_DLM_DEBUG is not set
-
-#
-# Kernel hacking
-#
-CONFIG_TRACE_IRQFLAGS_SUPPORT=y
-
-#
-# printk and dmesg options
-#
-CONFIG_PRINTK_TIME=y
-CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4
-# CONFIG_BOOT_PRINTK_DELAY is not set
-CONFIG_DYNAMIC_DEBUG=y
-
-#
-# Compile-time checks and compiler options
-#
-# CONFIG_DEBUG_INFO is not set
-# CONFIG_ENABLE_WARN_DEPRECATED is not set
-# CONFIG_ENABLE_MUST_CHECK is not set
-CONFIG_FRAME_WARN=2048
-CONFIG_STRIP_ASM_SYMS=y
-# CONFIG_READABLE_ASM is not set
-CONFIG_UNUSED_SYMBOLS=y
-# CONFIG_PAGE_OWNER is not set
-CONFIG_DEBUG_FS=y
-# CONFIG_HEADERS_CHECK is not set
-# CONFIG_DEBUG_SECTION_MISMATCH is not set
-CONFIG_SECTION_MISMATCH_WARN_ONLY=y
-CONFIG_ARCH_WANT_FRAME_POINTERS=y
-CONFIG_FRAME_POINTER=y
-CONFIG_STACK_VALIDATION=y
-# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
-CONFIG_MAGIC_SYSRQ=y
-CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x0
-CONFIG_DEBUG_KERNEL=y
-
-#
-# Memory Debugging
-#
-# CONFIG_PAGE_EXTENSION is not set
-# CONFIG_DEBUG_PAGEALLOC is not set
-# CONFIG_PAGE_POISONING is not set
-# CONFIG_DEBUG_PAGE_REF is not set
-# CONFIG_DEBUG_OBJECTS is not set
-# CONFIG_SLUB_DEBUG_ON is not set
-# CONFIG_SLUB_STATS is not set
-CONFIG_HAVE_DEBUG_KMEMLEAK=y
-# CONFIG_DEBUG_KMEMLEAK is not set
-# CONFIG_DEBUG_STACK_USAGE is not set
-# CONFIG_DEBUG_VM is not set
-# CONFIG_DEBUG_VIRTUAL is not set
-CONFIG_DEBUG_MEMORY_INIT=y
-# CONFIG_DEBUG_PER_CPU_MAPS is not set
-CONFIG_HAVE_DEBUG_STACKOVERFLOW=y
-# CONFIG_DEBUG_STACKOVERFLOW is not set
-CONFIG_HAVE_ARCH_KMEMCHECK=y
-CONFIG_HAVE_ARCH_KASAN=y
-# CONFIG_KASAN is not set
-CONFIG_ARCH_HAS_KCOV=y
-# CONFIG_KCOV is not set
-# CONFIG_DEBUG_SHIRQ is not set
-
-#
-# Debug Lockups and Hangs
-#
-CONFIG_LOCKUP_DETECTOR=y
-CONFIG_HARDLOCKUP_DETECTOR=y
-# CONFIG_BOOTPARAM_HARDLOCKUP_PANIC is not set
-CONFIG_BOOTPARAM_HARDLOCKUP_PANIC_VALUE=0
-# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
-CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
-CONFIG_DETECT_HUNG_TASK=y
-CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=120
-# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
-CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0
-# CONFIG_WQ_WATCHDOG is not set
-# CONFIG_PANIC_ON_OOPS is not set
-CONFIG_PANIC_ON_OOPS_VALUE=0
-CONFIG_PANIC_TIMEOUT=0
-CONFIG_SCHED_DEBUG=y
-CONFIG_SCHED_INFO=y
-CONFIG_SCHEDSTATS=y
-# CONFIG_SCHED_STACK_END_CHECK is not set
-# CONFIG_DEBUG_TIMEKEEPING is not set
-CONFIG_TIMER_STATS=y
-
-#
-# Lock Debugging (spinlocks, mutexes, etc...)
-#
-# CONFIG_DEBUG_RT_MUTEXES is not set
-# CONFIG_DEBUG_SPINLOCK is not set
-# CONFIG_DEBUG_MUTEXES is not set
-# CONFIG_DEBUG_WW_MUTEX_SLOWPATH is not set
-# CONFIG_DEBUG_LOCK_ALLOC is not set
-# CONFIG_PROVE_LOCKING is not set
-# CONFIG_LOCK_STAT is not set
-# CONFIG_DEBUG_ATOMIC_SLEEP is not set
-# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
-# CONFIG_LOCK_TORTURE_TEST is not set
-CONFIG_STACKTRACE=y
-# CONFIG_DEBUG_KOBJECT is not set
-CONFIG_DEBUG_BUGVERBOSE=y
-# CONFIG_DEBUG_LIST is not set
-# CONFIG_DEBUG_PI_LIST is not set
-# CONFIG_DEBUG_SG is not set
-# CONFIG_DEBUG_NOTIFIERS is not set
-# CONFIG_DEBUG_CREDENTIALS is not set
-
-#
-# RCU Debugging
-#
-# CONFIG_PROVE_RCU is not set
-# CONFIG_SPARSE_RCU_POINTER is not set
-# CONFIG_TORTURE_TEST is not set
-# CONFIG_RCU_PERF_TEST is not set
-# CONFIG_RCU_TORTURE_TEST is not set
-CONFIG_RCU_CPU_STALL_TIMEOUT=60
-# CONFIG_RCU_TRACE is not set
-# CONFIG_RCU_EQS_DEBUG is not set
-# CONFIG_DEBUG_WQ_FORCE_RR_CPU is not set
-# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
-# CONFIG_CPU_HOTPLUG_STATE_CONTROL is not set
-# CONFIG_NOTIFIER_ERROR_INJECTION is not set
-# CONFIG_FAULT_INJECTION is not set
-# CONFIG_LATENCYTOP is not set
-CONFIG_USER_STACKTRACE_SUPPORT=y
-CONFIG_NOP_TRACER=y
-CONFIG_HAVE_FUNCTION_TRACER=y
-CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
-CONFIG_HAVE_DYNAMIC_FTRACE=y
-CONFIG_HAVE_DYNAMIC_FTRACE_WITH_REGS=y
-CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
-CONFIG_HAVE_SYSCALL_TRACEPOINTS=y
-CONFIG_HAVE_FENTRY=y
-CONFIG_HAVE_C_RECORDMCOUNT=y
-CONFIG_TRACER_MAX_TRACE=y
-CONFIG_TRACE_CLOCK=y
-CONFIG_RING_BUFFER=y
-CONFIG_EVENT_TRACING=y
-CONFIG_CONTEXT_SWITCH_TRACER=y
-CONFIG_RING_BUFFER_ALLOW_SWAP=y
-CONFIG_TRACING=y
-CONFIG_GENERIC_TRACER=y
-CONFIG_TRACING_SUPPORT=y
-CONFIG_FTRACE=y
-CONFIG_FUNCTION_TRACER=y
-CONFIG_FUNCTION_GRAPH_TRACER=y
-# CONFIG_IRQSOFF_TRACER is not set
-CONFIG_SCHED_TRACER=y
-CONFIG_HWLAT_TRACER=y
-CONFIG_FTRACE_SYSCALLS=y
-CONFIG_TRACER_SNAPSHOT=y
-# CONFIG_TRACER_SNAPSHOT_PER_CPU_SWAP is not set
-CONFIG_BRANCH_PROFILE_NONE=y
-# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set
-# CONFIG_PROFILE_ALL_BRANCHES is not set
-CONFIG_STACK_TRACER=y
-CONFIG_BLK_DEV_IO_TRACE=y
-CONFIG_KPROBE_EVENT=y
-CONFIG_UPROBE_EVENT=y
-CONFIG_BPF_EVENTS=y
-CONFIG_PROBE_EVENTS=y
-CONFIG_DYNAMIC_FTRACE=y
-CONFIG_DYNAMIC_FTRACE_WITH_REGS=y
-CONFIG_FUNCTION_PROFILER=y
-CONFIG_FTRACE_MCOUNT_RECORD=y
-# CONFIG_FTRACE_STARTUP_TEST is not set
-CONFIG_MMIOTRACE=y
-# CONFIG_HIST_TRIGGERS is not set
-# CONFIG_MMIOTRACE_TEST is not set
-# CONFIG_TRACEPOINT_BENCHMARK is not set
-CONFIG_RING_BUFFER_BENCHMARK=m
-# CONFIG_RING_BUFFER_STARTUP_TEST is not set
-# CONFIG_TRACE_ENUM_MAP_FILE is not set
-# CONFIG_TRACING_EVENTS_GPIO is not set
-
-#
-# Runtime Testing
-#
-CONFIG_LKDTM=m
-# CONFIG_TEST_LIST_SORT is not set
-# CONFIG_KPROBES_SANITY_TEST is not set
-# CONFIG_BACKTRACE_SELF_TEST is not set
-# CONFIG_RBTREE_TEST is not set
-# CONFIG_INTERVAL_TREE_TEST is not set
-CONFIG_PERCPU_TEST=m
-# CONFIG_ATOMIC64_SELFTEST is not set
-CONFIG_ASYNC_RAID6_TEST=m
-# CONFIG_TEST_HEXDUMP is not set
-# CONFIG_TEST_STRING_HELPERS is not set
-CONFIG_TEST_KSTRTOX=m
-# CONFIG_TEST_PRINTF is not set
-# CONFIG_TEST_BITMAP is not set
-# CONFIG_TEST_UUID is not set
-# CONFIG_TEST_RHASHTABLE is not set
-# CONFIG_TEST_HASH is not set
-# CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set
-# CONFIG_DMA_API_DEBUG is not set
-# CONFIG_TEST_LKM is not set
-# CONFIG_TEST_USER_COPY is not set
-# CONFIG_TEST_BPF is not set
-# CONFIG_TEST_FIRMWARE is not set
-# CONFIG_TEST_UDELAY is not set
-# CONFIG_MEMTEST is not set
-# CONFIG_TEST_STATIC_KEYS is not set
-# CONFIG_SAMPLES is not set
-CONFIG_HAVE_ARCH_KGDB=y
-# CONFIG_KGDB is not set
-CONFIG_ARCH_HAS_UBSAN_SANITIZE_ALL=y
-# CONFIG_ARCH_WANTS_UBSAN_NO_NULL is not set
-# CONFIG_UBSAN is not set
-CONFIG_ARCH_HAS_DEVMEM_IS_ALLOWED=y
-CONFIG_STRICT_DEVMEM=y
-CONFIG_IO_STRICT_DEVMEM=y
-# CONFIG_X86_VERBOSE_BOOTUP is not set
-CONFIG_EARLY_PRINTK=y
-# CONFIG_EARLY_PRINTK_DBGP is not set
-CONFIG_EARLY_PRINTK_EFI=y
-# CONFIG_X86_PTDUMP_CORE is not set
-# CONFIG_X86_PTDUMP is not set
-# CONFIG_EFI_PGT_DUMP is not set
-# CONFIG_DEBUG_RODATA_TEST is not set
-# CONFIG_DEBUG_WX is not set
-CONFIG_DEBUG_SET_MODULE_RONX=y
-# CONFIG_DEBUG_NX_TEST is not set
-CONFIG_DOUBLEFAULT=y
-# CONFIG_DEBUG_TLBFLUSH is not set
-# CONFIG_IOMMU_DEBUG is not set
-# CONFIG_IOMMU_STRESS is not set
-CONFIG_HAVE_MMIOTRACE_SUPPORT=y
-# CONFIG_X86_DECODER_SELFTEST is not set
-CONFIG_IO_DELAY_TYPE_0X80=0
-CONFIG_IO_DELAY_TYPE_0XED=1
-CONFIG_IO_DELAY_TYPE_UDELAY=2
-CONFIG_IO_DELAY_TYPE_NONE=3
-CONFIG_IO_DELAY_0X80=y
-# CONFIG_IO_DELAY_0XED is not set
-# CONFIG_IO_DELAY_UDELAY is not set
-# CONFIG_IO_DELAY_NONE is not set
-CONFIG_DEFAULT_IO_DELAY_TYPE=0
-# CONFIG_DEBUG_BOOT_PARAMS is not set
-# CONFIG_CPA_DEBUG is not set
-# CONFIG_OPTIMIZE_INLINING is not set
-# CONFIG_DEBUG_ENTRY is not set
-# CONFIG_DEBUG_NMI_SELFTEST is not set
-# CONFIG_X86_DEBUG_FPU is not set
-# CONFIG_PUNIT_ATOM_DEBUG is not set
-
-#
-# Security options
-#
-CONFIG_KEYS=y
-CONFIG_PERSISTENT_KEYRINGS=y
-CONFIG_TRUSTED_KEYS=m
-CONFIG_ENCRYPTED_KEYS=m
-CONFIG_KEY_DH_OPERATIONS=y
-# CONFIG_SECURITY_DMESG_RESTRICT is not set
-CONFIG_SECURITY=y
-CONFIG_SECURITYFS=y
-# CONFIG_SECURITY_NETWORK is not set
-CONFIG_SECURITY_PATH=y
-# CONFIG_INTEL_TXT is not set
-CONFIG_HAVE_HARDENED_USERCOPY_ALLOCATOR=y
-CONFIG_HAVE_ARCH_HARDENED_USERCOPY=y
-CONFIG_HARDENED_USERCOPY=y
-# CONFIG_SECURITY_SMACK is not set
-# CONFIG_SECURITY_TOMOYO is not set
-# CONFIG_SECURITY_APPARMOR is not set
-# CONFIG_SECURITY_LOADPIN is not set
-CONFIG_SECURITY_YAMA=y
-CONFIG_INTEGRITY=y
-# CONFIG_INTEGRITY_SIGNATURE is not set
-# CONFIG_IMA is not set
-# CONFIG_EVM is not set
-CONFIG_DEFAULT_SECURITY_DAC=y
-CONFIG_DEFAULT_SECURITY=""
-CONFIG_XOR_BLOCKS=m
-CONFIG_ASYNC_CORE=m
-CONFIG_ASYNC_MEMCPY=m
-CONFIG_ASYNC_XOR=m
-CONFIG_ASYNC_PQ=m
-CONFIG_ASYNC_RAID6_RECOV=m
-CONFIG_CRYPTO=y
-
-#
-# Crypto core or helper
-#
-CONFIG_CRYPTO_ALGAPI=y
-CONFIG_CRYPTO_ALGAPI2=y
-CONFIG_CRYPTO_AEAD=m
-CONFIG_CRYPTO_AEAD2=y
-CONFIG_CRYPTO_BLKCIPHER=y
-CONFIG_CRYPTO_BLKCIPHER2=y
-CONFIG_CRYPTO_HASH=y
-CONFIG_CRYPTO_HASH2=y
-CONFIG_CRYPTO_RNG=m
-CONFIG_CRYPTO_RNG2=y
-CONFIG_CRYPTO_RNG_DEFAULT=m
-CONFIG_CRYPTO_AKCIPHER2=y
-CONFIG_CRYPTO_AKCIPHER=m
-CONFIG_CRYPTO_KPP2=y
-CONFIG_CRYPTO_KPP=m
-CONFIG_CRYPTO_RSA=m
-CONFIG_CRYPTO_DH=m
-CONFIG_CRYPTO_ECDH=m
-CONFIG_CRYPTO_MANAGER=y
-CONFIG_CRYPTO_MANAGER2=y
-CONFIG_CRYPTO_USER=m
-CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y
-CONFIG_CRYPTO_GF128MUL=m
-CONFIG_CRYPTO_NULL=m
-CONFIG_CRYPTO_NULL2=y
-CONFIG_CRYPTO_PCRYPT=m
-CONFIG_CRYPTO_WORKQUEUE=y
-CONFIG_CRYPTO_CRYPTD=m
-CONFIG_CRYPTO_MCRYPTD=m
-CONFIG_CRYPTO_AUTHENC=m
-CONFIG_CRYPTO_TEST=m
-CONFIG_CRYPTO_ABLK_HELPER=m
-CONFIG_CRYPTO_GLUE_HELPER_X86=m
-
-#
-# Authenticated Encryption with Associated Data
-#
-CONFIG_CRYPTO_CCM=m
-CONFIG_CRYPTO_GCM=m
-CONFIG_CRYPTO_CHACHA20POLY1305=m
-CONFIG_CRYPTO_SEQIV=m
-CONFIG_CRYPTO_ECHAINIV=m
-
-#
-# Block modes
-#
-CONFIG_CRYPTO_CBC=m
-CONFIG_CRYPTO_CTR=m
-CONFIG_CRYPTO_CTS=m
-CONFIG_CRYPTO_ECB=y
-CONFIG_CRYPTO_LRW=m
-CONFIG_CRYPTO_PCBC=m
-CONFIG_CRYPTO_XTS=m
-CONFIG_CRYPTO_KEYWRAP=m
-
-#
-# Hash modes
-#
-CONFIG_CRYPTO_CMAC=m
-CONFIG_CRYPTO_HMAC=m
-CONFIG_CRYPTO_XCBC=m
-CONFIG_CRYPTO_VMAC=m
-
-#
-# Digest
-#
-CONFIG_CRYPTO_CRC32C=m
-CONFIG_CRYPTO_CRC32C_INTEL=m
-CONFIG_CRYPTO_CRC32=m
-CONFIG_CRYPTO_CRC32_PCLMUL=m
-CONFIG_CRYPTO_CRCT10DIF=y
-CONFIG_CRYPTO_CRCT10DIF_PCLMUL=m
-CONFIG_CRYPTO_GHASH=m
-CONFIG_CRYPTO_POLY1305=m
-CONFIG_CRYPTO_POLY1305_X86_64=m
-CONFIG_CRYPTO_MD4=m
-CONFIG_CRYPTO_MD5=y
-CONFIG_CRYPTO_MICHAEL_MIC=m
-CONFIG_CRYPTO_RMD128=m
-CONFIG_CRYPTO_RMD160=m
-CONFIG_CRYPTO_RMD256=m
-CONFIG_CRYPTO_RMD320=m
-CONFIG_CRYPTO_SHA1=m
-CONFIG_CRYPTO_SHA1_SSSE3=m
-CONFIG_CRYPTO_SHA256_SSSE3=m
-CONFIG_CRYPTO_SHA512_SSSE3=m
-CONFIG_CRYPTO_SHA1_MB=m
-CONFIG_CRYPTO_SHA256_MB=m
-CONFIG_CRYPTO_SHA512_MB=m
-CONFIG_CRYPTO_SHA256=m
-CONFIG_CRYPTO_SHA512=m
-CONFIG_CRYPTO_SHA3=m
-CONFIG_CRYPTO_TGR192=m
-CONFIG_CRYPTO_WP512=m
-CONFIG_CRYPTO_GHASH_CLMUL_NI_INTEL=m
-
-#
-# Ciphers
-#
-CONFIG_CRYPTO_AES=y
-CONFIG_CRYPTO_AES_X86_64=m
-CONFIG_CRYPTO_AES_NI_INTEL=m
-CONFIG_CRYPTO_ANUBIS=m
-CONFIG_CRYPTO_ARC4=m
-CONFIG_CRYPTO_BLOWFISH=m
-CONFIG_CRYPTO_BLOWFISH_COMMON=m
-CONFIG_CRYPTO_BLOWFISH_X86_64=m
-CONFIG_CRYPTO_CAMELLIA=m
-CONFIG_CRYPTO_CAMELLIA_X86_64=m
-CONFIG_CRYPTO_CAMELLIA_AESNI_AVX_X86_64=m
-CONFIG_CRYPTO_CAMELLIA_AESNI_AVX2_X86_64=m
-CONFIG_CRYPTO_CAST_COMMON=m
-CONFIG_CRYPTO_CAST5=m
-CONFIG_CRYPTO_CAST5_AVX_X86_64=m
-CONFIG_CRYPTO_CAST6=m
-CONFIG_CRYPTO_CAST6_AVX_X86_64=m
-CONFIG_CRYPTO_DES=m
-CONFIG_CRYPTO_DES3_EDE_X86_64=m
-CONFIG_CRYPTO_FCRYPT=m
-CONFIG_CRYPTO_KHAZAD=m
-CONFIG_CRYPTO_SALSA20=m
-CONFIG_CRYPTO_SALSA20_X86_64=m
-CONFIG_CRYPTO_CHACHA20=m
-CONFIG_CRYPTO_CHACHA20_X86_64=m
-CONFIG_CRYPTO_SEED=m
-CONFIG_CRYPTO_SERPENT=m
-CONFIG_CRYPTO_SERPENT_SSE2_X86_64=m
-CONFIG_CRYPTO_SERPENT_AVX_X86_64=m
-CONFIG_CRYPTO_SERPENT_AVX2_X86_64=m
-CONFIG_CRYPTO_TEA=m
-CONFIG_CRYPTO_TWOFISH=m
-CONFIG_CRYPTO_TWOFISH_COMMON=m
-CONFIG_CRYPTO_TWOFISH_X86_64=m
-CONFIG_CRYPTO_TWOFISH_X86_64_3WAY=m
-CONFIG_CRYPTO_TWOFISH_AVX_X86_64=m
-
-#
-# Compression
-#
-CONFIG_CRYPTO_DEFLATE=m
-CONFIG_CRYPTO_LZO=y
-CONFIG_CRYPTO_842=m
-CONFIG_CRYPTO_LZ4=m
-CONFIG_CRYPTO_LZ4HC=m
-
-#
-# Random Number Generation
-#
-CONFIG_CRYPTO_ANSI_CPRNG=m
-CONFIG_CRYPTO_DRBG_MENU=m
-CONFIG_CRYPTO_DRBG_HMAC=y
-CONFIG_CRYPTO_DRBG_HASH=y
-CONFIG_CRYPTO_DRBG_CTR=y
-CONFIG_CRYPTO_DRBG=m
-CONFIG_CRYPTO_JITTERENTROPY=m
-CONFIG_CRYPTO_USER_API=m
-CONFIG_CRYPTO_USER_API_HASH=m
-CONFIG_CRYPTO_USER_API_SKCIPHER=m
-CONFIG_CRYPTO_USER_API_RNG=m
-CONFIG_CRYPTO_USER_API_AEAD=m
-CONFIG_CRYPTO_HASH_INFO=y
-CONFIG_CRYPTO_HW=y
-CONFIG_CRYPTO_DEV_PADLOCK=m
-CONFIG_CRYPTO_DEV_PADLOCK_AES=m
-CONFIG_CRYPTO_DEV_PADLOCK_SHA=m
-CONFIG_CRYPTO_DEV_CCP=y
-CONFIG_CRYPTO_DEV_CCP_DD=m
-CONFIG_CRYPTO_DEV_CCP_CRYPTO=m
-CONFIG_CRYPTO_DEV_QAT=m
-CONFIG_CRYPTO_DEV_QAT_DH895xCC=m
-CONFIG_CRYPTO_DEV_QAT_C3XXX=m
-CONFIG_CRYPTO_DEV_QAT_C62X=m
-CONFIG_CRYPTO_DEV_QAT_DH895xCCVF=m
-CONFIG_CRYPTO_DEV_QAT_C3XXXVF=m
-CONFIG_CRYPTO_DEV_QAT_C62XVF=m
-CONFIG_CRYPTO_DEV_CHELSIO=m
-CONFIG_ASYMMETRIC_KEY_TYPE=y
-CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE=m
-CONFIG_X509_CERTIFICATE_PARSER=m
-CONFIG_PKCS7_MESSAGE_PARSER=m
-
-#
-# Certificates for signature checking
-#
-CONFIG_SYSTEM_TRUSTED_KEYRING=y
-CONFIG_SYSTEM_TRUSTED_KEYS=""
-# CONFIG_SYSTEM_EXTRA_CERTIFICATE is not set
-CONFIG_SECONDARY_TRUSTED_KEYRING=y
-CONFIG_HAVE_KVM=y
-CONFIG_HAVE_KVM_IRQCHIP=y
-CONFIG_HAVE_KVM_IRQFD=y
-CONFIG_HAVE_KVM_IRQ_ROUTING=y
-CONFIG_HAVE_KVM_EVENTFD=y
-CONFIG_KVM_MMIO=y
-CONFIG_KVM_ASYNC_PF=y
-CONFIG_HAVE_KVM_MSI=y
-CONFIG_HAVE_KVM_CPU_RELAX_INTERCEPT=y
-CONFIG_KVM_VFIO=y
-CONFIG_KVM_GENERIC_DIRTYLOG_READ_PROTECT=y
-CONFIG_KVM_COMPAT=y
-CONFIG_HAVE_KVM_IRQ_BYPASS=y
-CONFIG_VIRTUALIZATION=y
-CONFIG_KVM=m
-CONFIG_KVM_INTEL=m
-CONFIG_KVM_AMD=m
-CONFIG_KVM_MMU_AUDIT=y
-CONFIG_KVM_DEVICE_ASSIGNMENT=y
-CONFIG_VHOST_NET=m
-CONFIG_VHOST_SCSI=m
-CONFIG_VHOST_VSOCK=m
-CONFIG_VHOST=m
-# CONFIG_VHOST_CROSS_ENDIAN_LEGACY is not set
-CONFIG_BINARY_PRINTF=y
-
-#
-# Library routines
-#
-CONFIG_RAID6_PQ=m
-CONFIG_BITREVERSE=y
-# CONFIG_HAVE_ARCH_BITREVERSE is not set
-CONFIG_RATIONAL=y
-CONFIG_GENERIC_STRNCPY_FROM_USER=y
-CONFIG_GENERIC_STRNLEN_USER=y
-CONFIG_GENERIC_NET_UTILS=y
-CONFIG_GENERIC_FIND_FIRST_BIT=y
-CONFIG_GENERIC_PCI_IOMAP=y
-CONFIG_GENERIC_IOMAP=y
-CONFIG_GENERIC_IO=y
-CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y
-CONFIG_ARCH_HAS_FAST_MULTIPLIER=y
-CONFIG_CRC_CCITT=y
-CONFIG_CRC16=m
-CONFIG_CRC_T10DIF=y
-CONFIG_CRC_ITU_T=m
-CONFIG_CRC32=y
-# CONFIG_CRC32_SELFTEST is not set
-CONFIG_CRC32_SLICEBY8=y
-# CONFIG_CRC32_SLICEBY4 is not set
-# CONFIG_CRC32_SARWATE is not set
-# CONFIG_CRC32_BIT is not set
-CONFIG_CRC7=m
-CONFIG_LIBCRC32C=m
-CONFIG_CRC8=m
-# CONFIG_AUDIT_ARCH_COMPAT_GENERIC is not set
-# CONFIG_RANDOM32_SELFTEST is not set
-CONFIG_842_COMPRESS=m
-CONFIG_842_DECOMPRESS=m
-CONFIG_ZLIB_INFLATE=y
-CONFIG_ZLIB_DEFLATE=y
-CONFIG_LZO_COMPRESS=y
-CONFIG_LZO_DECOMPRESS=y
-CONFIG_LZ4_COMPRESS=m
-CONFIG_LZ4HC_COMPRESS=m
-CONFIG_LZ4_DECOMPRESS=y
-CONFIG_XZ_DEC=y
-CONFIG_XZ_DEC_X86=y
-CONFIG_XZ_DEC_POWERPC=y
-CONFIG_XZ_DEC_IA64=y
-CONFIG_XZ_DEC_ARM=y
-CONFIG_XZ_DEC_ARMTHUMB=y
-CONFIG_XZ_DEC_SPARC=y
-CONFIG_XZ_DEC_BCJ=y
-# CONFIG_XZ_DEC_TEST is not set
-CONFIG_DECOMPRESS_GZIP=y
-CONFIG_DECOMPRESS_BZIP2=y
-CONFIG_DECOMPRESS_LZMA=y
-CONFIG_DECOMPRESS_XZ=y
-CONFIG_DECOMPRESS_LZO=y
-CONFIG_DECOMPRESS_LZ4=y
-CONFIG_GENERIC_ALLOCATOR=y
-CONFIG_REED_SOLOMON=y
-CONFIG_REED_SOLOMON_ENC8=y
-CONFIG_REED_SOLOMON_DEC8=y
-CONFIG_TEXTSEARCH=y
-CONFIG_TEXTSEARCH_KMP=m
-CONFIG_TEXTSEARCH_BM=m
-CONFIG_TEXTSEARCH_FSM=m
-CONFIG_BTREE=y
-CONFIG_INTERVAL_TREE=y
-CONFIG_RADIX_TREE_MULTIORDER=y
-CONFIG_ASSOCIATIVE_ARRAY=y
-CONFIG_HAS_IOMEM=y
-CONFIG_HAS_IOPORT_MAP=y
-CONFIG_HAS_DMA=y
-CONFIG_CHECK_SIGNATURE=y
-CONFIG_CPU_RMAP=y
-CONFIG_DQL=y
-CONFIG_GLOB=y
-# CONFIG_GLOB_SELFTEST is not set
-CONFIG_NLATTR=y
-CONFIG_LRU_CACHE=m
-CONFIG_CLZ_TAB=y
-CONFIG_CORDIC=m
-CONFIG_DDR=y
-CONFIG_IRQ_POLL=y
-CONFIG_MPILIB=y
-CONFIG_OID_REGISTRY=m
-CONFIG_UCS2_STRING=y
-CONFIG_FONT_SUPPORT=y
-CONFIG_FONTS=y
-# CONFIG_FONT_8x8 is not set
-CONFIG_FONT_8x16=y
-# CONFIG_FONT_6x11 is not set
-# CONFIG_FONT_7x14 is not set
-# CONFIG_FONT_PEARL_8x8 is not set
-# CONFIG_FONT_ACORN_8x8 is not set
-# CONFIG_FONT_MINI_4x6 is not set
-# CONFIG_FONT_6x10 is not set
-# CONFIG_FONT_SUN8x16 is not set
-# CONFIG_FONT_SUN12x22 is not set
-# CONFIG_FONT_10x18 is not set
-CONFIG_FONT_AUTOSELECT=y
-# CONFIG_SG_SPLIT is not set
-CONFIG_SG_POOL=y
-CONFIG_ARCH_HAS_SG_CHAIN=y
-CONFIG_ARCH_HAS_PMEM_API=y
-CONFIG_ARCH_HAS_MMIO_FLUSH=y
-CONFIG_SBITMAP=y
diff --git a/abs/core/linux/linux.install.pkg b/abs/core/linux/linux.install.pkg
index b129b47..c4ca093 100644
--- a/abs/core/linux/linux.install.pkg
+++ b/abs/core/linux/linux.install.pkg
@@ -2,7 +2,7 @@
# arg 2: the old package version
KERNEL_NAME=
-KERNEL_VERSION=4.9.31-1-ARCH
+KERNEL_VERSION=4.9.64-1-ARCH
post_install () {
# updating module dependencies
diff --git a/abs/core/mythdb-initial/PKGBUILD b/abs/core/mythdb-initial/PKGBUILD
index e7052f4..6d014bc 100755
--- a/abs/core/mythdb-initial/PKGBUILD
+++ b/abs/core/mythdb-initial/PKGBUILD
@@ -1,6 +1,6 @@
pkgname=mythdb-initial
-pkgver=8.4
-pkgrel=5
+pkgver=8.5
+pkgrel=4
pkgdesc="setup the initial mythtv database for linhes"
url=""
license=()
@@ -11,7 +11,7 @@ replaces=()
backup=()
install=mythdb.install
source=(mc.sql permissions.sql custom.sql )
-arch=('i686' 'x86_64')
+arch=('x86_64')
package() {
cd $srcdir
mkdir -p $pkgdir/data/database
@@ -20,6 +20,6 @@ package() {
cp $srcdir/custom.sql $pkgdir/data/database/custom.sql
}
-md5sums=('5f3492d396142d394c095749363fd03d'
+md5sums=('fb6be5fd1f77fd4211e9727061e2dca5'
'ad0e57ac5e7c3677808a670e16634bba'
- '1701d4b347aebe6cee63408c90cd7a74')
+ '9246104782d867342c63510d3c77f573')
diff --git a/abs/core/mythdb-initial/custom.sql b/abs/core/mythdb-initial/custom.sql
index 7c97589..a666a2f 100644
--- a/abs/core/mythdb-initial/custom.sql
+++ b/abs/core/mythdb-initial/custom.sql
@@ -32,18 +32,31 @@ INSERT INTO `settings` (`value`, `data`, `hostname`) VALUES
-- Clear out old values because mysql is mysql
DELETE from settings where value in
-('WOLbackendReconnectWaitTime','AutoStartFrontend',
- 'AllowQuitShutdown','BackendServerIP'
- 'BackendServerIP6','HaltCommand'
- 'RebootCommand','Theme'
+('WOLbackendReconnectWaitTime',
+ 'MasterServerName',
+ 'StorageScheduler',
+ 'AutoStartFrontend',
+ 'AllowQuitShutdown',
+ 'AllowConnFromAll',
+ 'ListenOnAllIps',
+ 'BackendServerIP',
+ 'BackendServerIP6',
+ 'HaltCommand',
+ 'RebootCommand',
+ 'Theme',
+ 'ThemePainter',
'LircSocket');
INSERT INTO `settings` (`value`, `data`, `hostname`) VALUES
- ('WOLbackendReconnectWaitTime','5',NULL);
+ ('WOLbackendReconnectWaitTime','5',NULL),
+ ('MasterServerName','apheleia',NULL),
+ ('StorageScheduler','Combination',NULL);
INSERT INTO `settings` (`value`, `data`, `hostname`) VALUES
('AutoStartFrontend' ,'1' , 'apheleia'),
('AllowQuitShutdown' ,'4' , 'apheleia'),
+ ('AllowConnFromAll' ,'0' , 'apheleia'),
+ ('ListenOnAllIps' ,'0' , 'apheleia'),
('BackendServerIP' ,'127.0.0.1' , 'apheleia'),
('BackendServerIP6' ,'::1' , 'apheleia'),
('HaltCommand' ,'sudo /sbin/halt' , 'apheleia'),
@@ -67,7 +80,6 @@ INSERT INTO `settings` (`value`, `data`, `hostname`) VALUES
-- MythVideo old local dir..replaced by storage groups, but should set values to null
-
INSERT INTO `settings` (`value`, `data`, `hostname`) VALUES
('ScreenShotPath' ,'' , 'apheleia'),
('VideoStartupDir' ,'' , 'apheleia'),
@@ -106,7 +118,9 @@ INSERT INTO `settings` (`value`, `data`, `hostname`) VALUES
-- Clear out old values because mysql is mysql
DELETE from settings where value in
-('OverrideExitMenu','NetworkControlEnabled''SecurityPin',
+('OverrideExitMenu',
+ 'NetworkControlEnabled',
+ 'SecurityPin',
'BackendStopCommand',
'BackendStartCommand');
@@ -171,7 +185,7 @@ INSERT INTO `settings` (`value`, `data`, `hostname`) VALUES
('HOSTOSsize', '5' , 'apheleia'),
('HOSTrootfstype', 'ext4' , 'apheleia'),
('HOSTHOMEsize', '5' , 'apheleia'),
-('HOSTDatabasesize','2' , 'apheleia'),
+('HOSTDatabasesize','3' , 'apheleia'),
('HostUseSWAP', '1' , 'apheleia'),
('HostUseALLdata', '1' , 'apheleia'),
('HOSTdatafstype', 'xfs' , 'apheleia');
diff --git a/abs/core/mythdb-initial/mc.sql b/abs/core/mythdb-initial/mc.sql
index 8d683f0..c0343f0 100644
--- a/abs/core/mythdb-initial/mc.sql
+++ b/abs/core/mythdb-initial/mc.sql
@@ -1,8 +1,8 @@
--- MySQL dump 10.13 Distrib 5.6.28, for Linux (x86_64)
+-- MySQL dump 10.13 Distrib 5.6.35, for Linux (x86_64)
--
-- Host: localhost Database: mythconverg
-- ------------------------------------------------------
--- Server version 5.6.28
+-- Server version 5.6.35
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
@@ -88,6 +88,8 @@ CREATE TABLE `capturecard` (
`quicktune` tinyint(4) NOT NULL DEFAULT '0',
`schedorder` int(10) unsigned NOT NULL DEFAULT '1',
`livetvorder` int(10) unsigned NOT NULL DEFAULT '1',
+ `reclimit` int(10) unsigned NOT NULL DEFAULT '1',
+ `schedgroup` tinyint(1) NOT NULL DEFAULT '0',
PRIMARY KEY (`cardid`)
) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;
/*!40101 SET character_set_client = @saved_cs_client */;
@@ -870,7 +872,7 @@ CREATE TABLE `housekeeping` (
LOCK TABLES `housekeeping` WRITE;
/*!40000 ALTER TABLE `housekeeping` DISABLE KEYS */;
-INSERT INTO `housekeeping` VALUES ('BackupDB',NULL,'2016-04-21 18:49:32','2016-04-21 18:49:32');
+INSERT INTO `housekeeping` VALUES ('BackupDB',NULL,'2017-09-18 03:10:11',NULL);
/*!40000 ALTER TABLE `housekeeping` ENABLE KEYS */;
UNLOCK TABLES;
@@ -1665,10 +1667,10 @@ CREATE TABLE `record` (
`recordid` int(10) unsigned NOT NULL AUTO_INCREMENT,
`type` int(10) unsigned NOT NULL DEFAULT '0',
`chanid` int(10) unsigned DEFAULT NULL,
- `starttime` time NOT NULL DEFAULT '00:00:00',
- `startdate` date NOT NULL DEFAULT '0000-00-00',
- `endtime` time NOT NULL DEFAULT '00:00:00',
- `enddate` date NOT NULL DEFAULT '0000-00-00',
+ `starttime` time DEFAULT NULL,
+ `startdate` date DEFAULT NULL,
+ `endtime` time DEFAULT NULL,
+ `enddate` date DEFAULT NULL,
`title` varchar(128) NOT NULL DEFAULT '',
`subtitle` varchar(128) NOT NULL DEFAULT '',
`description` varchar(16000) NOT NULL DEFAULT '',
@@ -2203,7 +2205,7 @@ CREATE TABLE `settings` (
LOCK TABLES `settings` WRITE;
/*!40000 ALTER TABLE `settings` DISABLE KEYS */;
-INSERT INTO `settings` VALUES ('mythfilldatabaseLastRunStart','',NULL),('mythfilldatabaseLastRunEnd','',NULL),('mythfilldatabaseLastRunStatus','',NULL),('DataDirectMessage','',NULL),('HaveRepeats','0',NULL),('DBSchemaVer','1344',NULL),('WebBrowserZoomLevel','1','apheleia'),('Language','en_US',NULL),('Country','US',NULL),('FreqTable','us-bcast',NULL),('ISO639Language0','eng',NULL),('ISO639Language1','eng',NULL),('TVFormat','NTSC',NULL),('VbiFormat','NTSC Closed Caption',NULL),('DateFormat','ddd MMM d yyyy','apheleia'),('MythArchiveDateFormat','%a %b %d %Y','apheleia'),('MythArchiveTimeFormat','%I:%M %p','apheleia'),('MythArchiveVideoFormat','NTSC','apheleia'),('ShortDateFormat','M/d','apheleia'),('TimeFormat','h:mm AP','apheleia'),('BackupDBLastRunStart','2016-04-21 18:49:31',NULL),('BackupDBLastRunEnd','2016-04-21 18:49:32',NULL),('HardwareProfileEnabled','0',NULL),('BackendServerIP','127.0.0.1','apheleia'),('BackendServerIP6','::1','apheleia'),('AllowLinkLocal','1','apheleia'),('BackendServerPort','6543','apheleia'),('BackendStatusPort','6544','apheleia'),('MasterServerIP','127.0.0.1',NULL),('MasterServerPort','6543',NULL),('MasterBackendOverride','1',NULL),('DeletesFollowLinks','0',NULL),('TruncateDeletesSlowly','0','apheleia'),('HDRingbufferSize','9400',NULL),('StorageScheduler','BalancedFreeSpace',NULL),('UPnP/WMPSource','0',NULL),('DisableAutomaticBackup','0',NULL),('DisableFirewireReset','0','apheleia'),('EITTransportTimeout','5',NULL),('EITCrawIdleStart','60',NULL),('blockSDWUwithoutClient','1',NULL),('idleWaitForRecordingTime','15',NULL),('StartupSecsBeforeRecording','120',NULL),('WakeupTimeFormat','hh:mm yyyy-MM-dd',NULL),('ServerHaltCommand','sudo /sbin/halt -p',NULL),('WOLbackendConnectRetry','5',NULL),('BackendStopCommand','killall mythbackend',NULL),('BackendStartCommand','mythbackend',NULL),('JobQueueMaxSimultaneousJobs','1','apheleia'),('JobQueueCheckFrequency','60','apheleia'),('JobQueueWindowStart','00:00','apheleia'),('JobQueueWindowEnd','23:59','apheleia'),('JobQueueCPU','0','apheleia'),('JobAllowMetadata','1','apheleia'),('JobAllowCommFlag','1','apheleia'),('JobAllowTranscode','1','apheleia'),('JobAllowUserJob1','0','apheleia'),('JobAllowUserJob2','0','apheleia'),('JobAllowUserJob3','0','apheleia'),('JobAllowUserJob4','0','apheleia'),('JobsRunOnRecordHost','0',NULL),('AutoCommflagWhileRecording','0',NULL),('JobQueueCommFlagCommand','mythcommflag',NULL),('JobQueueTranscodeCommand','mythtranscode',NULL),('AutoTranscodeBeforeAutoCommflag','0',NULL),('SaveTranscoding','0',NULL),('UserJobDesc1','User Job #1',NULL),('UserJobDesc2','User Job #2',NULL),('UserJobDesc3','User Job #3',NULL),('UserJobDesc4','User Job #4',NULL),('MythFillEnabled','1',NULL),('MythFillDatabasePath','mythfilldatabase',NULL),('MythFillMaxHour','23',NULL),('MythFillGrabberSuggestsTime','1',NULL),('DateFormat','ddd MMM d yyyy','apheleia'),('MythArchiveDateFormat','%a %b %d %Y','apheleia'),('MythArchiveTimeFormat','%I:%M %p','apheleia'),('MythArchiveVideoFormat','NTSC','apheleia'),('ShortDateFormat','M/d','apheleia'),('TimeFormat','h:mm AP','apheleia'),('WebBrowserZoomLevel','1','apheleia'),('ImageStorageGroupName','Images',NULL),('ImageSortOrder','0',NULL),('ImageShowHiddenFiles','0',NULL),('ImageSlideShowTime','3500',NULL),('ImageTransitionType','1',NULL),('ImageTransitionTime','1000',NULL);
+INSERT INTO `settings` VALUES ('mythfilldatabaseLastRunStart','',NULL),('mythfilldatabaseLastRunEnd','',NULL),('mythfilldatabaseLastRunStatus','',NULL),('DataDirectMessage','',NULL),('HaveRepeats','0',NULL),('DBSchemaVer','1348',NULL),('Language','en_US',NULL),('Country','US',NULL),('FreqTable','us-bcast',NULL),('ISO639Language0','eng',NULL),('ISO639Language1','eng',NULL),('TVFormat','NTSC',NULL),('VbiFormat','NTSC Closed Caption',NULL),('BackupDBLastRunStart','2017-09-18 03:10:10',NULL),('BackupDBLastRunEnd','2017-09-18 03:10:11',NULL),('HardwareProfileEnabled','0',NULL),('BackendServerIP','127.0.0.1','apheleia'),('BackendServerIP6','::1','apheleia'),('AllowLinkLocal','1','apheleia'),('BackendServerPort','6543','apheleia'),('BackendStatusPort','6544','apheleia'),('MasterServerIP','127.0.0.1',NULL),('MasterServerPort','6543',NULL),('MasterBackendOverride','1',NULL),('DeletesFollowLinks','0',NULL),('TruncateDeletesSlowly','0','apheleia'),('HDRingbufferSize','9400',NULL),('StorageScheduler','BalancedFreeSpace',NULL),('UPnP/WMPSource','0',NULL),('DisableAutomaticBackup','0',NULL),('DisableFirewireReset','0','apheleia'),('EITTransportTimeout','5',NULL),('EITCrawIdleStart','60',NULL),('blockSDWUwithoutClient','1',NULL),('idleWaitForRecordingTime','15',NULL),('StartupSecsBeforeRecording','120',NULL),('WakeupTimeFormat','hh:mm yyyy-MM-dd',NULL),('ServerHaltCommand','sudo /sbin/halt -p',NULL),('WOLbackendConnectRetry','5',NULL),('BackendStopCommand','killall mythbackend',NULL),('BackendStartCommand','mythbackend',NULL),('JobQueueMaxSimultaneousJobs','1','apheleia'),('JobQueueCheckFrequency','60','apheleia'),('JobQueueWindowStart','00:00','apheleia'),('JobQueueWindowEnd','23:59','apheleia'),('JobQueueCPU','0','apheleia'),('JobAllowMetadata','1','apheleia'),('JobAllowCommFlag','1','apheleia'),('JobAllowTranscode','1','apheleia'),('JobAllowUserJob1','0','apheleia'),('JobAllowUserJob2','0','apheleia'),('JobAllowUserJob3','0','apheleia'),('JobAllowUserJob4','0','apheleia'),('JobsRunOnRecordHost','0',NULL),('AutoCommflagWhileRecording','0',NULL),('JobQueueCommFlagCommand','mythcommflag',NULL),('JobQueueTranscodeCommand','mythtranscode',NULL),('AutoTranscodeBeforeAutoCommflag','0',NULL),('SaveTranscoding','0',NULL),('UserJobDesc1','User Job #1',NULL),('UserJobDesc2','User Job #2',NULL),('UserJobDesc3','User Job #3',NULL),('UserJobDesc4','User Job #4',NULL),('MythFillEnabled','1',NULL),('MythFillDatabasePath','mythfilldatabase',NULL),('MythFillMaxHour','23',NULL),('MythFillGrabberSuggestsTime','1',NULL),('DateFormat','ddd MMM d yyyy','apheleia'),('MythArchiveDateFormat','%a %b %d %Y','apheleia'),('MythArchiveTimeFormat','%I:%M %p','apheleia'),('MythArchiveVideoFormat','NTSC','apheleia'),('ShortDateFormat','M/d','apheleia'),('TimeFormat','h:mm AP','apheleia'),('WebBrowserZoomLevel','1','apheleia'),('ImageStorageGroupName','Images',NULL),('ImageSortOrder','0',NULL),('ImageShowHiddenFiles','0',NULL),('ImageSlideShowTime','3500',NULL),('ImageTransitionType','1',NULL),('ImageTransitionTime','1000',NULL),('MasterServerName','apheleia',NULL),('BackendServerAddr','127.0.0.1','apheleia');
/*!40000 ALTER TABLE `settings` ENABLE KEYS */;
UNLOCK TABLES;
@@ -2784,4 +2786,4 @@ UNLOCK TABLES;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
--- Dump completed on 2016-04-21 14:50:08
+-- Dump completed on 2017-09-17 22:11:31
diff --git a/abs/core/mythdb-initial/mythdb.install b/abs/core/mythdb-initial/mythdb.install
index be4e64f..1302d30 100755
--- a/abs/core/mythdb-initial/mythdb.install
+++ b/abs/core/mythdb-initial/mythdb.install
@@ -1,30 +1,28 @@
mydate=`date +%m-%d-%y`
HOST=`hostname`
post_install() {
- mysqldump mythconverg >/data/database/mythconverg.${mydate}.sql
- #load timezone info for mythtv .26
- mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root mysql
- mysql -u root -e 'drop database mythconverg;'
+ mysqldump mythconverg >/data/database/mythconverg.${mydate}.sql
+ #load timezone info for mythtv .26
+ mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root mysql
+ mysql -u root -e 'drop database mythconverg;'
mysql -u root -e 'create database mythconverg;'
- echo installing the default database
- if [ $HOST = 'apheleia' ]
- then
- cp /data/database/mc.sql.initial /data/database/mc.sql.fixed
- cp /data/database/permissions.sql /data/database/permissions.sql.fixed
- cp /data/database/custom.sql /data/database/custom.sql.fixed
- else
- sed -e "s/apheleia/$HOST/g" /data/database/mc.sql.initial > /data/database/mc.sql.fixed
- sed -e "s/apheleia/$HOST/g" /data/database/permissions.sql > /data/database/permissions.sql.fixed
- sed -e "s/apheleia/$HOST/g" /data/database/custom.sql > /data/database/custom.sql.fixed
-
+ echo installing the default database
+ if [ $HOST = 'apheleia' ]
+ then
+ cp /data/database/mc.sql.initial /data/database/mc.sql.fixed
+ cp /data/database/permissions.sql /data/database/permissions.sql.fixed
+ cp /data/database/custom.sql /data/database/custom.sql.fixed
+ else
+ sed -e "s/apheleia/$HOST/g" /data/database/mc.sql.initial > /data/database/mc.sql.fixed
+ sed -e "s/apheleia/$HOST/g" /data/database/permissions.sql > /data/database/permissions.sql.fixed
+ sed -e "s/apheleia/$HOST/g" /data/database/custom.sql > /data/database/custom.sql.fixed
fi
-
MC="/data/database/mc.sql.fixed"
- mysql mythconverg < $MC 2>/dev/null
- mysql < /data/database/permissions.sql.fixed 2>/dev/null
- mysql mythconverg < /data/database/custom.sql.fixed 2>/dev/null
+ mysql mythconverg < $MC 2>/dev/null
+ mysql < /data/database/permissions.sql.fixed 2>/dev/null
+ mysql mythconverg < /data/database/custom.sql.fixed 2>/dev/null
# rm /data/database/mc.sql.initial
# rm /data/database/custom.sql.fixed
diff --git a/abs/core/mythinstall/MythVantage-app/mythinstall/mythinstall.pro b/abs/core/mythinstall/MythVantage-app/mythinstall/mythinstall.pro
index 8f069e6..f517c43 100755
--- a/abs/core/mythinstall/MythVantage-app/mythinstall/mythinstall.pro
+++ b/abs/core/mythinstall/MythVantage-app/mythinstall/mythinstall.pro
@@ -1,28 +1,22 @@
#This is the path to the mythtv src
-
-
PREFIX = /usr/include/mythtv
-LIBVERSION = 0.28
-VERSION = 0.28.0
-
-
-
+LIBVERSION = 29
+VERSION = 29.0
-INCLUDEPATH += $$PREFIX/libmythui $$PREFIX $$PREFIX/libmyth
+INCLUDEPATH += $$PREFIX
+INCLUDEPATH += $$PREFIX/libmyth
+INCLUDEPATH += $$PREFIX/libmythui
+INCLUDEPATH += $$PREFIX/libmythservicecontracts
LIBS += -L /usr/local/lib
-
-
LIBS += -lmythtv-$$LIBVERSION
#LIBS += -lmythdb-$$LIBVERSION
LIBS += -lmythui-$$LIBVERSION
LIBS += -lmyth-$$LIBVERSION
LIBS+= -lmythbase-$$LIBVERSION
-
-
mingw {
LIBS += -lpthread
CONFIG += console
@@ -30,6 +24,7 @@ mingw {
TEMPLATE = app
CONFIG += thread
+CONFIG += c++11
TARGET = mythinstall
target.path = $${PREFIX}/bin
@@ -50,4 +45,3 @@ HEADERS += installdialog.h commandlineparser.h installsettings.h settemplate.h i
SOURCES += main.cpp commandlineparser.cpp installdialog.cpp installsettings.cpp settemplate.cpp installationtype.cpp autocard.cpp xorgsettings.cpp password_manage.cpp misc_settings.cpp infrared.cpp compat-mv.cpp supplemental.cpp vnc.cpp fileshare.cpp
QT += sql xml network widgets
-
diff --git a/abs/core/mythinstall/PKGBUILD b/abs/core/mythinstall/PKGBUILD
index 93a8f00..73c44fe 100644
--- a/abs/core/mythinstall/PKGBUILD
+++ b/abs/core/mythinstall/PKGBUILD
@@ -1,11 +1,11 @@
# Maintainer: Jams
pkgname=mythinstall
-pkgver=8.4.3
+pkgver=8.5
pkgrel=2
pkgdesc="LinHES installer/systemconfig GUI."
arch=('i686' 'x86_64')
-depends=('mythtv>=0.28')
-makedepends=('mythtv>=0.28')
+depends=('mythtv>=29')
+makedepends=('mythtv>=29')
logofiles=`ls logo*.png`
source=('install-ui.xml' $logofiles)
diff --git a/abs/core/mythtv/stable-0.28/git_src/git_hash b/abs/core/mythtv/stable-0.28/git_src/git_hash
index 8b261e1..2d88c06 100644
--- a/abs/core/mythtv/stable-0.28/git_src/git_hash
+++ b/abs/core/mythtv/stable-0.28/git_src/git_hash
@@ -1 +1 @@
-b3480d043721848bda06d841eca09a6a2149c7e1
+ebd69ec33b67df52628eedcb1dca647306cfc887
diff --git a/abs/core/mythtv/stable-0.28/git_src/git_hash_web b/abs/core/mythtv/stable-0.28/git_src/git_hash_web
index 3909319..048a9f6 100644
--- a/abs/core/mythtv/stable-0.28/git_src/git_hash_web
+++ b/abs/core/mythtv/stable-0.28/git_src/git_hash_web
@@ -1 +1 @@
-fdfca9075fda339dc30b65a1b62ed181ee6933dc
+ed8d6a1c9621c612fb3e69d85c78614cdf0996fa
diff --git a/abs/core/mythtv/stable-0.28/mythplugins/PKGBUILD b/abs/core/mythtv/stable-0.28/mythplugins/PKGBUILD
index 54ebf17..4b9d0bb 100644
--- a/abs/core/mythtv/stable-0.28/mythplugins/PKGBUILD
+++ b/abs/core/mythtv/stable-0.28/mythplugins/PKGBUILD
@@ -9,7 +9,7 @@ pkgname=('mytharchive'
'mythweather'
'mythzoneminder')
pkgver=0.28.1
-pkgrel=7
+pkgrel=10
arch=('i686' 'x86_64')
url="http://www.mythtv.org"
license=('GPL')
@@ -90,7 +90,7 @@ package_mythmusic() {
package_mythnetvision() {
pkgdesc="MythNetvision plugin for MythTV"
- depends=("mythtv>=${pkgver}" 'python-pycurl' 'python-oauth'
+ depends=("mythtv>=${pkgver}" 'python-pycurl' 'python-oauth'
'python2-lxml' 'python2')
cd "${srcdir}/${_gitname}/${pkgbase}/mythnetvision"
make INSTALL_ROOT="${pkgdir}" install || return 1
diff --git a/abs/core/mythtv/stable-0.28/mythtv/PKGBUILD b/abs/core/mythtv/stable-0.28/mythtv/PKGBUILD
index 7af806e..1fac743 100644
--- a/abs/core/mythtv/stable-0.28/mythtv/PKGBUILD
+++ b/abs/core/mythtv/stable-0.28/mythtv/PKGBUILD
@@ -1,6 +1,6 @@
pkgname=mythtv
pkgver=0.28.1
-pkgrel=7
+pkgrel=10
commit_hash=`cat ../git_src/git_hash`
pkgdesc="A Homebrew PVR project $commit_hash"
arch=('i686' 'x86_64')
@@ -12,7 +12,8 @@ depends=('avahi' 'exiv2' 'faad2' 'fftw' 'glew' 'lame' 'libass' 'libavc1394' 'lib
'LinHES-system>=8.4-4' 'lirc-utils' 'mysql-clients' 'mysql-python'
'openssl' 'perl-date-manip' 'perl-dbd-mysql'
'perl-io-socket-inet6' 'perl-libwww' 'perl-math-round'
- 'perl-net-upnp' 'perl-soap-lite' 'perl-xml-sax' 'python2-pycurl'
+ 'perl-net-upnp' 'perl-soap-lite' 'perl-xml-sax' 'python2-future'
+ 'python-pycurl' 'python2-requests' 'python2-requests-cache'
'python2-lxml' 'qt5-script' 'qt5-webkit' 'sdl' 'taglib' 'unzip' 'urlgrabber'
'wget' 'xmltv')
makedepends=('mesa' 'mesa-libgl' 'yasm' 'x264' 'git' 'rsync' 'qt5-tools')
diff --git a/abs/core/mythtv/stable-0.28/mythweb/PKGBUILD b/abs/core/mythtv/stable-0.28/mythweb/PKGBUILD
index 6595f68..819c780 100644
--- a/abs/core/mythtv/stable-0.28/mythweb/PKGBUILD
+++ b/abs/core/mythtv/stable-0.28/mythweb/PKGBUILD
@@ -1,6 +1,6 @@
pkgname=mythweb
pkgver=0.28.1
-pkgrel=3
+pkgrel=4
commit_hash=`cat ../git_src/git_hash_web`
pkgdesc="Web interface for MythTV's backend, $commit_hash"
arch=('i686' 'x86_64')
diff --git a/abs/core/mythtv/stable-29/git_src/checkout_mythtv.sh b/abs/core/mythtv/stable-29/git_src/checkout_mythtv.sh
new file mode 100755
index 0000000..2ec818e
--- /dev/null
+++ b/abs/core/mythtv/stable-29/git_src/checkout_mythtv.sh
@@ -0,0 +1,40 @@
+#!/bin/bash
+#Quick script used to checkout the MythTV source
+#This source should be used build all mythplugins & main program
+
+_gitroot="https://github.com/MythTV/mythtv.git"
+_gitname="mythtv"
+_gitbranch="fixes/29"
+
+startdir=`pwd`
+
+#Set this to True, to update mythtv to the latest.
+#If not true then it will use the hash stored in git_hash
+_current="True"
+
+_checkoutHASH=`cat git_hash`
+
+if [ -d $_gitname ]
+then
+ cd $_gitname
+ git checkout $_gitbranch
+ git pull
+ echo "The local files are updated."
+ cd $startdir
+else
+ git clone -b $_gitbranch $_gitroot
+fi
+
+if [ -d $_gitname ]
+then
+ cd $_gitname
+ if [ $_current == True ]
+ then
+ git rev-parse HEAD > $startdir/git_hash
+ else
+ git checkout $_checkoutHASH
+ fi
+ cd mythtv
+ sh ./version.sh `pwd`
+fi
+echo "GIT checkout done or server timeout"
diff --git a/abs/core/mythtv/stable-29/git_src/checkout_mythweb.sh b/abs/core/mythtv/stable-29/git_src/checkout_mythweb.sh
new file mode 100755
index 0000000..1e8f5bf
--- /dev/null
+++ b/abs/core/mythtv/stable-29/git_src/checkout_mythweb.sh
@@ -0,0 +1,38 @@
+#!/bin/bash
+#Quick script used to checkout the Mythweb source
+#This source should be used build all mythplugins & main program
+
+_gitroot="https://github.com/MythTV/mythweb.git"
+_gitname="mythweb"
+_gitbranch="fixes/29"
+
+startdir=`pwd`
+
+#Set this to True, to update mythtv to the latest.
+#If not true then it will use the hash stored in git_hash
+_current="True"
+
+_checkoutHASH=`cat git_hash_web`
+
+if [ -d $_gitname ]
+then
+ cd $_gitname
+ git checkout $_gitbranch
+ git pull
+ echo "The local files are updated."
+ cd $startdir
+else
+ git clone -b $_gitbranch $_gitroot
+fi
+
+if [ -d $_gitname ]
+then
+ cd $_gitname
+ if [ $_current == True ]
+ then
+ git rev-parse HEAD > $startdir/git_hash_web
+ else
+ git checkout $_checkoutHASH
+ fi
+fi
+echo "GIT checkout done or server timeout"
diff --git a/abs/core/mythtv/stable-29/git_src/git_hash b/abs/core/mythtv/stable-29/git_src/git_hash
new file mode 100644
index 0000000..d869e90
--- /dev/null
+++ b/abs/core/mythtv/stable-29/git_src/git_hash
@@ -0,0 +1 @@
+39b2062c069e801c9f9c4b15d198e8ef72594f55
diff --git a/abs/core/mythtv/stable-29/git_src/git_hash_web b/abs/core/mythtv/stable-29/git_src/git_hash_web
new file mode 100644
index 0000000..5d42c24
--- /dev/null
+++ b/abs/core/mythtv/stable-29/git_src/git_hash_web
@@ -0,0 +1 @@
+6db62758ba7f06eb916a041292f50ec298cc01b0
diff --git a/abs/core/mythtv/stable-29/mythplugins/0317-0336-MythMusic-Fix-Playlist-copyTracks-and-removeAllTrack.patch b/abs/core/mythtv/stable-29/mythplugins/0317-0336-MythMusic-Fix-Playlist-copyTracks-and-removeAllTrack.patch
new file mode 100644
index 0000000..5c0f623
--- /dev/null
+++ b/abs/core/mythtv/stable-29/mythplugins/0317-0336-MythMusic-Fix-Playlist-copyTracks-and-removeAllTrack.patch
@@ -0,0 +1,50 @@
+From e7c80f43a3ec0fc2024f64e17d13461840429029 Mon Sep 17 00:00:00 2001
+From: Lawrence Rust <lvr@softsystem.co.uk>
+Date: Fri, 17 Jun 2016 18:40:37 +0100
+Subject: [PATCH 336/348] MythMusic: Fix Playlist::copyTracks and
+ removeAllTracks
+
+Correct these 2 functions to call gPlayer->activePlaylistChanged
+
+Signed-off-by: Lawrence Rust <lvr@softsystem.co.uk>
+---
+ mythplugins/mythmusic/mythmusic/playlist.cpp | 8 +++++---
+ 1 file changed, 5 insertions(+), 3 deletions(-)
+
+diff --git a/mythplugins/mythmusic/mythmusic/playlist.cpp b/mythplugins/mythmusic/mythmusic/playlist.cpp
+index 79a509a..94146a4 100644
+--- a/mythplugins/mythmusic/mythmusic/playlist.cpp
++++ src/mythplugins/mythmusic/mythmusic/playlist.cpp
+@@ -46,7 +46,7 @@ bool Playlist::checkTrack(MusicMetadata::IdType trackID) const
+
+ void Playlist::copyTracks(Playlist *to_ptr, bool update_display)
+ {
+- disableSaves();
++ to_ptr->disableSaves();
+
+ for (int x = 0; x < m_songs.size(); x++)
+ {
+@@ -58,9 +58,9 @@ void Playlist::copyTracks(Playlist *to_ptr, bool update_display)
+ }
+ }
+
+- enableSaves();
++ to_ptr->enableSaves();
+
+- changed();
++ to_ptr->changed();
+ }
+
+ /// Given a tracks ID, add that track to this playlist
+@@ -94,6 +94,8 @@ void Playlist::removeAllTracks(void)
+ m_shuffledSongs.clear();
+
+ changed();
++
++ gPlayer->activePlaylistChanged(-1, true);
+ }
+
+ void Playlist::removeAllCDTracks(void)
+--
+1.7.9.5
+
diff --git a/abs/core/mythtv/stable-29/mythplugins/PKGBUILD b/abs/core/mythtv/stable-29/mythplugins/PKGBUILD
new file mode 100644
index 0000000..35d18e4
--- /dev/null
+++ b/abs/core/mythtv/stable-29/mythplugins/PKGBUILD
@@ -0,0 +1,128 @@
+pkgbase=mythplugins
+pkgname=('mytharchive'
+ 'mythbrowser'
+ 'mythgallery'
+ 'mythgame'
+ 'mythmusic'
+ 'mythnetvision'
+ 'mythnews'
+ 'mythweather'
+ 'mythzoneminder')
+pkgver=29
+pkgrel=7
+arch=('i686' 'x86_64')
+url="http://www.mythtv.org"
+license=('GPL')
+makedepends=('cdrkit' 'dcraw' 'dvdauthor' 'dvd+rw-tools' 'ffmpeg' 'flac' 'libexif'
+ 'libvorbis' 'mesa' 'libgl' 'mplayer' "mythtv>=${pkgver}"
+ 'perl-datetime-format-iso8601' 'perl-date-manip' 'perl-image-size'
+ 'perl-json' 'perl-libwww' 'perl-soap-lite' 'perl-xml-sax'
+ 'perl-xml-simple' 'perl-xml-xpath' 'python-oauth' 'python2-pillow'
+ 'python-pycurl' 'zlib')
+source=('mythburn.py-aspectratio.patch'
+ 'cdparanoia.patch'
+ '0317-0336-MythMusic-Fix-Playlist-copyTracks-and-removeAllTrack.patch'
+ )
+
+build() {
+ if [ -e ${srcdir}/mythplugins ]
+ then
+ msg "Removing old mythplugins src"
+ rm -rf ${srcdir}/mythplugins
+ fi
+
+ cd ${startdir}
+ msg "Copying in mythplugins git_src"
+ cp -rp ../git_src/mythtv/mythplugins $srcdir
+
+ cd ${srcdir}
+ patch -Np1 -i "$srcdir/0317-0336-MythMusic-Fix-Playlist-copyTracks-and-removeAllTrack.patch"
+
+ msg "Patching configure"
+ cd ${srcdir}/${pkgbase}
+ patch -Np1 -i "$srcdir/cdparanoia.patch"
+
+ msg "Configuring mythplugins"
+ ./configure --prefix=/usr \
+ --enable-all \
+ --python=/usr/bin/python2
+
+ msg "Compiling mythplugins"
+ qmake-qt5 mythplugins.pro || return 1
+ make || return 1
+}
+
+package_mytharchive() {
+ pkgdesc="Create DVDs or archive recorded shows in MythTV"
+ depends=('cdrkit' 'dvdauthor' 'dvd+rw-tools' 'ffmpeg' "mythtv>=${pkgver}"
+ 'm2vrequantiser' 'mjpegtools' 'python2-pillow')
+ optdepends=('projectx: for subtitle support')
+ cd "${srcdir}/${_gitname}/${pkgbase}/mytharchive"
+ patch mythburn/scripts/mythburn.py < $srcdir/mythburn.py-aspectratio.patch || return 1
+ make INSTALL_ROOT="${pkgdir}" install || return 1
+}
+
+package_mythbrowser() {
+ pkgdesc="Mini web browser for MythTV"
+ depends=("mythtv>=${pkgver}")
+ cd "${srcdir}/${_gitname}/${pkgbase}/mythbrowser"
+ make INSTALL_ROOT="${pkgdir}" install || return 1
+}
+
+package_mythgallery() {
+ pkgdesc="Image gallery plugin for MythTV"
+ depends=('libexif' "mythtv>=${pkgver}" 'dcraw')
+ cd "${srcdir}/${_gitname}/${pkgbase}/mythgallery"
+ make INSTALL_ROOT="${pkgdir}" install || return 1
+}
+
+package_mythgame() {
+ pkgdesc="Game emulator plugin for MythTV"
+ depends=("mythtv>=${pkgver}" 'zlib')
+ cd "${srcdir}/${_gitname}/${pkgbase}/mythgame"
+ make INSTALL_ROOT="${pkgdir}" install || return 1
+}
+
+package_mythmusic() {
+ pkgdesc="Music playing plugin for MythTV"
+ depends=('cdparanoia' 'fftw' 'flac' 'libcdaudio' 'libcdio-paranoia'
+ 'libvisual-plugins' 'libvorbis' "mythtv>=${pkgver}" 'taglib')
+ cd "${srcdir}/${_gitname}/${pkgbase}/mythmusic"
+ make INSTALL_ROOT="${pkgdir}" install || return 1
+}
+
+package_mythnetvision() {
+ pkgdesc="MythNetvision plugin for MythTV"
+ depends=("mythtv>=${pkgver}" 'python-pycurl' 'python-oauth'
+ 'python2-lxml' 'python2')
+ cd "${srcdir}/${_gitname}/${pkgbase}/mythnetvision"
+ make INSTALL_ROOT="${pkgdir}" install || return 1
+}
+
+package_mythnews() {
+ pkgdesc="News checking plugin for MythTV"
+ depends=("mythtv>=${pkgver}")
+ cd "${srcdir}/${_gitname}/${pkgbase}/mythnews"
+ make INSTALL_ROOT="${pkgdir}" install || return 1
+}
+
+package_mythweather() {
+ pkgdesc="Weather checking plugin for MythTV"
+ depends=("mythtv>=${pkgver}" 'perl-date-manip' 'perl-json' 'perl-soap-lite'
+ 'perl-xml-sax' 'perl-xml-simple' 'perl-xml-xpath' 'perl-image-size'
+ 'perl-datetime-format-iso8601')
+ cd "${srcdir}/${_gitname}/${pkgbase}/mythweather"
+ make INSTALL_ROOT="${pkgdir}" install || return 1
+}
+
+package_mythzoneminder() {
+ pkgdesc="View CCTV footage from zoneminder in MythTV"
+ depends=("mythtv>=${pkgver}")
+# install=mythplugins-mythzoneminder.install
+ cd "${srcdir}/${_gitname}/${pkgbase}/mythzoneminder"
+ make INSTALL_ROOT="${pkgdir}" install || return 1
+}
+
+md5sums=('e98c2a09bcb051fdde959fb4bb2e5ab2'
+ '5de8dd79d0b8a2b006f3c3258938b6b7'
+ '0299d0214c0d3a452c0284352435d698')
diff --git a/abs/core/mythtv/stable-29/mythplugins/cdparanoia.patch b/abs/core/mythtv/stable-29/mythplugins/cdparanoia.patch
new file mode 100644
index 0000000..b4d1449
--- /dev/null
+++ b/abs/core/mythtv/stable-29/mythplugins/cdparanoia.patch
@@ -0,0 +1,52 @@
+diff -Nru a/configure b/configure
+--- a/configure 2012-10-02 23:30:24.000000000 +1300
++++ b/configure 2013-01-09 14:54:40.448916370 +1300
+@@ -649,7 +649,7 @@
+ echo "MythMusic requires FLAC."
+ fi
+
+- if ! check_lib cdio/cdio.h cdio_open -lcdio || ! check_lib cdio/cdda.h cdio_cddap_open -lcdio_cdda || ! check_lib cdio/paranoia.h cdio_paranoia_init -lcdio_paranoia ; then
++ if ! check_lib cdio/cdio.h cdio_open -lcdio || ! check_lib cdio/paranoia/cdda.h cdio_cddap_open -lcdio_cdda || ! check_lib cdio/paranoia/paranoia.h cdio_paranoia_init -lcdio_paranoia ; then
+ disable cdio
+ fi
+
+diff -Nru a/mythmusic/mythmusic/cddecoder.cpp b/mythmusic/mythmusic/cddecoder.cpp
+--- a/mythmusic/mythmusic/cddecoder.cpp 2012-10-02 23:30:24.000000000 +1300
++++ b/mythmusic/mythmusic/cddecoder.cpp 2013-01-09 14:53:37.031690618 +1300
+@@ -14,7 +14,7 @@
+ #include <QString>
+
+ // libcdio
+-#include <cdio/cdda.h>
++#include <cdio/paranoia/cdda.h>
+ #include <cdio/logging.h>
+
+ // MythTV
+diff -Nru a/mythmusic/mythmusic/cddecoder.h b/mythmusic/mythmusic/cddecoder.h
+--- a/mythmusic/mythmusic/cddecoder.h 2012-10-02 23:30:24.000000000 +1300
++++ b/mythmusic/mythmusic/cddecoder.h 2013-01-09 14:53:12.328140979 +1300
+@@ -11,8 +11,8 @@
+ #endif
+
+ #ifdef HAVE_CDIO
+-# include <cdio/cdda.h>
+-# include <cdio/paranoia.h>
++# include <cdio/paranoia/cdda.h>
++# include <cdio/paranoia/paranoia.h>
+ #endif
+
+ class Metadata;
+diff -Nru a/mythmusic/mythmusic/cdrip.cpp b/mythmusic/mythmusic/cdrip.cpp
+--- a/mythmusic/mythmusic/cdrip.cpp 2012-10-02 23:30:24.000000000 +1300
++++ b/mythmusic/mythmusic/cdrip.cpp 2013-01-09 14:54:11.815330268 +1300
+@@ -8,8 +8,8 @@
+
+ #include "config.h"
+ #ifdef HAVE_CDIO
+-# include <cdio/cdda.h>
+-# include <cdio/paranoia.h>
++# include <cdio/paranoia/cdda.h>
++# include <cdio/paranoia/paranoia.h>
+ #endif //def HAVE_CDIO
+
+ // C++ includes
diff --git a/abs/core/mythtv/stable-29/mythplugins/mythburn.py-aspectratio.patch b/abs/core/mythtv/stable-29/mythplugins/mythburn.py-aspectratio.patch
new file mode 100644
index 0000000..377de95
--- /dev/null
+++ b/abs/core/mythtv/stable-29/mythplugins/mythburn.py-aspectratio.patch
@@ -0,0 +1,138 @@
+--- mythburn.py.orig 2013-12-16 22:41:31.532703825 +0000
++++ mythburn.py 2013-12-16 22:40:52.191109409 +0000
+@@ -98,6 +98,7 @@
+ from fcntl import ioctl
+ import CDROM
+ from shutil import copy
++from subprocess import Popen, PIPE
+
+ import MythTV
+ from MythTV import datetime
+@@ -440,7 +441,7 @@
+ os.remove(os.path.join(root, name))
+
+ #############################################################
+-# Romoves all the objects from a directory
++# Removes all the objects from a directory
+
+ def deleteEverythingInFolder(folder):
+ for root, dirs, files in os.walk(folder, topdown=False):
+@@ -666,14 +667,14 @@
+ # Gets the aspect ratio of a video file from its stream info file
+
+ def getAspectRatioOfVideo(index):
+- """Returns the aspect ratio of the video file (1.333, 1.778, etc)"""
++ """Returns the aspect ratio of the original video file (1.333, 1.778, etc)"""
+
+ #open the XML containing information about this file
+- infoDOM = xml.dom.minidom.parse(os.path.join(getItemTempPath(index), 'streaminfo.xml'))
++ infoDOM = xml.dom.minidom.parse(os.path.join(getItemTempPath(index), 'streaminfo_orig.xml'))
+
+ #error out if its the wrong XML
+ if infoDOM.documentElement.tagName != "file":
+- fatalError("Stream info file doesn't look right (%s)" % os.path.join(getItemTempPath(index), 'streaminfo.xml'))
++ fatalError("Stream info file doesn't look right (%s)" % os.path.join(getItemTempPath(index), 'streaminfo_orig.xml'))
+ video = infoDOM.getElementsByTagName("file")[0].getElementsByTagName("streams")[0].getElementsByTagName("video")[0]
+ if video.attributes["aspectratio"].value != 'N/A':
+ aspect_ratio = float(video.attributes["aspectratio"].value)
+@@ -1695,6 +1696,37 @@
+ fatalError("Failed while running mytharchivehelper to get stream information.\n"
+ "Result: %d, Command was %s" % (result, command))
+
++ #open the XML containing information about this file
++ infoDOM = xml.dom.minidom.parse(xmlFilename)
++
++ #error out if its the wrong XML
++ if infoDOM.documentElement.tagName != "file":
++ fatalError("This info file doesn't look right (%s)." % xmlFilename)
++
++ file = infoDOM.getElementsByTagName("file")[0]
++ video = infoDOM.getElementsByTagName("file")[0].getElementsByTagName("streams")[0].getElementsByTagName("video")[0]
++
++ #use ffmpeg to get display aspect ratio (DAR) of video
++ cmd = "mythffmpeg -i " + quoteCmdArg(file.attributes["filename"].value) + " 2>&1"
++ aspect_ratio = Popen(cmd, shell=True, stdout=PIPE).stdout.read()
++ if "DAR" in aspect_ratio:
++ #clean DAR string
++ aspect_ratio = aspect_ratio.split("DAR ")[-1].split(",")[0]
++ aspect_ratio = ''.join([c for c in aspect_ratio if c in '1234567890:']).split(":")
++ else:
++ #calculate aspect from video size
++ aspect_ratio = getVideoSize(xmlFilename)
++
++ #convert to decimal+
++ aspect_ratio = float(aspect_ratio[0]) / float(aspect_ratio[1])
++
++ write("Video %s aspect ratio is: %s" % (filename, aspect_ratio))
++
++ #set aspect ratio
++ video.setAttribute("aspectratio",str(aspect_ratio))
++
++ WriteXMLToFile (infoDOM,xmlFilename)
++
+ # print out the streaminfo.xml file to the log
+ infoDOM = xml.dom.minidom.parse(xmlFilename)
+ write(xmlFilename + ":-\n" + infoDOM.toprettyxml(" ", ""), False)
+@@ -2010,7 +2042,7 @@
+ #############################################################
+ # Re-encodes a file to mpeg2
+
+-def encodeVideoToMPEG2(source, destvideofile, video, audio1, audio2, aspectratio, profile):
++def encodeVideoToMPEG2(source, destvideofile, video, folder, audio1, audio2, aspectratio, profile):
+ """Encodes an unknown video source file eg. AVI to MPEG2 video and AC3 audio, use mythffmpeg"""
+
+ profileNode = findEncodingProfile(profile)
+@@ -2035,6 +2067,35 @@
+ value = quoteCmdArg(destvideofile)
+ if value == "%aspect":
+ value = aspectratio
++ if value == "720x480" or value == "720x576":
++ videores, fps, videoAR = getVideoParams(folder)
++ videoWidth = int(videores.split("x")[0])
++ videoHeight = int(videores.split("x")[1])
++
++ #add padding to correct for aspects > than 1.9:1
++ if float(videoAR) >= 1.9:
++ #check which video type and set the correct height
++ if videomode == "ntsc":
++ videoModeHeight = 480
++ else:
++ videoModeHeight = 576
++
++ #calculate the video height based on the aspect ratio of the video
++ #multiply by 1.185 to compensate for dvds non-square pixels
++ calVideoHeight = int(round((720 / float(videoAR)) * 1.185))
++ if calVideoHeight % 2 == 1:
++ calVideoHeight = calVideoHeight + 1
++ #write("calVideoHeight: %s" % calVideoHeight)
++
++ #use original video height if the calculated video height is close
++ if (calVideoHeight + 20 < videoHeight) or (calVideoHeight - 20 > videoHeight):
++ videoHeight = calVideoHeight
++
++ cropPixels = videoModeHeight - videoHeight
++
++ write("Crop Pixels Total: %s" % cropPixels)
++ name = "-vf"
++ value = "\"scale=720:%d, setsar=1:1, pad=720:%d:0:%d:black\"" % (videoModeHeight - cropPixels, videoModeHeight, cropPixels / 2)
+
+ # only re-encode the audio if it is not already in AC3 format
+ if audio1[AUDIO_CODEC] == "AC3":
+@@ -4608,7 +4669,7 @@
+
+ #do the re-encode
+ encodeVideoToMPEG2(mediafile, os.path.join(folder, "newfile2.mpg"), video,
+- audio1, audio2, aspectratio, profile)
++ folder, audio1, audio2, aspectratio, profile)
+ mediafile = os.path.join(folder, 'newfile2.mpg')
+
+ #remove the old mediafile that was run through mythtranscode
+@@ -4762,7 +4823,7 @@
+
+ #do the re-encode
+ encodeVideoToMPEG2(mediafile, os.path.join(folder, "newfile2.mpg"), video,
+- audio1, audio2, aspectratio, profile)
++ folder, audio1, audio2, aspectratio, profile)
+ mediafile = os.path.join(folder, 'newfile2.mpg')
+
+ #remove an intermediate file
diff --git a/abs/core/mythtv/stable-29/mythplugins/mythplugins-mythzoneminder.install b/abs/core/mythtv/stable-29/mythplugins/mythplugins-mythzoneminder.install
new file mode 100644
index 0000000..a4e0c0d
--- /dev/null
+++ b/abs/core/mythtv/stable-29/mythplugins/mythplugins-mythzoneminder.install
@@ -0,0 +1,11 @@
+post_install() {
+ . /etc/systemconfig
+ if [ $SystemType = Master_backend -o $SystemType = Standalone ]
+ then
+ echo "This looks a zoneminder server install"
+ echo "Installing zoneminder"
+ #for reference the pacman statement below will not work because of a db lock.
+ pacman -S zoneminder
+ fi
+
+}
diff --git a/abs/core/mythtv/stable-29/mythtv/0006-cardutil_show_displayname.patch b/abs/core/mythtv/stable-29/mythtv/0006-cardutil_show_displayname.patch
new file mode 100644
index 0000000..6d487ad
--- /dev/null
+++ b/abs/core/mythtv/stable-29/mythtv/0006-cardutil_show_displayname.patch
@@ -0,0 +1,24 @@
+diff -Naur mythtv-master-20150827-g4a81075-old/mythtv/libs/libmythtv/cardutil.cpp mythtv-master-20150827-g4a81075-new/mythtv/libs/libmythtv/cardutil.cpp
+--- src/mythtv/libs/libmythtv/cardutil.cpp 2015-08-27 20:29:30.000000000 +0200
++++ src/mythtv/libs/libmythtv/cardutil.cpp 2015-08-27 21:10:12.749406004 +0200
+@@ -1715,7 +1715,7 @@
+ {
+ QString devlabel;
+ MSqlQuery query(MSqlQuery::InitCon());
+- query.prepare("SELECT cardtype, videodevice "
++ query.prepare("SELECT cardtype, displayname "
+ "FROM capturecard WHERE cardid = :INPUTID ");
+ query.bindValue(":INPUTID", inputid);
+
+diff -Naur mythtv-master-20150827-g4a81075-old/mythtv/programs/mythfrontend/statusbox.cpp mythtv-master-20150827-g4a81075-new/mythtv/programs/mythfrontend/statusbox.cpp
+--- src/mythtv/programs/mythfrontend/statusbox.cpp 2015-08-27 20:29:49.000000000 +0200
++++ src/mythtv/programs/mythfrontend/statusbox.cpp 2015-08-27 21:15:15.081839976 +0200
+@@ -862,7 +862,7 @@
+
+ QString tun = tr("Tuner %1 %2 %3");
+ QString devlabel = CardUtil::GetDeviceLabel(
+- query.value(1).toString(), query.value(2).toString());
++ query.value(0).toInt());
+
+ QString shorttuner = tun.arg(cardid).arg("").arg(status);
+ QString longtuner = tun.arg(cardid).arg(devlabel).arg(status);
diff --git a/abs/core/mythtv/stable-29/mythtv/0037-pull103-Add-heuristic-in-TMDB-script-to-detect-movie-release-years.patch b/abs/core/mythtv/stable-29/mythtv/0037-pull103-Add-heuristic-in-TMDB-script-to-detect-movie-release-years.patch
new file mode 100644
index 0000000..597b064
--- /dev/null
+++ b/abs/core/mythtv/stable-29/mythtv/0037-pull103-Add-heuristic-in-TMDB-script-to-detect-movie-release-years.patch
@@ -0,0 +1,52 @@
+diff -Naur mythtv-master-20170223-ga8b2fe8-old/mythtv/libs/libmythmetadata/videometadata.cpp mythtv-master-20170223-ga8b2fe8-new/mythtv/libs/libmythmetadata/videometadata.cpp
+--- mythtv-master-20170223-ga8b2fe8-old/mythtv/libs/libmythmetadata/videometadata.cpp 2017-02-23 13:18:09.000000000 +0100
++++ src/mythtv/libs/libmythmetadata/videometadata.cpp 2017-02-25 14:03:16.933333314 +0100
+@@ -1162,7 +1162,7 @@
+ title.lastIndexOf('/') -1);
+
+ title = eatBraces(title, "[", "]");
+- title = eatBraces(title, "(", ")");
++ //title = eatBraces(title, "(", ")");
+ title = eatBraces(title, "{", "}");
+ return title.trimmed();
+ }
+diff -Naur mythtv-master-20170223-ga8b2fe8-old/mythtv/programs/scripts/metadata/Movie/tmdb3.py mythtv-master-20170223-ga8b2fe8-new/mythtv/programs/scripts/metadata/Movie/tmdb3.py
+--- mythtv-master-20170223-ga8b2fe8-old/mythtv/programs/scripts/metadata/Movie/tmdb3.py 2017-02-23 13:18:12.000000000 +0100
++++ src/mythtv/programs/scripts/metadata/Movie/tmdb3.py 2017-02-25 13:12:40.213333328 +0100
+@@ -29,6 +29,7 @@
+
+ from optparse import OptionParser
+ import sys
++import re
+
+ def buildSingle(inetref, opts):
+ from MythTV.tmdb3.tmdb_exceptions import TMDBRequestInvalid
+@@ -122,11 +123,27 @@
+ # replace all dashes from queries to work around search behavior
+ # as negative to all text that comes afterwards
+ query = query.replace('-',' ')
++ query = query.strip() # trim extra whitespace
++ # extract year from name -- note that we require a space before the year
++ # so we don't confuse movie names for years (example: "2012 - 2009",
++ # a 2009 movie); also note that we accept optional paranthesis around
++ # the year:
++ yearRegex = re.compile(r"\s\(?((19|20)[0-9]{2})\)?$")
++ year = yearRegex.search(query)
++ if year is not None:
++ year = year.group(1)
++ # if no year was found, we'll pass year=None to searchMovie,
++ # which is the default anyway
++
++ # get rid of the year (if any) from the query text, because
++ # it causes bad TMDB results
++ query = yearRegex.sub("", query)
++ query = query.strip()
+
+ from MythTV.tmdb3 import searchMovie
+ from MythTV import VideoMetadata
+ from lxml import etree
+- results = iter(searchMovie(query))
++ results = iter(searchMovie(query, locale=None, adult=False, year=year))
+ tree = etree.XML(u'<metadata></metadata>')
+ mapping = [['runtime', 'runtime'], ['title', 'originaltitle'],
+ ['releasedate', 'releasedate'], ['tagline', 'tagline'],
diff --git a/abs/core/mythtv/stable-29/mythtv/0287-MythUiImage-Don-t-block-UI-when-exiting-screens.patch b/abs/core/mythtv/stable-29/mythtv/0287-MythUiImage-Don-t-block-UI-when-exiting-screens.patch
new file mode 100644
index 0000000..5bf637b
--- /dev/null
+++ b/abs/core/mythtv/stable-29/mythtv/0287-MythUiImage-Don-t-block-UI-when-exiting-screens.patch
@@ -0,0 +1,412 @@
+From 5ee658b482ad634706c21d20d4f8fd15828fc1d8 Mon Sep 17 00:00:00 2001
+From: Roger Siddons <dizygotheca@ntlworld.com>
+Date: Mon, 12 Oct 2015 14:54:36 +0100
+Subject: [PATCH 11/13] MythUiImage: Don't block UI when exiting screens
+
+When deleting MythUIImages the UI blocks until all image loading threads complete.
+
+This patch removes the need for that by introducing an image proxy for the load threads that
+prohibits access to a deleted image.
+
+Note the ImageLoadEvent is unchanged but has been moved to resolve dependancies. It still
+contains a (potentially dangerous) pointer to the deleted MythUIImage, which IMO is redundant and should be removed.
+
+diff --git a/mythtv/libs/libmythui/mythuiimage.cpp b/mythtv/libs/libmythui/mythuiimage.cpp
+index fc067f7..a937358 100644
+--- a/mythtv/libs/libmythui/mythuiimage.cpp
++++ src/mythtv/libs/libmythui/mythuiimage.cpp
+@@ -121,25 +121,104 @@ void ImageProperties::SetMaskImage(MythImage *image)
+ }
+
+ /*!
++ * \class ImageLoadEvent
++ */
++class ImageLoadEvent : public QEvent
++{
++ public:
++ ImageLoadEvent(const MythUIImage *parent, MythImage *image,
++ const QString &basefile, const QString &filename,
++ int number, bool aborted)
++ : QEvent(kEventType),
++ m_parent(parent), m_image(image), m_basefile(basefile),
++ m_filename(filename), m_number(number),
++ m_images(NULL), m_aborted(aborted) { }
++
++ ImageLoadEvent(const MythUIImage *parent, AnimationFrames *frames,
++ const QString &basefile,
++ const QString &filename, bool aborted)
++ : QEvent(kEventType),
++ m_parent(parent), m_image(NULL), m_basefile(basefile),
++ m_filename(filename), m_number(0),
++ m_images(frames), m_aborted(aborted) { }
++
++ const MythUIImage *GetParent() const { return m_parent; }
++ MythImage *GetImage() const { return m_image; }
++ const QString GetBasefile() const { return m_basefile; }
++ const QString GetFilename() const { return m_filename; }
++ int GetNumber() const { return m_number; }
++ AnimationFrames *GetAnimationFrames() const { return m_images; }
++ bool GetAbortState() const { return m_aborted; }
++
++ static Type kEventType;
++
++ private:
++ const MythUIImage *m_parent;
++ MythImage *m_image;
++ QString m_basefile;
++ QString m_filename;
++ int m_number;
++
++ // Animated Images
++ AnimationFrames *m_images;
++
++ // Image Load
++ bool m_aborted;
++};
++
++QEvent::Type ImageLoadEvent::kEventType =
++ (QEvent::Type) QEvent::registerEventType();
++
++/*!
++ \brief Guards access to the image by Load threads. If the image is deleted
++ by the UI this proxy persists until all its load threads complete.
++ */
++class ImageProxy
++{
++public:
++ ImageProxy(MythUIImage *image) : m_mutex(), m_image(image) {}
++
++ MythUIImage *GetImage() { QMutexLocker lock(&m_mutex); return m_image; }
++ void Orphan() { QMutexLocker lock(&m_mutex); m_image = NULL; }
++ void PostEvent(ImageLoadEvent *event)
++ {
++ QMutexLocker lock(&m_mutex);
++ if (m_image)
++ QCoreApplication::postEvent(m_image, event);
++ else
++ LOG(VB_GUI | VB_FILE, LOG_DEBUG,
++ QString("ImageLoadThread: Discarding load of %1")
++ .arg(event->GetFilename()));
++ }
++
++private:
++ QMutex m_mutex;
++ MythUIImage *m_image;
++};
++
++//! The proxy is shared by the image and all its load threads.
++typedef QSharedPointer<ImageProxy> ProxyPtr;
++
++/*!
+ * \class ImageLoader
+ */
+ class ImageLoader
+ {
+ public:
+- ImageLoader() { };
+- ~ImageLoader() { };
++ ImageLoader() { }
++ ~ImageLoader() { }
+
+- static QHash<QString, const MythUIImage *> m_loadingImages;
+- static QMutex m_loadingImagesLock;
+- static QWaitCondition m_loadingImagesCond;
++ static QHash<QString, const ImageProxy*> m_loadingImages;
++ static QMutex m_loadingImagesLock;
++ static QWaitCondition m_loadingImagesCond;
+
+- static bool PreLoad(const QString &cacheKey, const MythUIImage *uitype)
++ static bool PreLoad(const QString &cacheKey, const ProxyPtr &proxy)
+ {
+ m_loadingImagesLock.lock();
+
+ // Check to see if the image is being loaded by us in another thread
+ if ((m_loadingImages.contains(cacheKey)) &&
+- (m_loadingImages[cacheKey] == uitype))
++ (m_loadingImages[cacheKey] == proxy.data()))
+ {
+ LOG(VB_GUI | VB_FILE, LOG_DEBUG,
+ QString("ImageLoader::PreLoad(%1), this "
+@@ -153,7 +232,7 @@ class ImageLoader
+ while (m_loadingImages.contains(cacheKey))
+ m_loadingImagesCond.wait(&m_loadingImagesLock);
+
+- m_loadingImages[cacheKey] = uitype;
++ m_loadingImages[cacheKey] = proxy.data();
+ m_loadingImagesLock.unlock();
+
+ return true;
+@@ -229,15 +308,12 @@ class ImageLoader
+ // Must be a copy for thread safety
+ ImageProperties imProps,
+ ImageCacheMode cacheMode,
+- // Included only to check address, could be
+- // replaced by generating a unique value for
+- // each MythUIImage object?
+- const MythUIImage *parent,
++ const ProxyPtr &proxy,
+ bool &aborted,
+ MythImageReader *imageReader = NULL)
+ {
+ QString cacheKey = GenImageLabel(imProps);
+- if (!PreLoad(cacheKey, parent))
++ if (!PreLoad(cacheKey, proxy))
+ {
+ aborted = true;
+ return NULL;
+@@ -390,10 +466,7 @@ class ImageLoader
+ // Must be a copy for thread safety
+ ImageProperties imProps,
+ ImageCacheMode cacheMode,
+- // Included only to check address, could be
+- // replaced by generating a unique value for
+- // each MythUIImage object?
+- const MythUIImage *parent,
++ const ProxyPtr &proxy,
+ bool &aborted)
+ {
+ QString filename = QString("frame-%1-") + imProps.filename;
+@@ -411,7 +484,7 @@ class ImageLoader
+ ImageProperties frameProps = imProps;
+ frameProps.filename = frameFilename;
+
+- MythImage *im = LoadImage(painter, frameProps, cacheMode, parent,
++ MythImage *im = LoadImage(painter, frameProps, cacheMode, proxy,
+ aborted, imageReader);
+
+ if (!im)
+@@ -428,58 +501,9 @@ class ImageLoader
+
+ };
+
+-QHash<QString, const MythUIImage *> ImageLoader::m_loadingImages;
+-QMutex ImageLoader::m_loadingImagesLock;
+-QWaitCondition ImageLoader::m_loadingImagesCond;
+-
+-/*!
+- * \class ImageLoadEvent
+- */
+-class ImageLoadEvent : public QEvent
+-{
+- public:
+- ImageLoadEvent(const MythUIImage *parent, MythImage *image,
+- const QString &basefile, const QString &filename,
+- int number, bool aborted)
+- : QEvent(kEventType),
+- m_parent(parent), m_image(image), m_basefile(basefile),
+- m_filename(filename), m_number(number),
+- m_images(NULL), m_aborted(aborted) { }
+-
+- ImageLoadEvent(const MythUIImage *parent, AnimationFrames *frames,
+- const QString &basefile,
+- const QString &filename, bool aborted)
+- : QEvent(kEventType),
+- m_parent(parent), m_image(NULL), m_basefile(basefile),
+- m_filename(filename), m_number(0),
+- m_images(frames), m_aborted(aborted) { }
+-
+- const MythUIImage *GetParent() const { return m_parent; }
+- MythImage *GetImage() const { return m_image; }
+- const QString GetBasefile() const { return m_basefile; }
+- const QString GetFilename() const { return m_filename; }
+- int GetNumber() const { return m_number; }
+- AnimationFrames *GetAnimationFrames() const { return m_images; }
+- bool GetAbortState() const { return m_aborted; }
+-
+- static Type kEventType;
+-
+- private:
+- const MythUIImage *m_parent;
+- MythImage *m_image;
+- QString m_basefile;
+- QString m_filename;
+- int m_number;
+-
+- // Animated Images
+- AnimationFrames *m_images;
+-
+- // Image Load
+- bool m_aborted;
+-};
+-
+-QEvent::Type ImageLoadEvent::kEventType =
+- (QEvent::Type) QEvent::registerEventType();
++QHash<QString, const ImageProxy*> ImageLoader::m_loadingImages;
++QMutex ImageLoader::m_loadingImagesLock;
++QWaitCondition ImageLoader::m_loadingImagesCond;
+
+ /*!
+ * \class ImageLoadThread
+@@ -487,10 +511,10 @@ QEvent::Type ImageLoadEvent::kEventType =
+ class ImageLoadThread : public QRunnable
+ {
+ public:
+- ImageLoadThread(const MythUIImage *parent, MythPainter *painter,
++ ImageLoadThread(const ProxyPtr &proxy, MythPainter *painter,
+ const ImageProperties &imProps, const QString &basefile,
+ int number, ImageCacheMode mode) :
+- m_parent(parent), m_painter(painter), m_imageProperties(imProps),
++ m_proxy(proxy), m_painter(painter), m_imageProperties(imProps),
+ m_basefile(basefile), m_number(number), m_cacheMode(mode)
+ {
+ }
+@@ -500,6 +524,14 @@ class ImageLoadThread : public QRunnable
+ bool aborted = false;
+ QString filename = m_imageProperties.filename;
+
++ // Don't even bother if parent image no longer exists
++ if (!m_proxy || !m_proxy->GetImage())
++ {
++ LOG(VB_GUI | VB_FILE, LOG_DEBUG,
++ QString("ImageLoadThread: Ignoring load of %1").arg(filename));
++ return;
++ }
++
+ // NOTE Do NOT use MythImageReader::supportsAnimation here, it defeats
+ // the point of caching remote images
+ if (ImageLoader::SupportsAnimation(filename))
+@@ -508,17 +540,16 @@ class ImageLoadThread : public QRunnable
+
+ frames = ImageLoader::LoadAnimatedImage(m_painter,
+ m_imageProperties,
+- m_cacheMode, m_parent,
++ m_cacheMode, m_proxy,
+ aborted);
+
+ if (frames && frames->count() > 1)
+ {
+- ImageLoadEvent *le = new ImageLoadEvent(m_parent, frames,
++ ImageLoadEvent *le = new ImageLoadEvent(m_proxy->GetImage(), frames,
+ m_basefile,
+ m_imageProperties.filename,
+ aborted);
+- QCoreApplication::postEvent(const_cast<MythUIImage*>(m_parent), le);
+-
++ m_proxy->PostEvent(le);
+ return;
+ }
+ delete frames;
+@@ -526,18 +557,19 @@ class ImageLoadThread : public QRunnable
+
+ MythImage *image = ImageLoader::LoadImage(m_painter,
+ m_imageProperties,
+- m_cacheMode, m_parent,
++ m_cacheMode, m_proxy,
+ aborted);
+
+- ImageLoadEvent *le = new ImageLoadEvent(m_parent, image, m_basefile,
++ ImageLoadEvent *le = new ImageLoadEvent(m_proxy->GetImage(), image,
++ m_basefile,
+ m_imageProperties.filename,
+ m_number, aborted);
+- QCoreApplication::postEvent(const_cast<MythUIImage*>(m_parent), le);
++ m_proxy->PostEvent(le);
+ }
+
+ private:
+- const MythUIImage *m_parent;
+- MythPainter *m_painter;
++ const ProxyPtr m_proxy;
++ MythPainter *m_painter;
+ ImageProperties m_imageProperties;
+ QString m_basefile;
+ int m_number;
+@@ -549,13 +581,14 @@ class MythUIImagePrivate
+ {
+ public:
+ explicit MythUIImagePrivate(MythUIImage *p)
+- : m_parent(p), m_UpdateLock(QReadWriteLock::Recursive)
+- { };
+- ~MythUIImagePrivate() {};
+-
+- MythUIImage *m_parent;
++ : m_parent(p), m_UpdateLock(QReadWriteLock::Recursive),
++ m_proxy(ProxyPtr(new ImageProxy(p)))
++ { }
++ ~MythUIImagePrivate() {}
+
++ MythUIImage *m_parent;
+ QReadWriteLock m_UpdateLock;
++ ProxyPtr m_proxy;
+ };
+
+ /////////////////////////////////////////////////////////////////
+@@ -609,13 +642,8 @@ MythUIImage::MythUIImage(MythUIType *parent, const QString &name)
+
+ MythUIImage::~MythUIImage()
+ {
+- // Wait until all image loading threads are complete or bad things
+- // may happen if this MythUIImage disappears when a queued thread
+- // needs it.
+- if (m_runningThreads > 0)
+- {
+- GetMythUI()->GetImageThreadPool()->waitForDone();
+- }
++ // Prevent any updates from running loads
++ d->m_proxy->Orphan();
+
+ Clear();
+
+@@ -695,8 +723,6 @@ void MythUIImage::Init(void)
+ m_animationReverse = false;
+ m_animatedImage = false;
+
+- m_runningThreads = 0;
+-
+ m_showingRandomImage = false;
+ }
+
+@@ -1081,9 +1107,8 @@ bool MythUIImage::Load(bool allowLoadInBackground, bool forceStat)
+ LOG(VB_GUI | VB_FILE, LOG_DEBUG, LOC +
+ QString("Load(), spawning thread to load '%1'").arg(filename));
+
+- m_runningThreads++;
+ ImageLoadThread *bImgThread;
+- bImgThread = new ImageLoadThread(this, GetPainter(),
++ bImgThread = new ImageLoadThread(d->m_proxy, GetPainter(),
+ imProps,
+ bFilename, i,
+ static_cast<ImageCacheMode>(cacheMode2));
+@@ -1102,7 +1127,7 @@ bool MythUIImage::Load(bool allowLoadInBackground, bool forceStat)
+
+ myFrames = ImageLoader::LoadAnimatedImage(GetPainter(), imProps,
+ static_cast<ImageCacheMode>(cacheMode2),
+- this, aborted);
++ d->m_proxy, aborted);
+
+ // TODO We might want to handle an abort here more gracefully
+ if (aborted)
+@@ -1121,7 +1146,7 @@ bool MythUIImage::Load(bool allowLoadInBackground, bool forceStat)
+ image = ImageLoader::LoadImage(GetPainter(),
+ imProps,
+ static_cast<ImageCacheMode>(cacheMode2),
+- this, aborted);
++ d->m_proxy, aborted);
+
+ // TODO We might want to handle an abort here more gracefully
+ if (aborted)
+@@ -1604,8 +1629,6 @@ void MythUIImage::customEvent(QEvent *event)
+ animationFrames = le->GetAnimationFrames();
+ aborted = le->GetAbortState();
+
+- m_runningThreads--;
+-
+ d->m_UpdateLock.lockForRead();
+ QString propFilename = m_imageProperties.filename;
+ d->m_UpdateLock.unlock();
+diff --git a/mythtv/libs/libmythui/mythuiimage.h b/mythtv/libs/libmythui/mythuiimage.h
+index 7847c4a..e5390a1 100644
+--- a/mythtv/libs/libmythui/mythuiimage.h
++++ src/mythtv/libs/libmythui/mythuiimage.h
+@@ -174,8 +174,6 @@ class MUI_PUBLIC MythUIImage : public MythUIType
+
+ ImageProperties m_imageProperties;
+
+- int m_runningThreads;
+-
+ bool m_showingRandomImage;
+ QString m_imageDirectory;
+
+--
+2.1.4
+
diff --git a/abs/core/mythtv/stable-29/mythtv/0292-UPnP-Reduce-startup-latency-by-moving-blocking-code-to-own-thread.patch b/abs/core/mythtv/stable-29/mythtv/0292-UPnP-Reduce-startup-latency-by-moving-blocking-code-to-own-thread.patch
new file mode 100644
index 0000000..6b12a79
--- /dev/null
+++ b/abs/core/mythtv/stable-29/mythtv/0292-UPnP-Reduce-startup-latency-by-moving-blocking-code-to-own-thread.patch
@@ -0,0 +1,98 @@
+From f2226b56c1c03ab76d90b9b081b2c1eb526e71f5 Mon Sep 17 00:00:00 2001
+From: Lawrence Rust <lvr@softsystem.co.uk>
+Date: Wed, 5 Jun 2013 10:52:56 +0100
+Subject: [PATCH] UPnP: Reduce startup latency by moving blocking code to own
+ thread
+
+Signed-off-by: Lawrence Rust <lvr@softsystem.co.uk>
+---
+ mythtv/libs/libmythupnp/ssdp.cpp | 20 ++++++++++----------
+ mythtv/libs/libmythupnp/upnptasknotify.cpp | 9 ++++++++-
+ mythtv/libs/libmythupnp/upnptasknotify.h | 4 +++-
+ 3 files changed, 21 insertions(+), 12 deletions(-)
+
+diff --git a/mythtv/libs/libmythupnp/ssdp.cpp b/mythtv/libs/libmythupnp/ssdp.cpp
+index cf54274..07b5a07 100644
+--- a/mythtv/libs/libmythupnp/ssdp.cpp
++++ src/mythtv/libs/libmythupnp/ssdp.cpp
+@@ -168,21 +168,21 @@ void SSDP::EnableNotifications( int nServicePort )
+ // ------------------------------------------------------------------
+
+ LOG(VB_UPNP, LOG_INFO,
+- "SSDP::EnableNotifications() - sending NTS_byebye");
+- m_pNotifyTask->SetNTS( NTS_byebye );
+- m_pNotifyTask->Execute( NULL );
+-
+- m_bAnnouncementsEnabled = true;
++ "SSDP::EnableNotifications() - sending NTS_byebye2");
++ m_pNotifyTask->SetNTS( NTS_byebye2 );
+ }
++ else
++ {
++ LOG(VB_UPNP, LOG_INFO,
++ "SSDP::EnableNotifications() - sending NTS_alive");
++ m_pNotifyTask->SetNTS( NTS_alive );
++ }
++
++ m_bAnnouncementsEnabled = true;
+
+ // ------------------------------------------------------------------
+ // Add Announcement Task to the Queue
+ // ------------------------------------------------------------------
+-
+- LOG(VB_UPNP, LOG_INFO, "SSDP::EnableNotifications() - sending NTS_alive");
+-
+- m_pNotifyTask->SetNTS( NTS_alive );
+-
+ TaskQueue::Instance()->AddTask(m_pNotifyTask);
+
+ LOG(VB_UPNP, LOG_INFO,
+diff --git a/mythtv/libs/libmythupnp/upnptasknotify.cpp b/mythtv/libs/libmythupnp/upnptasknotify.cpp
+index 3f9b3bd..129a2e8 100644
+--- a/mythtv/libs/libmythupnp/upnptasknotify.cpp
++++ src/mythtv/libs/libmythupnp/upnptasknotify.cpp
+@@ -128,7 +128,9 @@ void UPnpNotifyTask::SendNotifyMsg( MSocketDevice *pSocket,
+
+ pSocket->writeBlock( scPacket, scPacket.length(),
+ pSocket->address(), pSocket->port() );
+- std::this_thread::sleep_for(std::chrono::milliseconds(random() % 250));
++ // Only wait if not sending final bybbye. This speeds up shutdown
++ if (m_eNTS != NTS_byebye)
++ std::this_thread::sleep_for(std::chrono::milliseconds(random() % 250));
+ pSocket->writeBlock( scPacket, scPacket.length(),
+ pSocket->address(), pSocket->port() );
+ }
+@@ -169,6 +171,11 @@ void UPnpNotifyTask::Execute( TaskQueue *pQueue )
+
+ if (m_eNTS == NTS_alive)
+ pQueue->AddTask( (m_nMaxAge / 2) * 1000, (Task *)this );
++ else if (m_eNTS == NTS_byebye2)
++ {
++ m_eNTS = NTS_alive;
++ pQueue->AddTask( this );
++ }
+
+ m_mutex.unlock();
+
+diff --git a/mythtv/libs/libmythupnp/upnptasknotify.h b/mythtv/libs/libmythupnp/upnptasknotify.h
+index 15c23fb..7a6a485 100644
+--- a/mythtv/libs/libmythupnp/upnptasknotify.h
++++ src/mythtv/libs/libmythupnp/upnptasknotify.h
+@@ -37,7 +37,8 @@ class UPnpDevice;
+ typedef enum
+ {
+ NTS_alive = 0,
+- NTS_byebye = 1
++ NTS_byebye = 1,
++ NTS_byebye2
+
+ } UPnpNotifyNTS;
+
+@@ -89,6 +90,7 @@ class UPnpNotifyTask : public Task
+ {
+ case NTS_alive : return( "ssdp:alive" );
+ case NTS_byebye: return( "ssdp:byebye" );
++ case NTS_byebye2: return( "ssdp:byebye" );
+ }
+ return( "unknown" );
+ }
diff --git a/abs/core/mythtv/stable-29/mythtv/0294-0283-FE-Add-network-status-to-machine-status-dialog.patch b/abs/core/mythtv/stable-29/mythtv/0294-0283-FE-Add-network-status-to-machine-status-dialog.patch
new file mode 100644
index 0000000..192f0fc
--- /dev/null
+++ b/abs/core/mythtv/stable-29/mythtv/0294-0283-FE-Add-network-status-to-machine-status-dialog.patch
@@ -0,0 +1,71 @@
+From 273937c9ee4ba00ad049ac3c9fe62ecabd2f8fdb Mon Sep 17 00:00:00 2001
+From: Lawrence Rust <lvr@softsystem.co.uk>
+Date: Thu, 1 Oct 2015 09:56:13 +0100
+Subject: [PATCH 283/290] FE: Add network status to machine status dialog
+
+Signed-off-by: Lawrence Rust <lvr@softsystem.co.uk>
+---
+ mythtv/programs/mythfrontend/statusbox.cpp | 33 ++++++++++++++++++++++++++++
+ 1 file changed, 33 insertions(+)
+
+diff --git a/mythtv/programs/mythfrontend/statusbox.cpp b/mythtv/programs/mythfrontend/statusbox.cpp
+index f0078ea..23c5a24 100644
+--- a/mythtv/programs/mythfrontend/statusbox.cpp
++++ src/mythtv/programs/mythfrontend/statusbox.cpp
+@@ -5,6 +5,8 @@ using namespace std;
+
+ #include <QRegExp>
+ #include <QHostAddress>
++#include <QHostInfo>
++#include <QNetworkInterface>
+
+ #include "mythcorecontext.h"
+ #include "filesysteminfo.h"
+@@ -1221,6 +1223,12 @@ void StatusBox::doMachineStatus()
+ line = tr("This machine:");
+ AddLogLine(line, machineStr);
+
++ // Hostname
++ line = " " + tr("Hostname") + ": " + QHostInfo::localHostName();
++ if ( !QHostInfo::localDomainName().isEmpty())
++ line += "." + QHostInfo::localDomainName();
++ AddLogLine(line, machineStr);
++
+ // uptime
+ if (!getUptime(uptime))
+ uptime = 0;
+@@ -1264,6 +1272,31 @@ void StatusBox::doMachineStatus()
+ }
+ }
+
++ // Network status
++ line = " " + tr("Interfaces") + ":";
++ QString sep = " ";
++ foreach( QNetworkInterface iface, QNetworkInterface::allInterfaces())
++ {
++ QNetworkInterface::InterfaceFlags f = iface.flags();
++ if (!(f & QNetworkInterface::IsUp))
++ continue;
++ if (!(f & QNetworkInterface::IsRunning))
++ continue;
++ if (f & QNetworkInterface::IsLoopBack)
++ continue;
++
++ line += sep + iface.humanReadableName() + " [";
++ sep = ", ";
++ QString sep2 = "";
++ foreach( QNetworkAddressEntry addr, iface.addressEntries())
++ {
++ line += sep2 + addr.ip().toString();
++ sep2 = ", ";
++ }
++ line += "]";
++ }
++ AddLogLine(line, machineStr);
++
+ if (!m_isBackendActive)
+ {
+ line = tr("MythTV server") + ':';
+--
+1.7.9.5
+
diff --git a/abs/core/mythtv/stable-29/mythtv/PKGBUILD b/abs/core/mythtv/stable-29/mythtv/PKGBUILD
new file mode 100644
index 0000000..ce77213
--- /dev/null
+++ b/abs/core/mythtv/stable-29/mythtv/PKGBUILD
@@ -0,0 +1,138 @@
+pkgname=mythtv
+pkgver=29
+pkgrel=7
+commit_hash=`cat ../git_src/git_hash`
+pkgdesc="A Homebrew PVR project $commit_hash"
+arch=('i686' 'x86_64')
+url="http://www.mythtv.org/"
+license=('GPL')
+depends=('avahi' 'exiv2' 'faad2' 'fftw' 'glew' 'lame' 'libass' 'libavc1394' 'libcdio'
+ 'libcec' 'libgl' 'libcrystalhd-git' 'libiec61883' 'libva' 'libvdpau' 'libvpx'
+ 'libx264' 'x265' 'libxinerama' 'libxml2' 'libxrandr' 'LinHES-config>=8.1-6'
+ 'LinHES-system>=8.4-4' 'lirc-utils' 'mysql-clients' 'mysql-python'
+ 'openssl' 'perl-date-manip' 'perl-dbd-mysql'
+ 'perl-io-socket-inet6' 'perl-libwww' 'perl-math-round'
+ 'perl-net-upnp' 'perl-soap-lite' 'perl-xml-sax' 'python2-future'
+ 'python2-pycurl' 'python2-requests' 'python2-requests-cache'
+ 'python2-lxml' 'qt5-script' 'qt5-webkit' 'sdl' 'taglib' 'unzip' 'urlgrabber'
+ 'wget' 'xmltv')
+makedepends=('apache-ant' 'mesa' 'mesa-libgl' 'yasm' 'x264' 'git' 'rsync' 'qt5-tools')
+replaces=()
+groups=('pvr')
+backup=()
+install='mythtv.install'
+
+patches=(
+ 'myth_settings.patch'
+ 'videoAlwaysUseBookmark.patch'
+ 'autoskip_reduce_commskip_jumpback.patch'
+ 'change_msg_types.patch'
+ 'disable_mythnotification_tuner_failure.patch'
+ 'searchMetatdataSelectedGrabber.patch'
+ 'addDamagedToProgDetails.patch'
+ 'defaultThemeLinHES.patch'
+ 'mythfrontend_en_us.ts_Title_Case.patch'
+ '0006-cardutil_show_displayname.patch'
+ '0037-pull103-Add-heuristic-in-TMDB-script-to-detect-movie-release-years.patch'
+ '0292-UPnP-Reduce-startup-latency-by-moving-blocking-code-to-own-thread.patch'
+ '0294-0283-FE-Add-network-status-to-machine-status-dialog.patch'
+ '0287-MythUiImage-Don-t-block-UI-when-exiting-screens.patch'
+ )
+
+optdepends=()
+source=(`echo ${patches[@]:0}` 'recordings')
+
+build() {
+ if [ -e ${srcdir}/mythtv ]
+ then
+ msg "Removing old mythtv src"
+ rm -rf ${srcdir}/mythtv
+ fi
+
+ cd ${startdir}
+ msg "Copying in mythtv git_src"
+ cp -rp ../git_src/mythtv/mythtv $srcdir
+ cd ${srcdir}/$pkgname
+ echo "#!/bin/bash" > version.sh
+
+ msg "--------------------------applying patches------------------------------"
+ for i in `echo ${patches[@]:0}`
+ do
+ echo applying $i
+ patch -Np2 -i ${startdir}/src/$i || return 1
+ echo "-----------------------------"
+ done
+ msg "--------------------------done applying patches-------------------------"
+
+ msg "Updating en_us Translation"
+ cd ${srcdir}/$pkgname/i18n
+ lrelease -removeidentical mythfrontend_en_us.ts
+ cd ${srcdir}/$pkgname
+
+ msg "Configuring mythtv"
+ ARCH=${CARCH/_/-}
+ #disable mythlogserver due to http://code.mythtv.org/trac/ticket/11230
+ ./configure --prefix=/usr \
+ --cpu=${ARCH} \
+ --disable-altivec \
+ --disable-audio-jack \
+ --disable-audio-pulseoutput \
+ --disable-distcc \
+ --disable-mythlogserver \
+ --dvb-path=/usr/include \
+ --enable-bdjava \
+ --enable-libmp3lame \
+ --enable-libvpx \
+ --enable-libxvid \
+ --enable-libx264 \
+ --enable-libx265 \
+ --enable-sdl \
+ --enable-sdl2 \
+ --python=python2 \
+ --with-bindings=perl,python || return 1
+ msg "Compiling mythtv"
+ make all || return 1
+}
+
+package() {
+ cd "${srcdir}/${pkgname}"
+ # basic install
+ make INSTALL_ROOT="${pkgdir}" install
+ # install contrib files
+ rsync -arp --exclude .svn --delete-excluded contrib ${pkgdir}/usr/share/mythtv/ || return 1
+ # install database structure
+ rsync -arp --exclude .svn --delete-excluded database ${pkgdir}/usr/share/mythtv/ || return 1
+ # install docs
+ rsync -arp --exclude .svn --delete-excluded docs ${pkgdir}/usr/share/mythtv/ || return 1
+
+ # patch the xml LinHES style
+ cp -r ${startdir}/menu-xml/*.xml ${pkgdir}/usr/share/mythtv/themes/defaultmenu/
+ cd ${pkgdir}/usr/share/mythtv
+ patch -p0 < ${startdir}/menu-xml/mainmenu.xml.patch || return 1
+ patch -p0 < ${startdir}/menu-xml/optical_menu.xml.patch || return 1
+ patch -p0 < ${startdir}/menu-xml/library.xml.patch || return 1
+
+ # make mythtv log dir for old scripts that use it
+ mkdir -p ${pkgdir}/var/log/mythtv
+ chown 1000.1000 ${pkgdir}/var/log/mythtv
+
+ #install recordings (was pretty)
+ mkdir -p ${pkgdir}/etc/cron.hourly/
+ install -m0755 ${srcdir}/recordings ${pkgdir}/etc/cron.hourly/
+}
+
+md5sums=('fb5a87c52a31168a0c8fdde72f27cc45'
+ '41098e898361a5a3cde3eaae358482a8'
+ '2f983590a8a3cf81f386cc65b9628e13'
+ 'f764758832f8e9068ffda1ac0c8aacba'
+ 'ab2a31dc29ff325162a4b71b49f0adca'
+ '0f674b9cad031ba1e03aaf6b5ee1499f'
+ '6add9c16bbb988067e82029327e567b2'
+ 'b0b238320fa78a4928dce2cea7c85071'
+ '1164214d9eb41588f8eb3382565cb003'
+ '5f2bd4065b145b7b7ff09dfd6f08276c'
+ '2371cf6e680179c067a6ff7756638128'
+ '1f0dbd44f8c1a89b86bb331086f58578'
+ 'abaef221b00690b329f4dca18676bcd6'
+ '3cccbab70c7615bc47e51790e024d5bf'
+ '633cd853a89aeee5388daaad21ccec28')
diff --git a/abs/core/mythtv/stable-29/mythtv/addDamagedToProgDetails.patch b/abs/core/mythtv/stable-29/mythtv/addDamagedToProgDetails.patch
new file mode 100644
index 0000000..828ad1b
--- /dev/null
+++ b/abs/core/mythtv/stable-29/mythtv/addDamagedToProgDetails.patch
@@ -0,0 +1,11 @@
+--- src/mythtv/programs/mythfrontend/progdetails.cpp.orig 2016-10-11 14:28:56.564443942 +0000
++++ src/mythtv/programs/mythfrontend/progdetails.cpp 2016-10-11 14:14:59.394161898 +0000
+@@ -323,6 +323,8 @@
+ attr += tr("720p Resolution") + ", ";
+ if (videoprop & VID_1080)
+ attr += tr("1080i/p Resolution") + ", ";
++ if (videoprop & VID_DAMAGED)
++ attr += tr("Damaged") + ", ";
+
+ if (subtype & SUB_HARDHEAR)
+ attr += tr("CC","Closed Captioned") + ", ";
diff --git a/abs/core/mythtv/stable-29/mythtv/autoskip_reduce_commskip_jumpback.patch b/abs/core/mythtv/stable-29/mythtv/autoskip_reduce_commskip_jumpback.patch
new file mode 100644
index 0000000..b6815ef
--- /dev/null
+++ b/abs/core/mythtv/stable-29/mythtv/autoskip_reduce_commskip_jumpback.patch
@@ -0,0 +1,13 @@
+--- src/mythtv/libs/libmythtv/commbreakmap.cpp.orig 2017-03-15 20:34:21.722746111 +0000
++++ src/mythtv/libs/libmythtv/commbreakmap.cpp 2017-03-15 20:35:21.531732684 +0000
+@@ -271,8 +271,8 @@
+ {
+ comm_msg = tr("Skipping Back.");
+
+- if (lastCommSkipStart > (2.0 * video_frame_rate))
+- lastCommSkipStart -= (long long) (2.0 * video_frame_rate);
++ if (lastCommSkipStart > (video_frame_rate))
++ lastCommSkipStart -= (long) (video_frame_rate);
+ lastCommSkipDirection = 0;
+ lastCommSkipTime = time(NULL);
+ jumpToFrame = lastCommSkipStart;
diff --git a/abs/core/mythtv/stable-29/mythtv/change_msg_types.patch b/abs/core/mythtv/stable-29/mythtv/change_msg_types.patch
new file mode 100644
index 0000000..029dd9a
--- /dev/null
+++ b/abs/core/mythtv/stable-29/mythtv/change_msg_types.patch
@@ -0,0 +1,20 @@
+--- src/mythtv/libs/libmythtv/tv_play.cpp.orig 2017-03-15 20:27:51.672833870 +0000
++++ src/mythtv/libs/libmythtv/tv_play.cpp 2017-03-15 20:29:10.646025774 +0000
+@@ -12714,7 +12714,7 @@
+ ctx->UnlockPlayingInfo(__FILE__, __LINE__);
+
+ if (!desc.isEmpty())
+- UpdateOSDSeekMessage(ctx, desc, kOSDTimeout_Med);
++ SetOSDMessage(ctx, desc);
+ }
+
+ void TV::SetAutoCommercialSkip(const PlayerContext *ctx,
+@@ -12731,7 +12731,7 @@
+ ctx->UnlockDeletePlayer(__FILE__, __LINE__);
+
+ if (!desc.isEmpty())
+- UpdateOSDSeekMessage(ctx, desc, kOSDTimeout_Med);
++ SetOSDMessage(ctx, desc);
+ }
+
+ void TV::SetManualZoom(const PlayerContext *ctx, bool zoomON, QString desc)
diff --git a/abs/core/mythtv/stable-29/mythtv/defaultThemeLinHES.patch b/abs/core/mythtv/stable-29/mythtv/defaultThemeLinHES.patch
new file mode 100644
index 0000000..947176e
--- /dev/null
+++ b/abs/core/mythtv/stable-29/mythtv/defaultThemeLinHES.patch
@@ -0,0 +1,11 @@
+--- src/mythtv/libs/libmythui/mythuihelper.h.orig 2016-12-29 16:08:28.319634823 +0000
++++ src/mythtv/libs/libmythui/mythuihelper.h 2016-12-29 16:09:03.245104062 +0000
+@@ -9,7 +9,7 @@
+ #include "mythuiexp.h"
+ #include "themeinfo.h"
+
+-#define DEFAULT_UI_THEME "MythCenter"
++#define DEFAULT_UI_THEME "LinHES"
+ #define FALLBACK_UI_THEME "Terra"
+
+ class MythUIHelperPrivate;
diff --git a/abs/core/mythtv/stable-29/mythtv/disable_mythnotification_tuner_failure.patch b/abs/core/mythtv/stable-29/mythtv/disable_mythnotification_tuner_failure.patch
new file mode 100644
index 0000000..8e03f24
--- /dev/null
+++ b/abs/core/mythtv/stable-29/mythtv/disable_mythnotification_tuner_failure.patch
@@ -0,0 +1,43 @@
+--- src/mythtv/libs/libmythtv/tv_rec.cpp.orig 2017-09-15 21:17:57.761339002 +0000
++++ src/mythtv/libs/libmythtv/tv_rec.cpp 2017-09-15 21:16:22.383499573 +0000
+@@ -3956,19 +3956,6 @@ MPEGStreamData *TVRec::TuningSignalCheck
+ newRecStatus = RecStatus::Failing;
+ curRecording->SaveVideoProperties(VID_DAMAGED, VID_DAMAGED);
+
+- QString desc = tr("Good signal seen after %1 ms")
+- .arg(genOpt.channel_timeout +
+- startRecordingDeadline.msecsTo(current_time));
+- QString title = curRecording->GetTitle();
+- if (!curRecording->GetSubtitle().isEmpty())
+- title += " - " + curRecording->GetSubtitle();
+-
+- MythNotification mn(MythNotification::Check, desc,
+- "Recording", title,
+- tr("See 'Tuning timeout' in mythtv-setup "
+- "for this input."));
+- gCoreContext->SendEvent(MythEvent(mn));
+-
+ LOG(VB_GENERAL, LOG_WARNING, LOC +
+ QString("It took longer than %1 ms to get a signal lock. "
+ "Keeping status of '%2'")
+@@ -4016,19 +4003,6 @@ MPEGStreamData *TVRec::TuningSignalCheck
+
+ SendMythSystemRecEvent("REC_FAILING", curRecording);
+
+- QString desc = tr("Taking more than %1 ms to get a lock.")
+- .arg(genOpt.channel_timeout);
+- QString title = curRecording->GetTitle();
+- if (!curRecording->GetSubtitle().isEmpty())
+- title += " - " + curRecording->GetSubtitle();
+-
+- MythNotification mn(MythNotification::Error, desc,
+- "Recording", title,
+- tr("See 'Tuning timeout' in mythtv-setup "
+- "for this input."));
+- mn.SetDuration(30);
+- gCoreContext->SendEvent(MythEvent(mn));
+-
+ LOG(VB_GENERAL, LOG_WARNING, LOC +
+ QString("TuningSignalCheck: taking more than %1 ms to get a lock. "
+ "marking this recording as '%2'.")
+
diff --git a/abs/core/mythtv/stable-29/mythtv/menu-xml/HOST_SETTINGS.xml b/abs/core/mythtv/stable-29/mythtv/menu-xml/HOST_SETTINGS.xml
new file mode 100644
index 0000000..c9ec7fa
--- /dev/null
+++ b/abs/core/mythtv/stable-29/mythtv/menu-xml/HOST_SETTINGS.xml
@@ -0,0 +1,114 @@
+<mythmenu name="HOST_SETTINGS">
+ <button>
+ <type>MV_ACCESS_SETUP_MENU</type>
+ <text>Access</text>
+ <description>Manage which LinHES Settings can be used</description>
+ <action>EXEC mythinstall -s accesscontrol </action>
+ </button>
+
+ <button>
+ <type>MV_ADVANCED_SETUP_MENU</type>
+ <text>Advanced</text>
+ <description>Manage various Advanced Settings</description>
+ <action>EXEC mythinstall -s advanced</action>
+ </button>
+
+ <button>
+ <type>MV_AUDIO_SETUP_MENU</type>
+ <text>Audio</text>
+ <description>Manage Audio drivers, cards &amp; devices</description>
+ <action>EXEC mythinstall -s sound </action>
+ </button>
+
+ <button>
+ <type>MV_ADVANCED_X_SETUP_MENU</type>
+ <text>Display</text>
+ <description>Set the display resolution</description>
+ <action>EXEC mythinstall -s advancedX</action>
+ </button>
+
+ <button>
+ <type>MV_NETWORK_SETUP_MENU</type>
+ <text>Dynamic DNS</text>
+ <description>Manage your dyndns.com account</description>
+ <action>EXEC mythinstall -s ddns </action>
+ </button>
+
+ <button>
+ <type>MV_FILESHARES_MENU</type>
+ <text>File Sharing</text>
+ <description>Manage file sharing via NFS or SMB</description>
+ <action>EXEC mythinstall -s fileshare</action>
+ </button>
+
+ <button>
+ <type>MV_SYSTEM_SETUP_MENU</type>
+ <text>Host</text>
+ <description>Manage LinHES system type, pointer size &amp; MythWelcome</description>
+ <action>EXEC mythinstall -s hostype </action>
+ </button>
+
+ <button>
+ <type>MV_MISC_SETUP_MENU</type>
+ <text>Miscellaneous</text>
+ <description>Set timezone, shortcuts &amp; auto updates</description>
+ <action>EXEC mythinstall -s misc </action>
+ </button>
+
+ <button>
+ <type>MV_NETWORK_SETUP_MENU</type>
+ <text>Network</text>
+ <description>Manage network devices &amp; hostname</description>
+ <action>EXEC mythinstall -s network </action>
+ </button>
+
+ <button>
+ <type>MV_SOFTWARE_MENU</type>
+ <text>Programs</text>
+ <description>Manage programs for LinHES</description>
+ <action>EXEC mythinstall -s plugins,software </action>
+ </button>
+
+ <button>
+ <type>MV_IR_SETUP_MENU</type>
+ <text>Remotes</text>
+ <description>Manage remotes, receivers &amp; blasters</description>
+ <action>EXEC mythinstall -s ir </action>
+ </button>
+
+ <button>
+ <type>MV_SCREENSAVER_SETUP_MENU</type>
+ <text>Screensaver</text>
+ <description>Manage the Screensaver</description>
+ <action>EXEC mythinstall -s screensaver </action>
+ </button>
+
+ <button>
+ <type>MV_VNC_SETUP_MENU</type>
+ <text>Screen Sharing</text>
+ <description>Manage VNC and XVNC screen sharing</description>
+ <action>EXEC mythinstall -s vnc </action>
+ </button>
+
+ <button>
+ <type>MV_SHUTDOWN_SETUP_MENU</type>
+ <text>Shutdown</text>
+ <description>Set when to turn off LinHES</description>
+ <action>EXEC mythinstall -s sleep </action>
+ </button>
+<!-- disabled in the db so no need to show
+ <button>
+ <type>MV_USER_SETUP_MENU</type>
+ <text>User Accounts</text>
+ <description>Manage Users on LinHES</description>
+ <action>EXEC mythinstall -s user </action>
+ </button>
+-->
+ <button>
+ <type>MV_WEBACCESS_SETUP_MENU</type>
+ <text>Web Security</text>
+ <description>Manage local website security</description>
+ <action>EXEC mythinstall -s webuser </action>
+ </button>
+
+</mythmenu>
diff --git a/abs/core/mythtv/stable-29/mythtv/menu-xml/dvd_backup.xml b/abs/core/mythtv/stable-29/mythtv/menu-xml/dvd_backup.xml
new file mode 100644
index 0000000..2647d81
--- /dev/null
+++ b/abs/core/mythtv/stable-29/mythtv/menu-xml/dvd_backup.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<mythmenu name="OPTICAL_DISK">
+
+ <button>
+ <type>DVD_RIP</type>
+ <text>Mirror DVD</text>
+ <description>Creates a mirror of your DVD</description>
+ <action>EXEC /usr/LH/bin/ripD_eject.sh m &amp;</action>
+ </button>
+
+ <button>
+ <type>DVD_RIP</type>
+ <text>ISO of DVD</text>
+ <description>Creates an ISO of your DVD</description>
+ <action>EXEC /usr/LH/bin/ripD_eject.sh i &amp;</action>
+ </button>
+
+ <button>
+ <type>DVD_RIP</type>
+ <text>High Quality</text>
+ <description>Creates a high quality MPEG4 of your DVD</description>
+ <action>EXEC /usr/LH/bin/ripD_eject.sh h &amp;</action>
+ </button>
+
+ <button>
+ <type>DVD_RIP</type>
+ <text>Normal Quality</text>
+ <description>Creates a normal quality MPEG4 of your DVD</description>
+ <action>EXEC /usr/LH/bin/ripD_eject.sh n &amp;</action>
+ </button>
+
+ <button>
+ <type>DVD_RIP</type>
+ <text>Low Quality</text>
+ <description>Creates a low quality MPEG4 of your DVD</description>
+ <action>EXEC /usr/LH/bin/ripD_eject.sh l &amp;</action>
+ </button>
+
+</mythmenu>
diff --git a/abs/core/mythtv/stable-29/mythtv/menu-xml/game.xml b/abs/core/mythtv/stable-29/mythtv/menu-xml/game.xml
new file mode 100644
index 0000000..293a9e6
--- /dev/null
+++ b/abs/core/mythtv/stable-29/mythtv/menu-xml/game.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<mythmenu name="GAME">
+
+ <button>
+ <type>GAME</type>
+ <text>MythGame</text>
+ <description>Play video games</description>
+ <action>PLUGIN mythgame</action>
+ <depends>mythgame</depends>
+ </button>
+
+</mythmenu>
diff --git a/abs/core/mythtv/stable-29/mythtv/menu-xml/info_menu.xml b/abs/core/mythtv/stable-29/mythtv/menu-xml/info_menu.xml
new file mode 100644
index 0000000..017f90b
--- /dev/null
+++ b/abs/core/mythtv/stable-29/mythtv/menu-xml/info_menu.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<mythmenu name="INFO">
+
+ <button>
+ <type>NEWS</type>
+ <text>News Feeds</text>
+ <description>Keep up with the news</description>
+ <action>PLUGIN mythnews</action>
+ <depends>mythnews</depends>
+ </button>
+
+ <button>
+ <type>MYTHTWITTER_TIMELINE</type>
+ <text>Twitter</text>
+ <description>Send and receive tweets</description>
+ <action>JUMP MythTwitter_Timeline</action>
+ <depends>mythtwitter</depends>
+ </button>
+
+ <button>
+ <type>WEATHER</type>
+ <text>Weather</text>
+ <action>PLUGIN mythweather</action>
+ <description>Local weather forecast</description>
+ <depends>mythweather</depends>
+ </button>
+
+ <button>
+ <type>WEATHER</type>
+ <text>Weather Station</text>
+ <action>PLUGIN mythwstation</action>
+ <depends>mythwstation</depends>
+ </button>
+
+ <button>
+ <type>WEBPAGE</type>
+ <text>Web</text>
+ <description>Browse the web</description>
+ <action>PLUGIN mythbrowser</action>
+ <depends>mythbrowser</depends>
+ </button>
+
+ <button>
+ <type>RECIPE</type>
+ <text>Recipes</text>
+ <description>Start cooking!</description>
+ <action>PLUGIN mythRecipe</action>
+ <depends>mythrecipe</depends>
+ </button>
+
+ <button>
+ <type>TV_STATUS</type>
+ <text>System Status</text>
+ <description>See what your system is doing</description>
+ <action>TV_STATUS</action>
+ </button>
+
+ <button>
+ <type>ZONEMINDER</type>
+ <text>ZoneMinder</text>
+ <description>Home surveillance</description>
+ <action>PLUGIN mythzoneminder</action>
+ <depends>mythzoneminder</depends>
+ </button>
+
+<!--
+ <button>
+ <type>SMOLT</type>
+ <text>Hardware profile</text>
+ <description>Tell us what hardware you have so we can support it</description>
+ <action>PLUGIN mythsmolt</action>
+ <depends>mythsmolt</depends>
+ </button>
+ -->
+
+</mythmenu>
diff --git a/abs/core/mythtv/stable-29/mythtv/menu-xml/is.xml b/abs/core/mythtv/stable-29/mythtv/menu-xml/is.xml
new file mode 100644
index 0000000..19efc34
--- /dev/null
+++ b/abs/core/mythtv/stable-29/mythtv/menu-xml/is.xml
@@ -0,0 +1,3 @@
+<mythmenu name="INTERNET_STREAMS">
+
+</mythmenu>
diff --git a/abs/core/mythtv/stable-29/mythtv/menu-xml/lh_backend_control.xml b/abs/core/mythtv/stable-29/mythtv/menu-xml/lh_backend_control.xml
new file mode 100644
index 0000000..0b0cc17
--- /dev/null
+++ b/abs/core/mythtv/stable-29/mythtv/menu-xml/lh_backend_control.xml
@@ -0,0 +1,24 @@
+<mythmenu name="LH_BACKEND">
+
+ <button>
+ <type></type>
+ <text>Start MythBackend</text>
+ <description>Start the Master MythBackend</description>
+ <action>EXEC lh_backend_control.sh start</action>
+ </button>
+
+ <button>
+ <type></type>
+ <text>Stop MythBackend</text>
+ <description>Stop the Master MythBackend</description>
+ <action>EXEC lh_backend_control.sh stop</action>
+ </button>
+
+ <button>
+ <type></type>
+ <text>Restart MythBackend</text>
+ <description>Restart the Master MythBackend</description>
+ <action>EXEC lh_backend_control.sh restart</action>
+ </button>
+
+</mythmenu>
diff --git a/abs/core/mythtv/stable-29/mythtv/menu-xml/library.xml.patch b/abs/core/mythtv/stable-29/mythtv/menu-xml/library.xml.patch
new file mode 100644
index 0000000..0c0177a
--- /dev/null
+++ b/abs/core/mythtv/stable-29/mythtv/menu-xml/library.xml.patch
@@ -0,0 +1,25 @@
+--- themes/defaultmenu/library.xml.orig 2014-11-26 20:21:35.092552944 +0000
++++ themes/defaultmenu/library.xml 2014-11-26 20:22:43.103983263 +0000
+@@ -56,6 +56,13 @@
+ </button>
+
+ <button>
++ <type>STREAM</type>
++ <text>Online Content</text>
++ <description>Play content from online sources</description>
++ <action>MENU gen_is.xml</action>
++ </button>
++
++ <button>
+ <type>IMAGES</type>
+ <text>Image Gallery</text>
+ <description>Look at Pictures</description>
+@@ -67,7 +74,7 @@
+ <type>GAME</type>
+ <text>Play Games</text>
+ <description>Play video games</description>
+- <action>PLUGIN mythgame</action>
++ <action>MENU game.xml</action>
+ <depends>mythgame</depends>
+ </button>
+
diff --git a/abs/core/mythtv/stable-29/mythtv/menu-xml/linhes.xml b/abs/core/mythtv/stable-29/mythtv/menu-xml/linhes.xml
new file mode 100644
index 0000000..fe7640d
--- /dev/null
+++ b/abs/core/mythtv/stable-29/mythtv/menu-xml/linhes.xml
@@ -0,0 +1,70 @@
+<mythmenu name="LH_SERVICE_MENU">
+
+ <button>
+ <type>SETUP_GENERAL</type>
+ <text>MythTV Settings</text>
+ <text lang="IT">Impostazioni</text>
+ <text lang="ES">Configuración</text>
+ <text lang="DE">Zubehör / Konfiguration</text>
+ <text lang="DA">Tilbehør/Indstillinger</text>
+ <text lang="IS">Uppsetning</text>
+ <text lang="NL">Configuratie</text>
+ <text lang="PT">Utensílios</text>
+ <text lang="SV">Verktyg / Inställningar</text>
+ <text lang="JA">設~Z</text>
+ <text lang="FI">Oheis/Asetukset</text>
+ <text lang="ZH_TW">工~E/設~Z</text>
+ <text lang="SL">Nastavitve</text>
+ <text lang="ET">Utiliidid / sätted</text>
+ <text lang="RU">У~Bили~B~K / ~]а~A~B~@ойки</text>
+ <text lang="AR">تضب~Jطات</text>
+ <text lang="PL">Narz~Ydzia / ustawienia</text>
+ <text lang="HE">ע~Vר~Y~] / ~T~R~Sר~Uת</text>
+ <text lang="HU">Eszközök / Beállítások</text>
+ <alttext lang="DE">Verschiedenes</alttext>
+ <alttext lang="SV">Inställningar</alttext>
+ <alttext lang="ET">Sätted</alttext>
+ <alttext lang="RU">~]а~A~B~@ойки</alttext>
+ <alttext lang="AR">تضب~Jطات</alttext>
+ <description>Configure MythTV and Plugins</description>
+ <description lang="DE">MythTV und Plugins konfigurieren</description>
+ <action>MENU util_menu.xml</action>
+ </button>
+
+ <button>
+ <type>LINHES_SETUP</type>
+ <text>LinHES Settings</text>
+ <description>Configure the LinHES System</description>
+ <action>MENU HOST_SETTINGS.xml</action>
+ </button>
+
+ <button>
+ <type>TOOLS</type>
+ <text>LinHES Tools</text>
+ <description>Utilities for LinHES System</description>
+ <action>MENU linhes_tools.xml</action>
+ </button>
+
+ <button>
+ <type>BACKUP</type>
+ <text>Backup LinHES</text>
+ <description>Backup the LinHES System</description>
+ <action>MENU mythbackup.xml</action>
+ </button>
+
+ <button>
+ <type>RESTORE</type>
+ <text>Restore LinHES</text>
+ <description>Restore the LinHES System</description>
+ <action>MENU mythrestore.xml</action>
+ </button>
+
+<!--#Check for updates-->
+ <button>
+ <type>UPGRADE</type>
+ <text>Update LinHES</text>
+ <description>Update the LinHES System</description>
+ <action>MENU update.xml</action>
+ </button>
+<!--#Check for updates-->
+</mythmenu>
diff --git a/abs/core/mythtv/stable-29/mythtv/menu-xml/linhes_tools.xml b/abs/core/mythtv/stable-29/mythtv/menu-xml/linhes_tools.xml
new file mode 100644
index 0000000..feabe8e
--- /dev/null
+++ b/abs/core/mythtv/stable-29/mythtv/menu-xml/linhes_tools.xml
@@ -0,0 +1,31 @@
+<mythmenu name="LH_TOOLS">
+
+ <button>
+ <type></type>
+ <text>Show Help</text>
+ <description>Display the LinHES help screen</description>
+ <action>EXEC mythinstall -H</action>
+ </button>
+
+ <button>
+ <type></type>
+ <text>Toggle Pointer</text>
+ <description>Show/Hide the mouse pointer</description>
+ <action>EXEC unclutter-toggle.sh</action>
+ </button>
+
+ <button>
+ <type></type>
+ <text>MythBackend</text>
+ <description>Start/Stop MythBackend</description>
+ <action>MENU lh_backend_control.xml</action>
+ </button>
+
+ <button>
+ <type></type>
+ <text>MythTV-Setup</text>
+ <description>Open mythtv-setup</description>
+ <action>EXEC mythtv-setup</action>
+ </button>
+
+</mythmenu>
diff --git a/abs/core/mythtv/stable-29/mythtv/menu-xml/mainmenu.xml.patch b/abs/core/mythtv/stable-29/mythtv/menu-xml/mainmenu.xml.patch
new file mode 100644
index 0000000..3ddce0b
--- /dev/null
+++ b/abs/core/mythtv/stable-29/mythtv/menu-xml/mainmenu.xml.patch
@@ -0,0 +1,15 @@
+--- themes/defaultmenu/mainmenu.xml.orig 2014-09-02 20:03:34.658600292 +0000
++++ themes/defaultmenu/mainmenu.xml 2014-09-03 15:49:34.820056829 +0000
+@@ -45,9 +45,9 @@
+
+ <button>
+ <type>MENU_UTILITIES_SETUP</type>
+- <text>Setup</text>
+- <description>Configure MythTV and plugins</description>
+- <action>MENU main_settings.xml</action>
++ <text>Service Menu</text>
++ <description>Configure your system</description>
++ <action>MENU linhes.xml</action>
+ <password>SetupPinCode</password>
+ </button>
+
diff --git a/abs/core/mythtv/stable-29/mythtv/menu-xml/mythbackup.xml b/abs/core/mythtv/stable-29/mythtv/menu-xml/mythbackup.xml
new file mode 100644
index 0000000..176591b
--- /dev/null
+++ b/abs/core/mythtv/stable-29/mythtv/menu-xml/mythbackup.xml
@@ -0,0 +1,22 @@
+<mythmenu name="LH_BACKUP">
+ <button>
+ <type>BACKUP</type>
+ <text>Backup Now?</text>
+ <description></description>
+ <action>NONE</action>
+ </button>
+
+ <button>
+ <type>BACKUP</type>
+ <text>Yes</text>
+ <description>Start Backup</description>
+ <action>EXEC sudo /usr/LH/bin/lh_system_backup &amp;</action>
+ </button>
+
+ <button>
+ <type>JUMP_RELOAD_THEME</type>
+ <text>No</text>
+ <description>Return to Main Menu</description>
+ <action>JUMP Reload Theme</action>
+ </button>
+</mythmenu>
diff --git a/abs/core/mythtv/stable-29/mythtv/menu-xml/mythrestore.xml b/abs/core/mythtv/stable-29/mythtv/menu-xml/mythrestore.xml
new file mode 100644
index 0000000..d37ba2b
--- /dev/null
+++ b/abs/core/mythtv/stable-29/mythtv/menu-xml/mythrestore.xml
@@ -0,0 +1,24 @@
+<mythmenu name="LH_RESTORE">
+
+ <button>
+ <type>RESTORE</type>
+ <text>Restore Now?</text>
+ <description>Restore the database from the most recent backup</description>
+ <action>NONE</action>
+ </button>
+
+ <button>
+ <type>RESTORE</type>
+ <text>Yes</text>
+ <description>Start Restore</description>
+ <action>EXEC sudo /usr/LH/bin/lh_system_restore &amp;</action>
+ </button>
+
+ <button>
+ <type>JUMP_RELOAD_THEME</type>
+ <text>No</text>
+ <description>Return to Main Menu</description>
+ <action>JUMP Reload Theme</action>
+ </button>
+
+</mythmenu>
diff --git a/abs/core/mythtv/stable-29/mythtv/menu-xml/optical_menu.xml.patch b/abs/core/mythtv/stable-29/mythtv/menu-xml/optical_menu.xml.patch
new file mode 100644
index 0000000..b836e85
--- /dev/null
+++ b/abs/core/mythtv/stable-29/mythtv/menu-xml/optical_menu.xml.patch
@@ -0,0 +1,23 @@
+--- themes/defaultmenu/optical_menu.xml.orig 2012-05-02 18:41:38.000000000 +0000
++++ themes/defaultmenu/optical_menu.xml 2012-07-30 05:33:03.000000000 +0000
+@@ -17,6 +17,20 @@
+ </button>
+
+ <button>
++ <type>DVD_RIP</type>
++ <text>Backup DVD</text>
++ <description>Backup your DVDs</description>
++ <action>MENU dvd_backup.xml</action>
++ </button>
++
++ <button>
++ <type>DVD_RIP</type>
++ <text>Import Files from DVD</text>
++ <description>Import all files from a data DVD</description>
++ <action>EXEC /usr/LH/bin/importfiles.sh &amp;</action>
++ </button>
++
++ <button>
+ <type>MUSIC_RIP</type>
+ <text>Import CD</text>
+ <description>Import music from an audio CD</description>
diff --git a/abs/core/mythtv/stable-29/mythtv/menu-xml/original/create_patch.sh b/abs/core/mythtv/stable-29/mythtv/menu-xml/original/create_patch.sh
new file mode 100644
index 0000000..34d8b8c
--- /dev/null
+++ b/abs/core/mythtv/stable-29/mythtv/menu-xml/original/create_patch.sh
@@ -0,0 +1,5 @@
+#!/bin/bash
+for i in *.xml
+do
+ diff -u $i.orig $i > ../$i.patch
+done
diff --git a/abs/core/mythtv/stable-29/mythtv/menu-xml/siriusmenu.xml.del b/abs/core/mythtv/stable-29/mythtv/menu-xml/siriusmenu.xml.del
new file mode 100644
index 0000000..e317b36
--- /dev/null
+++ b/abs/core/mythtv/stable-29/mythtv/menu-xml/siriusmenu.xml.del
@@ -0,0 +1,419 @@
+<mythmenu name="SIRIUS">
+ <button>
+ <type>MUSIC</type>
+ <text>Sirius Hits 1</text>
+ <action>EXEC /usr/bin/cliSipie siriushits1</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>StarLite</text>
+ <action>EXEC /usr/bin/cliSipie starlite</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Sirius Love</text>
+ <action>EXEC /usr/bin/cliSipie siriuslove</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Movin EZ</text>
+ <action>EXEC /usr/bin/cliSipie movineasy</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Sirius Gold</text>
+ <action>EXEC /usr/bin/cliSipie siriusgold</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>'60s Vibrations</text>
+ <action>EXEC /usr/bin/cliSipie 60svibrations</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Totally '70s</text>
+ <action>EXEC /usr/bin/cliSipie totally70s</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Big '80s</text>
+ <action>EXEC /usr/bin/cliSipie big80s</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>ThePulse</text>
+ <action>EXEC /usr/bin/cliSipie thepulse</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Bridge</text>
+ <action>EXEC /usr/bin/cliSipie thebridge</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>BBC Radio 1</text>
+ <action>EXEC /usr/bin/cliSipie bbcradio1</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Super Shuffle</text>
+ <action>EXEC /usr/bin/cliSipie supershuffle</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Elvis Radio</text>
+ <action>EXEC /usr/bin/cliSipie elvisradio</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Classic Vinyl</text>
+ <action>EXEC /usr/bin/cliSipie classicvinyl</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Classic Rewind</text>
+ <action>EXEC /usr/bin/cliSipie classicrewind</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>TheVault</text>
+ <action>EXEC /usr/bin/cliSipie thevault</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Jam_ON</text>
+ <action>EXEC /usr/bin/cliSipie jamon</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Spectrum</text>
+ <action>EXEC /usr/bin/cliSipie thespectrum</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>BuzzSaw</text>
+ <action>EXEC /usr/bin/cliSipie buzzsaw</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Octane</text>
+ <action>EXEC /usr/bin/cliSipie octane</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Alt Nation</text>
+ <action>EXEC /usr/bin/cliSipie altnation</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>1st Wave</text>
+ <action>EXEC /usr/bin/cliSipie firstwave</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Hair Nation</text>
+ <action>EXEC /usr/bin/cliSipie hairnation</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>'90s Alternative</text>
+ <action>EXEC /usr/bin/cliSipie 90salternative</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Garage</text>
+ <action>EXEC /usr/bin/cliSipie undergroundgarage</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Left of Center</text>
+ <action>EXEC /usr/bin/cliSipie leftofcenter</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Hard Attack</text>
+ <action>EXEC /usr/bin/cliSipie hardattack</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Faction</text>
+ <action>EXEC /usr/bin/cliSipie faction</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Punk</text>
+ <action>EXEC /usr/bin/cliSipie punk</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>The Coffee House</text>
+ <action>EXEC /usr/bin/cliSipie coffeehouse</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Margaritaville</text>
+ <action>EXEC /usr/bin/cliSipie radiomargaritaville</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Sirius Disorder</text>
+ <action>EXEC /usr/bin/cliSipie siriusdisorder</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Reggae</text>
+ <action>EXEC /usr/bin/cliSipie reggaerhythms</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Area 33</text>
+ <action>EXEC /usr/bin/cliSipie area33</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Boombox</text>
+ <action>EXEC /usr/bin/cliSipie boombox</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Chill</text>
+ <action>EXEC /usr/bin/cliSipie chill</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>The Beat</text>
+ <action>EXEC /usr/bin/cliSipie thebeat</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Strobe</text>
+ <action>EXEC /usr/bin/cliSipie thestrobe</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Hip-Hop Nation</text>
+ <action>EXEC /usr/bin/cliSipie hiphopnation</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>BackSpin</text>
+ <action>EXEC /usr/bin/cliSipie backspin</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Shade 45</text>
+ <action>EXEC /usr/bin/cliSipie shade45</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Hot Jamz</text>
+ <action>EXEC /usr/bin/cliSipie hotjamz</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Heart &amp; Soul</text>
+ <action>EXEC /usr/bin/cliSipie heartandsoul</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>SoulTown</text>
+ <action>EXEC /usr/bin/cliSipie soultown</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>New Country</text>
+ <action>EXEC /usr/bin/cliSipie newcountry</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Prime Country</text>
+ <action>EXEC /usr/bin/cliSipie primecountry</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Roadhouse</text>
+ <action>EXEC /usr/bin/cliSipie theroadhouse</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Outlaw Country</text>
+ <action>EXEC /usr/bin/cliSipie outlawcountry</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Bluegrass</text>
+ <action>EXEC /usr/bin/cliSipie bluegrass</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Spirit</text>
+ <action>EXEC /usr/bin/cliSipie spirit</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Praise</text>
+ <action>EXEC /usr/bin/cliSipie praise</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Planet Jazz</text>
+ <action>EXEC /usr/bin/cliSipie planetjazz</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>JazzCafe</text>
+ <action>EXEC /usr/bin/cliSipie jazzcafe</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>PureJazz</text>
+ <action>EXEC /usr/bin/cliSipie purejazz</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Spa 73</text>
+ <action>EXEC /usr/bin/cliSipie spa73</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Blues</text>
+ <action>EXEC /usr/bin/cliSipie siriusblues</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Siriusly Sinatra</text>
+ <action>EXEC /usr/bin/cliSipie siriuslysinatra</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Broadway's Best</text>
+ <action>EXEC /usr/bin/cliSipie broadwaysbest</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Symphony Hall</text>
+ <action>EXEC /usr/bin/cliSipie symphonyhall</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Met Opera Radio</text>
+ <action>EXEC /usr/bin/cliSipie metropolitanopera</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Sirius Pops</text>
+ <action>EXEC /usr/bin/cliSipie siriuspops</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Universo Latino</text>
+ <action>EXEC /usr/bin/cliSipie universolatino</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Rumbon</text>
+ <action>EXEC /usr/bin/cliSipie rumbon</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Martha Stewart</text>
+ <action>EXEC /usr/bin/cliSipie marthastewartlivingradio</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Sirius Stars</text>
+ <action>EXEC /usr/bin/cliSipie siriusstars</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>OutQ Gay Radio</text>
+ <action>EXEC /usr/bin/cliSipie siriusoutq</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Patriot</text>
+ <action>EXEC /usr/bin/cliSipie siriuspatriot</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Left</text>
+ <action>EXEC /usr/bin/cliSipie siriusleft</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>CNN</text>
+ <action>EXEC /usr/bin/cliSipie cnn</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>wrn</text>
+ <action>EXEC /usr/bin/cliSipie wrn</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Blue Collar Comedy</text>
+ <action>EXEC /usr/bin/cliSipie bluecollarcomedy</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Raw Dog Comedy</text>
+ <action>EXEC /usr/bin/cliSipie rawdog</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Laugh Break Comedy</text>
+ <action>EXEC /usr/bin/cliSipie laughbreak</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>thefoxxhole</text>
+ <action>EXEC /usr/bin/cliSipie thefoxxhole</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>lime</text>
+ <action>EXEC /usr/bin/cliSipie lime</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Kids Stuff</text>
+ <action>EXEC /usr/bin/cliSipie kidsstuff</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Catholic Channel</text>
+ <action>EXEC /usr/bin/cliSipie thecatholicchannel</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>EWTN</text>
+ <action>EXEC /usr/bin/cliSipie ewtnglobal</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>christiantalk</text>
+ <action>EXEC /usr/bin/cliSipie christiantalk</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Sirius NFL Radio</text>
+ <action>EXEC /usr/bin/cliSipie siriusnflradio</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Maxim Radio</text>
+ <action>EXEC /usr/bin/cliSipie maximradio</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Cosmo Radio</text>
+ <action>EXEC /usr/bin/cliSipie cosmopolitanradio</action>
+ </button>
+ <button>
+ <type>TV_DELETE</type>
+ <text>Stop Listening</text>
+ <action>EXEC /usr/bin/sipie_kill</action>
+ </button>
+
+</mythmenu>
+
diff --git a/abs/core/mythtv/stable-29/mythtv/menu-xml/update.xml b/abs/core/mythtv/stable-29/mythtv/menu-xml/update.xml
new file mode 100644
index 0000000..2d47e7d
--- /dev/null
+++ b/abs/core/mythtv/stable-29/mythtv/menu-xml/update.xml
@@ -0,0 +1,11 @@
+<mythmenu name="LH_UPDATE">
+
+ <button>
+ <type>JUMP Reload Theme</type>
+ <text>Check for Updates</text>
+ <description>Search for LinHES system updates</description>
+ <action>EXEC sudo /usr/LH/bin/linhes_update.sh</action>
+ <action>JUMP Reload Theme</action>
+ </button>
+
+</mythmenu>
diff --git a/abs/core/mythtv/stable-29/mythtv/menu-xml/update2.xml b/abs/core/mythtv/stable-29/mythtv/menu-xml/update2.xml
new file mode 100644
index 0000000..4eee8cc
--- /dev/null
+++ b/abs/core/mythtv/stable-29/mythtv/menu-xml/update2.xml
@@ -0,0 +1,25 @@
+<mythmenu name="LH_UPDATE">
+
+ <button>
+ <type>UPGRADE</type>
+ <text>Install Updates</text>
+ <description>Install updates for the LinHES system</description>
+ <action>EXEC sudo /usr/LH/bin/linhes_update2.sh install</action>
+ <action>JUMP Reload Theme</action>
+ </button>
+
+ <button>
+ <type>JUMP_RELOAD_THEME</type>
+ <text>Cancel Updates</text>
+ <description>Return to Main Menu</description>
+ <action>EXEC sudo /usr/LH/bin/linhes_update2.sh</action>
+ <action>JUMP Reload Theme</action>
+ </button>
+
+ <button>
+ <type>UPGRADE</type>
+ <text>View Updates</text>
+ <description>Displays the packages to be updated</description>
+ <action>MENU update3.xml</action>
+ </button>
+</mythmenu>
diff --git a/abs/core/mythtv/stable-29/mythtv/menu-xml/xmmenu.xml.del b/abs/core/mythtv/stable-29/mythtv/menu-xml/xmmenu.xml.del
new file mode 100644
index 0000000..6b26d11
--- /dev/null
+++ b/abs/core/mythtv/stable-29/mythtv/menu-xml/xmmenu.xml.del
@@ -0,0 +1,574 @@
+<!-- Current as of April 25, 2007 -->
+<mythmenu name="XM">
+
+ <button>
+ <type>MUSIC</type>
+ <text>The '40s</text>
+ <action>EXEC /usr/bin/xamp kill 4</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>The '50s</text>
+ <action>EXEC /usr/bin/xamp kill 5</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>The '60s</text>
+ <action>EXEC /usr/bin/xamp kill 6</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>The '70s</text>
+ <action>EXEC /usr/bin/xamp kill 7</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>The '80s</text>
+ <action>EXEC /usr/bin/xamp kill 8</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>The '90s</text>
+ <action>EXEC /usr/bin/xamp kill 9</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>America</text>
+ <action>EXEC /usr/bin/xamp kill 10</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>X Country</text>
+ <action>EXEC /usr/bin/xamp kill 12</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>Willie's Place</text>
+ <action>EXEC /usr/bin/xamp kill 13</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>Bluegrass Junction</text>
+ <action>EXEC /usr/bin/xamp kill 14</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>The Village</text>
+ <action>EXEC /usr/bin/xamp kill 15</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>Highway 16</text>
+ <action>EXEC /usr/bin/xamp kill 16</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>US Country</text>
+ <action>EXEC /usr/bin/xamp kill 17</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>20 on 20</text>
+ <action>EXEC /usr/bin/xamp kill 20</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>The Heart</text>
+ <action>EXEC /usr/bin/xamp kill 23</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>The Blend</text>
+ <action>EXEC /usr/bin/xamp kill 25</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>Flight 26</text>
+ <action>EXEC /usr/bin/xamp kill 26</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>Cinemagic</text>
+ <action>EXEC /usr/bin/xamp kill 27</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>On Broadway</text>
+ <action>EXEC /usr/bin/xamp kill 28</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>U-Pop</text>
+ <action>EXEC /usr/bin/xamp kill 29</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>XM Hitlist</text>
+ <action>EXEC /usr/bin/xamp kill 30</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>Torch</text>
+ <action>EXEC /usr/bin/xamp kill 31</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>The Message</text>
+ <action>EXEC /usr/bin/xamp kill 32</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>Spirit</text>
+ <action>EXEC /usr/bin/xamp kill 33</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>enLighten</text>
+ <action>EXEC /usr/bin/xamp kill 34</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>Deep Tracks</text>
+ <action>EXEC /usr/bin/xamp kill 40</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>Boneyard</text>
+ <action>EXEC /usr/bin/xamp kill 41</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>XM Liquid Metal</text>
+ <action>EXEC /usr/bin/xamp kill 42</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>XMU</text>
+ <action>EXEC /usr/bin/xamp kill 43</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>Fred</text>
+ <action>EXEC /usr/bin/xamp kill 44</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>XM Cafe</text>
+ <action>EXEC /usr/bin/xamp kill 45</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>Top Tracks</text>
+ <action>EXEC /usr/bin/xamp kill 46</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>Ethel</text>
+ <action>EXEC /usr/bin/xamp kill 47</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>Squizz</text>
+ <action>EXEC /usr/bin/xamp kill 48</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>Big Tracks</text>
+ <action>EXEC /usr/bin/xamp kill 49</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>The Loft</text>
+ <action>EXEC /usr/bin/xamp kill 50</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>XM Music Lab</text>
+ <action>EXEC /usr/bin/xamp kill 51</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>The Verge</text>
+ <action>EXEC /usr/bin/xamp kill 52</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>Fungus</text>
+ <action>EXEC /usr/bin/xamp kill 53</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>Lucy</text>
+ <action>EXEC /usr/bin/xamp kill 54</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>Soul Street</text>
+ <action>EXEC /usr/bin/xamp kill 60</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>The Flow</text>
+ <action>EXEC /usr/bin/xamp kill 61</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>Suite 62</text>
+ <action>EXEC /usr/bin/xamp kill 62</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>The Groove</text>
+ <action>EXEC /usr/bin/xamp kill 64</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>The Rhyme</text>
+ <action>EXEC /usr/bin/xamp kill 65</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>RAW</text>
+ <action>EXEC /usr/bin/xamp kill 66</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>The City</text>
+ <action>EXEC /usr/bin/xamp kill 67</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>The Heat</text>
+ <action>EXEC /usr/bin/xamp kill 68</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>Real Jazz</text>
+ <action>EXEC /usr/bin/xamp kill 70</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>Watercolors</text>
+ <action>EXEC /usr/bin/xamp kill 71</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>Beyond Jazz</text>
+ <action>EXEC /usr/bin/xamp kill 72</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>High Standards</text>
+ <action>EXEC /usr/bin/xamp kill 73</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>Bluesville</text>
+ <action>EXEC /usr/bin/xamp kill 74</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>Hear Music</text>
+ <action>EXEC /usr/bin/xamp kill 75</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>Fine Tuning</text>
+ <action>EXEC /usr/bin/xamp kill 76</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>Audio Visions</text>
+ <action>EXEC /usr/bin/xamp kill 77</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>Escape</text>
+ <action>EXEC /usr/bin/xamp kill 78</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>On The Rocks</text>
+ <action>EXEC /usr/bin/xamp kill 79</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>The Move</text>
+ <action>EXEC /usr/bin/xamp kill 80</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>BPM</text>
+ <action>EXEC /usr/bin/xamp kill 81</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>The System</text>
+ <action>EXEC /usr/bin/xamp kill 82</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>Chrome</text>
+ <action>EXEC /usr/bin/xamp kill 83</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>XM-Chill</text>
+ <action>EXEC /usr/bin/xamp kill 84</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>Fuego</text>
+ <action>EXEC /usr/bin/xamp kill 90</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>Viva</text>
+ <action>EXEC /usr/bin/xamp kill 91</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>Aguila</text>
+ <action>EXEC /usr/bin/xamp kill 92</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>Caliente</text>
+ <action>EXEC /usr/bin/xamp kill 94</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>Luna</text>
+ <action>EXEC /usr/bin/xamp kill 95</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>Air Musique</text>
+ <action>EXEC /usr/bin/xamp kill 100</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>The Joint</text>
+ <action>EXEC /usr/bin/xamp kill 101</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>Sur La Route</text>
+ <action>EXEC /usr/bin/xamp kill 102</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>World Zone</text>
+ <action>EXEC /usr/bin/xamp kill 103</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>Ngoma</text>
+ <action>EXEC /usr/bin/xamp kill 104</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>XM Classics</text>
+ <action>EXEC /usr/bin/xamp kill 110</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>Vox</text>
+ <action>EXEC /usr/bin/xamp kill 112</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>XM Pops</text>
+ <action>EXEC /usr/bin/xamp kill 113</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>XM Kids</text>
+ <action>EXEC /usr/bin/xamp kill 116</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>Bob Edwards Show</text>
+ <action>EXEC /usr/bin/xamp kill 133</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>XM Comedy</text>
+ <action>EXEC /usr/bin/xamp kill 150</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>Laugh USA</text>
+ <action>EXEC /usr/bin/xamp kill 151</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>Special X</text>
+ <action>EXEC /usr/bin/xamp kill 154</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>The Agenda</text>
+ <action>EXEC /usr/bin/xamp kill 134</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>Oprah and Friends</text>
+ <action>EXEC /usr/bin/xamp kill 156</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>The Virus</text>
+ <action>EXEC /usr/bin/xamp kill 202</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>1 Hit Wonders</text>
+ <action>EXEC /usr/bin/xamp kill 300</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>Metalcore</text>
+ <action>EXEC /usr/bin/xamp kill 301</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>New Indie First</text>
+ <action>EXEC /usr/bin/xamp kill 302</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>Late Night Mix</text>
+ <action>EXEC /usr/bin/xamp kill 303</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>Sessions@AOL</text>
+ <action>EXEC /usr/bin/xamp kill 304</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>Shuffle</text>
+ <action>EXEC /usr/bin/xamp kill 305</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>New Rock First</text>
+ <action>EXEC /usr/bin/xamp kill 306</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>New Country First</text>
+ <action>EXEC /usr/bin/xamp kill 307</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>New Hip Hop First</text>
+ <action>EXEC /usr/bin/xamp kill 308</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>New Pop First</text>
+ <action>EXEC /usr/bin/xamp kill 309</action>
+ </button>
+
+ <button>
+ <type>TV_DELETE</type>
+ <text>Stop Listening</text>
+ <action>EXEC /usr/bin/xamp kill</action>
+ </button>
+
+</mythmenu>
diff --git a/abs/core/mythtv/stable-29/mythtv/myth_settings.patch b/abs/core/mythtv/stable-29/mythtv/myth_settings.patch
new file mode 100644
index 0000000..aebff2a
--- /dev/null
+++ b/abs/core/mythtv/stable-29/mythtv/myth_settings.patch
@@ -0,0 +1,1960 @@
+commit 0bfb6515f1c6f10d4d9d5d7297ca56a18ac3c138
+Author: James Meyer <james.meyer@operamail.com>
+Date: Sun Nov 17 18:58:50 2013 -0600
+
+ mythutil updated with myth_settings for .27
+
+diff --git a/mythtv/libs/libmythbase/mythcorecontext.cpp b/mythtv/libs/libmythbase/mythcorecontext.cpp
+index e9cc880..4f7a3bd 100644
+--- a/mythtv/libs/libmythbase/mythcorecontext.cpp
++++ b/mythtv/libs/libmythbase/mythcorecontext.cpp
+@@ -1262,6 +1262,90 @@ void MythCoreContext::ResetLanguage(void)
+ d->language.clear();
+ }
+
++//JM ADDED
++void MythCoreContext::savesettings_togroup (QString src_hostname,
++ QString saved_settingsgroupname )
++{
++ return d->m_database->savesettings_togroup(src_hostname,
++ saved_settingsgroupname);
++}
++
++void MythCoreContext::deletesettings(QString delete_hostname,
++ QString saved_settingsgroupname)
++{
++ return d->m_database->deletesettings(delete_hostname,
++ saved_settingsgroupname);
++}
++
++QMap<QString,QStringList> MythCoreContext::list_settingsgroupname()
++{
++ return d->m_database->list_settingsgroupname();
++}
++
++QMap<QString,QStringList> MythCoreContext::diff_settingsgroupname(
++ QString diff_hostname1,
++ QString diff_hostname2,
++ QStringList table_list)
++{
++ return d->m_database->diff_settingsgroupname(diff_hostname1,
++ diff_hostname2,
++ table_list);
++}
++
++void MythCoreContext::clonesettings(QString src_hostname,
++ QString saved_settingsgroupname,
++ QStringList table_list,
++ bool is_full_clone,
++ QString dest_hostname)
++{
++ return d->m_database->clonesettings(src_hostname,
++ saved_settingsgroupname,
++ table_list,
++ is_full_clone,
++ dest_hostname);
++}
++
++void MythCoreContext::restoresettings(QString dest_hostname,
++ QString saved_settingsgroupname,
++ QStringList table_list )
++{
++ return d->m_database->restoresettings( dest_hostname,
++ saved_settingsgroupname,
++ table_list);
++}
++
++void MythCoreContext::change_hostname(QString old_hostname,
++ QString new_hostname)
++{
++ return d->m_database->change_hostname(old_hostname, new_hostname) ;
++}
++
++bool MythCoreContext::settings_check(QString src_hostname,
++ QString saved_settingsgroupname)
++{
++ return d->m_database->settings_check(src_hostname,saved_settingsgroupname);
++}
++
++void MythCoreContext::import_settings(QMap<QString,QString> vp_map,
++ QString table)
++{
++ return d->m_database->import_settings(vp_map, table);
++}
++
++
++QMap<QString, QMap<QString,QString> > MythCoreContext::export_settings(
++ QString src_hostname,
++ QString saved_settingsgroupname,
++ QStringList table_list, bool skip_host )
++{
++ return d->m_database->export_settings(src_hostname,
++ saved_settingsgroupname,
++ table_list , skip_host );
++}
++
++//END JM ADDED
++
++
+ void MythCoreContext::InitLocale(void )
+ {
+ if (!d->m_locale)
+diff --git a/mythtv/libs/libmythbase/mythcorecontext.h b/mythtv/libs/libmythbase/mythcorecontext.h
+index aed83d7..3f0de5e 100644
+--- a/mythtv/libs/libmythbase/mythcorecontext.h
++++ b/mythtv/libs/libmythbase/mythcorecontext.h
+@@ -240,6 +240,39 @@ class MBASE_PUBLIC MythCoreContext : pub
+ void emitTVPlaybackAborted(void) { emit TVPlaybackAborted(); }
+ void emitTVPlaybackPlaying(void) { emit TVPlaybackPlaying(); }
+
++ //JM ADDED
++ void savesettings_togroup(QString src_hostname,
++ QString saved_settingsgroupname );
++
++ void deletesettings(QString delete_hostname,
++ QString saved_settingsgroupname);
++
++ QMap<QString,QStringList> list_settingsgroupname();
++ QMap<QString,QStringList> diff_settingsgroupname(QString diff_hostname1,
++ QString diff_hostname2,
++ QStringList table_list);
++
++ void clonesettings(QString src_hostname,
++ QString saved_settingsgroupname,
++ QStringList table_list,
++ bool is_full_clone = true,
++ QString dest_hostname="");
++
++ void restoresettings (QString dest_hostname,
++ QString saved_settingsgroupname,
++ QStringList table_list);
++
++ void change_hostname (QString old_hostname, QString new_hostname);
++
++ bool settings_check (QString src_hostname ,QString saved_settingsgroupname);
++ void import_settings(QMap<QString,QString> vp_map, QString table);
++
++ QMap<QString,QMap <QString,QString> > export_settings(
++ QString src_hostname,
++ QString saved_settingsgroupname,
++ QStringList table_list,
++ bool skip_host = false );
++ //END JM ADDED
+
+ signals:
+ void TVPlaybackStarted(void);
+diff --git a/mythtv/libs/libmythbase/mythdb.cpp b/mythtv/libs/libmythbase/mythdb.cpp
+index e60fce0..ed3bdf7 100644
+--- a/mythtv/libs/libmythbase/mythdb.cpp
++++ b/mythtv/libs/libmythbase/mythdb.cpp
+@@ -896,6 +896,1015 @@ void MythDB::WriteDelayedSettings(void)
+ }
+ }
+
++//JM ADDED
++void MythDB::savesettings_togroup(QString src_hostname,
++ QString saved_settingsgroupname )
++{
++ LOG(VB_GENERAL, LOG_ERR, QString("Using hostname of : %1")
++ .arg(src_hostname));
++ LOG(VB_GENERAL, LOG_ERR, QString("Saving to group: %1")
++ .arg(saved_settingsgroupname));
++ if ( settings_check( src_hostname , "current" ) )
++ {
++ QStringList table_list;
++ QString hostname_clause;
++ table_list.append("settings");
++ table_list.append("keybindings");
++ table_list.append("jumppoints");
++ if ( src_hostname == "GLOBAL" )
++ hostname_clause = "hostname IS NULL";
++ else
++ hostname_clause ="hostname = :HOSTNAME";
++
++ foreach (QString table, table_list)
++ {
++ QString dest_tablename = table +"_" + saved_settingsgroupname ;
++ create_new_table(dest_tablename,table);
++
++ QString query_string;
++ // Remove old saved values
++ MSqlQuery query(MSqlQuery::InitCon());
++ query_string = QString("DELETE FROM %1 WHERE %2")
++ .arg(dest_tablename)
++ .arg(hostname_clause);
++
++ //query_string = QString("DELETE FROM %1 WHERE "
++ // "hostname = :HOSTNAME").arg(dest_tablename);
++
++ query.prepare(query_string);
++ query.bindValue(":HOSTNAME" ,src_hostname);
++ query.exec();
++
++ //insert all new settings
++ query_string = QString("REPLACE INTO %1 "
++ "SELECT * from %2 where %3")
++ .arg(dest_tablename)
++ .arg(table)
++ .arg(hostname_clause);
++// query_string = QString("REPLACE INTO %1 "
++// "SELECT * from %2 where hostname = :HOSTNAME)")
++// .arg(dest_tablename)
++// .arg(table);
++
++ query.prepare(query_string);
++ query.bindValue(":HOSTNAME",src_hostname);
++ query.exec();
++ }
++ }
++ else
++ LOG(VB_GENERAL| VB_STDIO|VB_FLUSH, LOG_ERR,
++ QString("Couldn't find settings for: %1 \n").arg(src_hostname));
++ return;
++
++};
++
++void MythDB::deletesettings(QString delete_hostname,
++ QString saved_settingsgroupname)
++{
++ LOG(VB_GENERAL, LOG_ERR, QString("Using hostname of : %1")
++ .arg(delete_hostname));
++ LOG(VB_GENERAL, LOG_ERR, QString("Deleting: %1")
++ .arg(saved_settingsgroupname));
++ int tempItem;
++ QString src_tablename;
++ QStringList table_list;
++
++ table_list.append("settings");
++ table_list.append("keybindings");
++ table_list.append("jumppoints");
++ QString hostname_clause;
++ if ( delete_hostname == "GLOBAL" )
++ hostname_clause = "hostname IS NULL";
++ else
++ hostname_clause ="hostname = :HOSTNAME";
++
++ foreach (QString table, table_list)
++ {
++ src_tablename = find_group_table_name(table, saved_settingsgroupname);
++ MSqlQuery query(MSqlQuery::InitCon());
++ // Remove old saved values
++ if ( does_table_exist(src_tablename))
++ {
++ QString query_string = QString("DELETE from %1 "
++ "WHERE %2")
++ .arg(src_tablename)
++ .arg(hostname_clause);
++ query.prepare(query_string);
++ query.bindValue(":HOSTNAME" ,delete_hostname);
++ query.exec();
++
++ //check if ok to delete table
++ query_string = QString("SELECT count(*) from %1")
++ .arg(src_tablename);
++ query.prepare(query_string);
++ if (query.exec() && query.isActive() && query.size() > 0)
++ {
++ query.next();
++ tempItem = query.value(0).toInt();
++ if ( tempItem == 0 )
++ drop_temp_table(src_tablename);
++ }
++ }
++ else
++ LOG(VB_GENERAL, LOG_ERR,
++ QString("Couldn't find table: %1").arg(src_tablename));
++ }
++ return;
++}; // end delete settings
++
++
++QMap<QString,QStringList> MythDB::list_settingsgroupname()
++{
++ //Returns a QMAP of "settings_groups: hostname"
++ MSqlQuery query(MSqlQuery::InitCon());
++ MSqlQuery subquery(MSqlQuery::InitCon());
++ QString tempItem;
++ QString temp_hostnameItem;
++ QStringList hostname_list;
++ QMap<QString,QStringList> return_list;
++ QString full_table_name;
++ query.prepare( "show tables like \"settings%\" " );
++ if (query.exec() && query.isActive() && query.size() > 0)
++ {
++ while (query.next())
++ {
++ full_table_name = query.value(0).toString();
++ tempItem=query.value(0).toString().remove(QRegExp("settings_"));
++ if ( tempItem != "distro_default" )
++ {
++ //loop over tables looking for hostnames
++ QString query_string = QString("SELECT DISTINCT "
++ "hostname from %1")
++ .arg(full_table_name);
++ subquery.prepare(query_string);
++
++ if (subquery.exec() && subquery.isActive()
++ && subquery.size() > 0)
++ {
++ while (subquery.next())
++ {
++ temp_hostnameItem = subquery.value(0).toString();
++ hostname_list.append(temp_hostnameItem);
++ }
++ }
++ //Special case of naming for the settings table;
++ //This only affects output.
++ if ( tempItem == "settings" )
++ return_list["current"] = hostname_list;
++ else
++ return_list[tempItem] = hostname_list;
++
++ //reset hostname_list for the next group
++ hostname_list = QStringList();
++ }
++ }
++ }
++ return return_list;
++}; // end list_settingsgroupname
++
++QMap<QString,QStringList> MythDB::diff_settingsgroupname(
++ QString diff_hostname1 ,
++ QString diff_hostname2,
++ QStringList table_list )
++{
++ // Returns a QMAP of tablename : diff results
++ LOG(VB_GENERAL, LOG_ERR, QString("Comparing settings for:"));
++ LOG(VB_GENERAL, LOG_ERR, QString("host 1: %1").arg(diff_hostname1));
++ LOG(VB_GENERAL, LOG_ERR, QString("host 2: %1").arg(diff_hostname2));
++
++ QString qstr;
++ QString tempItem;
++ QString tempString;
++
++ QStringList diff_list;
++ QStringList settings_list;
++ QStringList keybinding_list;
++
++ QMap<QString,QStringList> return_list;
++ if ( table_list.isEmpty() )
++ {
++ table_list.append("settings");
++ table_list.append("keybindings");
++ }
++
++ MSqlQuery query(MSqlQuery::InitCon());
++ foreach (QString table, table_list)
++ {
++ if ( table == "settings")
++ {
++
++ qstr= "SELECT distinct settings.value, :DIFF_HOSTNAME1 AS `hostname`, settings_a.data, :DIFF_HOSTNAME2 AS `hostname`"
++ " , settings_b.data FROM settings LEFT JOIN settings AS settings_a ON settings_a.value = settings.value AND settings_a.hostname = :DIFF_HOSTNAME1"
++ " LEFT JOIN settings AS settings_b ON settings_b.value = settings.value AND settings_b.hostname = :DIFF_HOSTNAME2"
++ " WHERE settings_a.data != settings_b.data OR "
++ " (settings_a.data IS NULL AND settings_b.data IS NOT NULL) OR (settings_a.data IS NOT NULL AND settings_b.data IS NULL);";
++
++ query.prepare(qstr);
++ query.bindValue(":DIFF_HOSTNAME1" , diff_hostname1);
++ query.bindValue(":DIFF_HOSTNAME2" , diff_hostname2);
++
++ if (query.exec() && query.isActive() && query.size() > 0)
++ {
++ while (query.next())
++ {
++ tempString="";
++ //value
++ tempItem = query.value(0).toString();
++ tempString.append(tempItem);
++ tempString.append("|");
++
++ //hostname_1
++ tempItem = query.value(1).toString();
++ if (tempItem.isEmpty())
++ tempItem=diff_hostname1;
++ tempString.append(tempItem);
++ tempString.append("|");
++
++ //data
++ tempItem = query.value(2).toString();
++ if (tempItem.isEmpty())
++ tempItem="NULL";
++ tempString.append(tempItem);
++ tempString.append("|");
++
++ //hostname_2
++ tempItem = query.value(3).toString();
++ if (tempItem.isEmpty())
++ tempItem=diff_hostname2;
++ tempString.append(tempItem);
++ tempString.append("|");
++
++ //data
++ tempItem = query.value(4).toString();
++ if (tempItem.isEmpty())
++ tempItem="NULL";
++ tempString.append(tempItem);
++
++ settings_list.append(tempString);
++ }
++ return_list["Settings"] = settings_list;
++ }
++ }
++ else if ( table == "keybindings")
++ {
++
++ qstr="SELECT distinct keybindings.context, keybindings.action, :DIFF_HOSTNAME1 AS `hostname`, keybindings_a.keylist, :DIFF_HOSTNAME2 AS `hostname`, keybindings_b.keylist FROM keybindings "
++ " LEFT JOIN keybindings AS keybindings_a ON keybindings_a.context = keybindings.context AND keybindings_a.action = keybindings.action "
++ " AND keybindings_a.hostname = :DIFF_HOSTNAME1 "
++ " LEFT JOIN keybindings AS keybindings_b ON keybindings_b.context = keybindings.context "
++ " AND keybindings_b.action = keybindings.action AND keybindings_b.hostname = :DIFF_HOSTNAME2 "
++ " WHERE keybindings_a.keylist != keybindings_b.keylist OR "
++ " (keybindings_a.keylist IS NULL AND keybindings_b.keylist IS NOT NULL) OR (keybindings_a.keylist IS NOT NULL AND keybindings_b.keylist IS NULL);";
++ query.prepare(qstr);
++ query.bindValue(":DIFF_HOSTNAME1" , diff_hostname1);
++ query.bindValue(":DIFF_HOSTNAME2" , diff_hostname2);
++
++ if (query.exec() && query.isActive() && query.size() > 0)
++ {
++ while (query.next())
++ {
++ tempString="";
++ //context
++ tempItem = query.value(0).toString();
++ tempString.append(tempItem);
++ tempString.append("|");
++
++ //action
++ tempItem = query.value(1).toString();
++ tempString.append(tempItem);
++ tempString.append("|");
++
++ //hostname
++ tempItem = query.value(2).toString();
++ if (tempItem.isEmpty())
++ tempItem=diff_hostname1;
++ tempString.append(tempItem);
++ tempString.append("|");
++
++ //keylist
++ tempItem = query.value(3).toString();
++ if (tempItem.isEmpty())
++ tempItem="NULL";
++ tempString.append(tempItem);
++ tempString.append("|");
++
++ //hostname
++ tempItem = query.value(4).toString();
++ if (tempItem.isEmpty())
++ tempItem=diff_hostname2;
++ tempString.append(tempItem);
++ tempString.append("|");
++
++ //keylist
++ tempItem = query.value(5).toString();
++ if (tempItem.isEmpty())
++ tempItem="NULL";
++ tempString.append(tempItem);
++ keybinding_list.append(tempString);
++ }
++ return_list["Keybindings"] = keybinding_list;
++ }
++ }
++
++ }
++ return return_list;
++}; //end diff_settingsgroupname
++
++void MythDB::clonesettings(QString src_hostname,
++ QString saved_settingsgroupname,
++ QStringList table_list,
++ bool is_full_clone, QString dest_hostname)
++{
++ LOG(VB_GENERAL, LOG_ERR, QString("Using src hostname of : %1")
++ .arg(src_hostname));
++ LOG(VB_GENERAL, LOG_ERR, QString("Using dest hostname of : %1")
++ .arg(dest_hostname));
++ LOG(VB_GENERAL, LOG_ERR, QString("Cloning setting group: %1")
++ .arg(saved_settingsgroupname));
++ LOG(VB_GENERAL, LOG_ERR, QString("Full Copy : %1")
++ .arg(is_full_clone));
++
++ MSqlQuery query(MSqlQuery::InitCon());
++ QStringList::Iterator it;
++ QString current_table;
++ QString dest_tablename;
++ QString temptable;
++
++ if ( table_list.isEmpty() )
++ {
++ table_list.append("settings");
++ table_list.append("keybindings");
++ table_list.append("jumppoints");
++ }
++
++ for ( it = table_list.begin(); it != table_list.end(); ++it )
++ {
++ current_table = *it ;
++ dest_tablename = find_group_table_name(current_table,
++ saved_settingsgroupname);
++
++ if ( does_table_exist(dest_tablename))
++ {
++ // create temp table for merging settings
++ temptable="temp_table_" + dest_tablename;
++ create_temp_table(temptable, current_table );
++
++ // copy in stored settings
++ QString query_string = QString("REPLACE INTO %1 "
++ "(SELECT * from %2 where hostname = :HOSTNAME)")
++ .arg(temptable)
++ .arg(dest_tablename);
++
++ query.prepare(query_string);
++ query.bindValue(":HOSTNAME",src_hostname );
++ query.exec();
++
++ // update hostname for dest_hostname
++ query_string = QString("UPDATE %1 set hostname = :HOSTNAME")
++ .arg(temptable);
++
++ query.prepare(query_string);
++ query.bindValue(":HOSTNAME" , dest_hostname );
++ query.exec();
++
++ //if not full clone remove HOST% settings from temp table;
++ if ( current_table == "settings" && !is_full_clone)
++ {
++ query_string = QString("DELETE FROM %1 WHERE "
++ "hostname=:HOSTNAME and value like 'HOST%' " )
++ .arg(temptable);
++
++ query.prepare(query_string);
++ query.bindValue( ":HOSTNAME" , dest_hostname );
++ query.exec();
++ }
++
++ //remove current settings from dest table,
++ //if not full clone, then leave HOST%
++ //Need to remove because the old table allows for duplicates
++
++ if ( current_table == "settings" && !is_full_clone)
++ query_string = QString ("DELETE FROM %1 WHERE "
++ "hostname = :HOSTNAME "
++ "and value not like 'HOST%'")
++ .arg(dest_tablename);
++
++ else
++ query_string = QString ("DELETE FROM %1 WHERE "
++ "hostname = :HOSTNAME ")
++ .arg(dest_tablename);
++
++ query.prepare(query_string);
++ query.bindValue(":HOSTNAME",dest_hostname);
++ query.exec();
++
++ // copy new settings from temp to current
++ query_string = QString("REPLACE INTO %1 "
++ "(SELECT * from %2)")
++ .arg(dest_tablename)
++ .arg(temptable);
++
++ query.prepare(query_string);
++ query.exec();
++
++ // drop temptable
++ drop_temp_table(temptable);
++ }
++ else
++ LOG(VB_GENERAL, LOG_NOTICE, QString("Couldn't find table: %1")
++ .arg(dest_tablename));
++ }
++}; //end clonesettings
++
++void MythDB::restoresettings (QString dest_hostname,
++ QString saved_settingsgroupname,
++ QStringList table_list )
++{
++ LOG(VB_GENERAL, LOG_NOTICE, QString("Restoring Settings:"));
++ LOG(VB_GENERAL, LOG_NOTICE, QString(" src: %1")
++ .arg(saved_settingsgroupname));
++ LOG(VB_GENERAL, LOG_NOTICE, QString(" dest:%1")
++ .arg(dest_hostname));
++
++ QString hostname_clause;
++ if ( dest_hostname == "GLOBAL" )
++ hostname_clause = "hostname IS NULL";
++ else
++ hostname_clause ="hostname = :HOSTNAME";
++
++ bool table_check;
++ if ( saved_settingsgroupname == "distro_default" )
++ table_check = settings_check ( "distro_default" , saved_settingsgroupname );
++ else
++ table_check = settings_check ( dest_hostname , saved_settingsgroupname );
++
++
++ if ( table_check == true )
++ {
++ MSqlQuery query(MSqlQuery::InitCon());
++ QStringList::Iterator it;
++ QString current_table;
++ if ( table_list.isEmpty() )
++ {
++ table_list.append("settings");
++ table_list.append("keybindings");
++ table_list.append("jumppoints");
++ }
++
++ for ( it = table_list.begin(); it != table_list.end(); ++it )
++ {
++ current_table = *it ;
++ //find tablenames to use
++ QString src_tablename = find_group_table_name(current_table,
++ saved_settingsgroupname);
++
++ QString temptable="temp_table_" + src_tablename;
++ if ( ! does_table_exist(src_tablename))
++ {
++ LOG(VB_GENERAL, LOG_NOTICE, QString("table does not exist: %1")
++ .arg(src_tablename));
++ continue;
++ }
++ // create temp table for merging settings
++ create_temp_table(temptable, current_table );
++
++ //could copy in current settings here to account for new stuff
++
++
++
++ // copy in stored settings
++ QString query_string;
++ if ( saved_settingsgroupname == "distro_default" )
++ { //special case for restoring default settings
++ query_string = QString("REPLACE INTO %1 "
++ "(SELECT * from %2 WHERE %3)")
++ .arg(temptable)
++ .arg(src_tablename)
++ .arg(hostname_clause);
++
++ query.prepare(query_string);
++ query.bindValue(":HOSTNAME", "distro_default" );
++ query.exec();
++
++ // update hostname in temp table from distro_default
++ query_string = QString("UPDATE %1 set hostname = :HOSTNAME")
++ .arg(temptable);
++
++ query.prepare(query_string);
++ query.bindValue(":HOSTNAME" , dest_hostname );
++ query.exec();
++
++ }
++ else
++ { //normal use case
++ query_string = QString("REPLACE INTO %1 "
++ "(SELECT * from %2 WHERE %3)")
++ .arg(temptable)
++ .arg(src_tablename)
++ .arg(hostname_clause);
++
++ query.prepare(query_string);
++ query.bindValue(":HOSTNAME",dest_hostname );
++ query.exec();
++ }
++
++ //Remove current settings.
++ //Need to remove because the old table allows for duplicates
++ query_string = QString("DELETE FROM %1 WHERE "
++ "%2")
++ .arg(current_table)
++ .arg(hostname_clause);
++
++ query.prepare(query_string);
++ query.bindValue(":HOSTNAME",dest_hostname);
++ query.exec();
++
++ // copy new settings from temp to current
++ query_string = QString("REPLACE INTO %1 "
++ "(SELECT * from %2)")
++ .arg(current_table)
++ .arg(temptable);
++
++ query.prepare(query_string);
++ query.exec();
++ // drop temptable
++ drop_temp_table(temptable);
++ }
++ }
++}; //end restore settings
++
++void MythDB::change_hostname (QString old_hostname, QString new_hostname)
++{
++ LOG(VB_GENERAL, LOG_NOTICE, QString("Changing hostname from %1 -> %2")
++ .arg(old_hostname)
++ .arg(new_hostname));
++
++ MSqlQuery query(MSqlQuery::InitCon());
++ MSqlQuery sub_query(MSqlQuery::InitCon());
++ query.prepare( "SHOW TABLES" );
++
++ if (query.exec() && query.isActive() && query.size() > 0)
++ {
++ while (query.next())
++ {
++ QString table_name = query.value(0).toString();
++ LOG(VB_GENERAL, LOG_NOTICE, QString("Scanning %1")
++ .arg(table_name));
++
++ // LOOP OVER TABLES, CHECK IF IT HAS A HOSTNAME FIELD
++ QString query_string=QString("SHOW COLUMNS from %1 "
++ "where field='hostname'")
++ .arg(table_name);
++ sub_query.prepare(query_string);
++
++ if (sub_query.exec() && sub_query.size() > 0)
++ { //update hostname
++ LOG(VB_GENERAL, LOG_NOTICE, QString(" Updating hostname in: %1")
++ .arg(table_name));
++ query_string = QString("UPDATE %1 SET hostname = :NEW_HOSTNAME "
++ "WHERE hostname = :OLD_HOSTNAME")
++ .arg(table_name);
++ sub_query.prepare(query_string);
++ sub_query.bindValue(":NEW_HOSTNAME" , new_hostname);
++ sub_query.bindValue(":OLD_HOSTNAME" , old_hostname);
++ sub_query.exec();
++ }
++ }
++ }
++
++
++
++
++
++
++}
++
++bool MythDB::settings_check(QString src_hostname,
++ QString saved_settingsgroupname)
++{
++ int tempItem;
++ bool returncode = false ;
++ QString table="settings";
++
++ QString tablename = find_group_table_name(table, saved_settingsgroupname);
++ QString hostname_clause;
++ if ( src_hostname == "GLOBAL" )
++ hostname_clause = "hostname IS NULL";
++ else
++ hostname_clause ="hostname = :HOSTNAME";
++
++ if (does_table_exist (tablename))
++ {
++ MSqlQuery query(MSqlQuery::InitCon());
++ QString query_string = QString("SELECT COUNT(data) from %1 "
++ "WHERE %2")
++ .arg(tablename)
++ .arg(hostname_clause);
++
++ query.prepare(query_string);
++ query.bindValue(":HOSTNAME" , src_hostname );
++
++ if (query.exec() && query.isActive() && query.size() > 0 )
++ {
++ while (query.next())
++ {
++ tempItem = query.value(0).toInt();
++ if ( tempItem >= 1 )
++ returncode = true;
++ else
++ {
++ LOG(VB_GENERAL, LOG_NOTICE,
++ QString("Group %1 does not contain"
++ " valid settings")
++ .arg(saved_settingsgroupname));
++ }
++ }
++ }
++ }
++ else
++ LOG(VB_GENERAL, LOG_NOTICE, QString("Couldn't find table: %1")
++ .arg(tablename));
++ return returncode;
++}; // end settings_check
++
++void MythDB::import_settings(QMap<QString,QString> vp_map,
++ QString table)
++{
++ MSqlQuery query(MSqlQuery::InitCon());
++
++ //IMPORT SETTINGS TABLE
++ if (table.startsWith("settings"))
++ {
++ if ( table != "settings" )
++ create_new_table(table,"settings");
++ QString hostname = vp_map.value("hostname");
++ QString value = vp_map.value("value");
++ QString data = vp_map.value("data");
++
++ QString hostname_clause;
++ QVariant import_hostname = QVariant(QVariant::String);
++
++ if ( hostname.isEmpty())
++ hostname_clause = "hostname IS NULL";
++ else
++ {
++ hostname_clause ="hostname = :HOSTNAME";
++ import_hostname = hostname;
++ }
++
++ QString query_string=QString("SELECT value, data, hostname "
++ "FROM %1 "
++ "WHERE %2 AND value = :VALUE "
++ "ORDER BY value")
++ .arg(table)
++ .arg(hostname_clause);
++
++ query.prepare(query_string);
++ query.bindValue(":HOSTNAME", hostname);
++ query.bindValue(":VALUE", value);
++
++ // if already exisiting records then update, otherwise insert
++ if (query.exec() && query.isActive())
++ {
++ MSqlQuery sub_query(MSqlQuery::InitCon());
++ if ( query.size() > 0 )
++ {
++ query_string = QString("UPDATE "
++ "%1 "
++ "set data = :DATA "
++ "WHERE %2 AND "
++ "value = :VALUE ")
++ .arg(table)
++ .arg(hostname_clause);
++
++ sub_query.prepare(query_string);
++ sub_query.bindValue(":HOSTNAME", import_hostname);
++ sub_query.bindValue(":VALUE", value);
++ sub_query.bindValue(":DATA", data);
++ sub_query.exec();
++ }
++ else
++ {
++ query_string = QString("INSERT INTO "
++ " %1 "
++ "(value,data,hostname) "
++ "VALUES ( :VALUE , :DATA , :HOSTNAME)").arg(table);
++
++ sub_query.prepare(query_string);
++ sub_query.bindValue(":HOSTNAME", import_hostname);
++ sub_query.bindValue(":VALUE", value);
++ sub_query.bindValue(":DATA", data);
++ sub_query.exec();
++ }
++ }
++ }
++ //KEYBINDINGS TABLE
++ else if (table.startsWith("keybindings"))
++ {
++ if ( table != "keybindings" )
++ create_new_table(table,"keybindings");
++ QString hostname = vp_map.value("hostname");
++ QString context = vp_map.value("context");
++ QString action = vp_map.value("action");
++ QString description = vp_map.value("description");
++ QString keylist = vp_map.value("keylist");
++
++ QString query_string=QString("SELECT context,action,hostname "
++ "FROM %1 "
++ "WHERE hostname = :HOSTNAME AND "
++ "context = :CONTEXT "
++ "AND action = :ACTION ").arg(table);
++ query.prepare(query_string);
++ query.bindValue(":HOSTNAME", hostname);
++ query.bindValue(":CONTEXT", context);
++ query.bindValue(":ACTION", action);
++
++ if (query.exec() && query.isActive())
++ {
++ MSqlQuery sub_query(MSqlQuery::InitCon());
++ if ( query.size() > 0 )
++ {
++ query_string = QString("UPDATE "
++ " %1 "
++ "set keylist = :KEYLIST "
++ "WHERE hostname = :HOSTNAME AND "
++ "context = :CONTEXT "
++ "AND action = :ACTION ").arg(table);
++
++ sub_query.prepare(query_string);
++ sub_query.bindValue(":HOSTNAME", hostname);
++ sub_query.bindValue(":KEYLIST", keylist);
++ sub_query.bindValue(":CONTEXT", context);
++ sub_query.bindValue(":ACTION", action);
++ sub_query.exec();
++ }
++ else
++ {
++ query_string = QString("INSERT INTO "
++ " %1 "
++ " (context , action , description , keylist , hostname) "
++ " VALUES( "
++ " :CONTEXT ,"
++ " :ACTION , "
++ " :DESCRIPTION , "
++ " :KEYLIST , "
++ " :HOSTNAME)").arg(table) ;
++
++ sub_query.prepare(query_string);
++ sub_query.bindValue(":HOSTNAME", hostname);
++ sub_query.bindValue(":KEYLIST", keylist);
++ sub_query.bindValue(":CONTEXT", context);
++ sub_query.bindValue(":ACTION", action);
++ sub_query.bindValue(":DESCRIPTION", description);
++ sub_query.exec();
++ }
++ }
++ }
++ //JUMP POINTS
++ else if (table.startsWith("jumppoints"))
++ {
++ if ( table != "jumppoints" )
++ create_new_table(table,"jumppoints");
++ QString hostname = vp_map.value("hostname");
++ QString description = vp_map.value("description");
++ QString destination = vp_map.value("destination");
++ QString keylist = vp_map.value("keylist");
++
++ QString query_string=QString("SELECT destination, keylist "
++ "FROM %1 "
++ "WHERE hostname = :HOSTNAME AND "
++ "destination = :DESTINATION "
++ "AND keylist = :KEYLIST ").arg(table);
++ query.prepare(query_string);
++ query.bindValue(":HOSTNAME", hostname);
++ query.bindValue(":DESTINATION", destination);
++ query.bindValue(":KEYLIST", keylist);
++
++ if (query.exec() && query.isActive())
++ {
++ MSqlQuery sub_query(MSqlQuery::InitCon());
++ if ( query.size() > 0 )
++ {
++ query_string = QString("UPDATE "
++ " %1 "
++ "set keylist = :KEYLIST "
++ "WHERE hostname = :HOSTNAME AND "
++ "destination = :DESTINATION ").arg(table);
++
++ sub_query.prepare(query_string);
++ sub_query.bindValue(":HOSTNAME", hostname);
++ sub_query.bindValue(":KEYLIST", keylist);
++ sub_query.bindValue(":DESTINATION", destination);
++ sub_query.exec();
++ }
++ else
++ {
++ query_string = QString("INSERT INTO "
++ " %1 "
++ " (description , destination, keylist , hostname) "
++ " VALUES( "
++ " :DESCRIPTION ,"
++ " :DESTINATION , "
++ " :KEYLIST , "
++ " :HOSTNAME)").arg(table) ;
++
++ sub_query.prepare(query_string);
++ sub_query.bindValue(":HOSTNAME", hostname);
++ sub_query.bindValue(":KEYLIST", keylist);
++ sub_query.bindValue(":DESTINATION", destination);
++ sub_query.bindValue(":DESCRIPTION", description);
++ sub_query.exec();
++ }
++ }
++ }
++}; //end import_settings
++
++QMap<QString, QMap<QString,QString> >
++ MythDB::export_settings(QString src_hostname,
++ QString saved_settingsgroupname,
++ QStringList table_list, bool skip_host )
++{
++ QMap<QString, QMap<QString,QString> > result_set;
++ QStringList::Iterator it;
++ QString current_table;
++ int record_count = 0;
++
++ if ( table_list.isEmpty() )
++ {
++ table_list.append("settings");
++ table_list.append("keybindings");
++ table_list.append("jumppoints");
++ }
++
++ MSqlQuery query(MSqlQuery::InitCon());
++ QString query_string;
++
++ //loop over tablelist
++ for ( it = table_list.begin(); it != table_list.end(); ++it )
++ {
++ current_table = *it ;
++ QString sub_sql;
++ QStringList fields;
++ QString field_query;
++
++ QString table_name = find_group_table_name(current_table,
++ saved_settingsgroupname);
++
++ QString hostname_clause;
++ if ( src_hostname == "GLOBAL" )
++ hostname_clause = "hostname IS NULL";
++ else
++ hostname_clause ="hostname = :HOSTNAME";
++
++ // find field names
++ query_string = QString("SHOW COLUMNS from %1").arg(table_name);
++ query.prepare(query_string);
++
++ //build up field name vars
++ if (query.exec() && query.isActive() && query.size() > 0)
++ {
++ while (query.next())
++ {
++ if (! field_query.isEmpty())
++ field_query +=',';
++ QString tempItem = query.value(0).toString();
++ fields.append(tempItem);
++ field_query += tempItem;
++ }
++ }
++ // when working with settings table skip HOST if skip_host is true
++ if ( current_table == "settings" && skip_host == true )
++ {
++ QString skip_host_clause;
++ skip_host_clause = " VALUE not like 'HOST%' AND DATA not like 'HardwareProfile%UUID'" ;
++ query_string = QString("SELECT %1 FROM %2 WHERE %3 AND %4")
++ .arg(field_query)
++ .arg(table_name)
++ .arg(hostname_clause)
++ .arg(skip_host_clause);
++
++ }
++ else
++ {
++ query_string = QString("SELECT %1 FROM %2 WHERE %3")
++ .arg(field_query)
++ .arg(table_name)
++ .arg(hostname_clause);
++ }
++ query.prepare(query_string);
++ query.bindValue(":HOSTNAME" , src_hostname);
++
++ //looping over each record in the table query
++ if (query.exec() && query.isActive() && query.size() > 0)
++ {
++ while (query.next())
++ {
++ //construct qmap of elements
++ //add table name
++ QMap<QString,QString> value_pair;
++ value_pair["table"]=table_name;
++
++ for ( int i=0 ; i < fields.size();i++ )
++ {
++ QString tempvalue = fields[i];
++ QString tempItem = query.value(i).toString();
++ value_pair[tempvalue]=tempItem;
++ }
++ result_set[QString(record_count)] = value_pair;
++ record_count++;
++ }
++ }
++
++ } // end table loop
++ return result_set;
++}; //end export_settings
++
++
++void MythDB::create_new_table (QString create_table_name,QString like_name)
++{
++ if ( ! does_table_exist(create_table_name))
++ {
++ MSqlQuery query(MSqlQuery::InitCon());
++ QString query_string = QString("CREATE TABLE %1 like %2")
++ .arg(create_table_name)
++ .arg(like_name);
++
++ query.prepare(query_string);
++ query.exec();
++ }
++ else
++ LOG(VB_GENERAL, LOG_NOTICE, QString("Table is already present,"
++ "will not create it: %1")
++ .arg(create_table_name));
++};
++
++
++void MythDB::drop_temp_table (QString table_name)
++{
++ MSqlQuery query(MSqlQuery::InitCon());
++ if (table_name == "settings" | table_name == "keybindings" | table_name == "jumppoints")
++ return;
++ QString query_string = QString("DROP TABLE %1").arg(table_name);
++ query.prepare(query_string);
++ query.exec();
++ return;
++}
++
++void MythDB::create_temp_table (QString create_table_name,QString like_name)
++{
++ MSqlQuery query(MSqlQuery::InitCon());
++ create_new_table(create_table_name,like_name);
++ QString query_string;
++ if ( like_name == "settings")
++ {
++ query_string = QString ("ALTER TABLE %1 ADD UNIQUE( value)")
++ .arg(create_table_name);
++ query.prepare(query_string);
++ query.exec();
++ }
++
++ query_string = QString("TRUNCATE %1").arg(create_table_name);
++ query.prepare(query_string);
++ query.exec();
++ return;
++}
++
++bool MythDB::does_table_exist(QString table_name)
++{
++ bool table_exist = false;
++ QString full_table_name;
++ MSqlQuery query(MSqlQuery::InitCon());
++
++ query.prepare( "SHOW TABLES" );
++ if (query.exec() && query.isActive() && query.size() > 0)
++ {
++ while (query.next())
++ {
++ full_table_name = query.value(0).toString();
++ if (table_name == full_table_name)
++ {
++ table_exist = true;
++ break;
++ }
++ }
++ }
++ return table_exist;
++};
++
++
++QString MythDB::find_group_table_name(QString current_table,
++ QString saved_settingsgroupname)
++{
++ QString table_name;
++ if ( saved_settingsgroupname.toLower() == "current" )
++ table_name = current_table ;
++ else
++ table_name = current_table + "_" + saved_settingsgroupname ;
++
++ return table_name;
++};
++//END JM ADDED
++
+ /**
+ * \brief Set a flag indicating we have successfully connected to the database
+ */
+diff --git a/mythtv/libs/libmythbase/mythdb.h b/mythtv/libs/libmythbase/mythdb.h
+index ac2a8ec..f3689a5 100644
+--- a/mythtv/libs/libmythbase/mythdb.h
++++ b/mythtv/libs/libmythbase/mythdb.h
+@@ -74,6 +74,49 @@ class MBASE_PUBLIC MythDB
+
+ void WriteDelayedSettings(void);
+
++ //JM ADDED
++ void savesettings_togroup(QString src_hostname,
++ QString saved_settingsgroupname );
++ void deletesettings(QString delete_hostname,
++ QString saved_settingsgroupname);
++
++ QMap<QString,QStringList> list_settingsgroupname();
++
++ QMap<QString,QStringList> diff_settingsgroupname(QString diff_hostname1,
++ QString diff_hostname2,
++ QStringList table_list);
++
++ void clonesettings(QString src_hostname,
++ QString saved_settingsgroupname,
++ QStringList table_list,
++ bool is_full_clone = true,
++ QString dest_hostname="");
++
++ void restoresettings (QString dest_hostname,
++ QString saved_settingsgroupname,
++ QStringList table_list);
++
++ void change_hostname (QString old_hostname, QString new_hostname);
++ bool settings_check (QString src_hostname, QString saved_settingsgroupname);
++ void import_settings(QMap<QString,QString> vp_map, QString table);
++
++
++ QMap<QString,QMap <QString,QString> > export_settings(
++ QString src_hostname,
++ QString saved_settingsgroupname,
++ QStringList table_list,
++ bool skip_host = false);
++
++ void create_new_table (QString create_table_name,QString like_name);
++ void drop_temp_table (QString table_name);
++ void create_temp_table (QString create_table_name,QString like_name);
++ bool does_table_exist(QString table_name);
++ QString find_group_table_name(QString current_table,
++ QString saved_settingsgroupname);
++ //END JM ADDED
++
++
++
+ void SetHaveDBConnection(bool connected);
+ void SetHaveSchema(bool schema);
+ bool HaveSchema(void) const;
+diff --git a/mythtv/programs/mythutil/commandlineparser.cpp b/mythtv/programs/mythutil/commandlineparser.cpp
+index 902314d..d86b548 100644
+--- a/mythtv/programs/mythutil/commandlineparser.cpp
++++ b/mythtv/programs/mythutil/commandlineparser.cpp
+@@ -144,6 +144,37 @@ void MythUtilCommandLineParser::LoadArguments(void)
+ << add("--print-notification-template", "printntemplate", false,
+ "Print the template to be sent to the frontend", "")
+ ->SetGroup("Messaging")
++
++ //settingsutil.cpp
++ << add("--save-settings", "savesettings", false,
++ "Save current settings", "")
++ ->SetGroup("Settings")
++ << add("--delete-settings", "deletesettings", false,
++ "Delete current settings", "")
++ ->SetGroup("Settings")
++ << add("--restore-settings", "restoresettings", false,
++ "Restore settings from previous backup", "")
++ ->SetGroup("Settings")
++ << add("--list-groups", "listgroups", false,
++ "List hosts and groups of settings", "")
++ ->SetGroup("Settings")
++ << add("--copy-settings", "copysettings", false,
++ "Copy or Clone settings from one host to another", "")
++ ->SetGroup("Settings")
++ << add("--diff-settings", "diffsettings", false,
++ "Show settings that are different between two hosts", "")
++ ->SetGroup("Settings")
++ << add("--change-hostname", "changehostname", false,
++ "Change the hostname", "")
++ ->SetGroup("Settings")
++ << add("--import-settings", "importsettings", false,
++ "import settings", "")
++ ->SetRequiredChild("infile")
++
++ << add("--export-settings", "exportsettings", false,
++ "export settings", "")
++ ->SetRequiredChild("outfile")
++
+
+ // musicmetautils.cpp
+ << add("--scanmusic", "scanmusic", false,
+@@ -194,6 +225,59 @@ void MythUtilCommandLineParser::LoadArguments(void)
+ add("--type", "type", "type", "(optional) type of notification (normal, error, warning, check, busy", "")
+ ->SetChildOf("notification");
+
++ //settingsutils.cpp
++ add("--groupname", "groupname", "", "Group of settings name", "")
++ ->SetRequiredChildOf("savesettings")
++ ->SetRequiredChildOf("restoresettings")
++ ->SetRequiredChildOf("deletesettings")
++ ->SetChildOf("copysettings");
++
++ add("--hostname", "hostname", "", "System name to save/restore settings", "")
++ ->SetChildOf("savesettings")
++ ->SetChildOf("restoresettings")
++ ->SetChildOf("copysettings")
++ ->SetChildOf("deletesettings")
++ ->SetChildOf("exportsettings")
++ ->SetChildOf("importsettings");
++
++ add("--host_1", "host_1", "", "First host in compare list", "")
++ ->SetRequiredChildOf("diffsettings");
++
++ add("--host_2", "host_2", "", "Second host in compare list", "")
++ ->SetRequiredChildOf("diffsettings");
++
++
++ add("--tablelist", "table_list", "", "List of tables to operate on "
++ "[keybindings,settings]", "")
++ ->SetChildOf("diffsettings")
++ ->SetChildOf("restoresettings")
++ ->SetChildOf("copysettings")
++ ->SetChildOf("exportsettings");
++
++ add("--clone", "fullclone", false, "Enable copy of all settings, "
++ "including those that are unique to each system.", "")
++ ->SetChildOf("copysettings");
++
++
++ add("--old-host", "oldhost", "", "Hostname to change", "")
++ ->SetRequiredChildOf("changehostname");
++
++ add("--new-host", "newhost", "", "New hostname", "")
++ ->SetRequiredChildOf("changehostname")
++ ->SetRequiredChildOf("copysettings");
++
++ add("--format", "format", false, "Format output of differences", "")
++ ->SetChildOf("diffsettings");
++ add("--distro-default", "distro-default", false, "Export settings for"
++ "import into the default table", "")
++ ->SetChildOf("exportsettings");
++ add("--generic", "generic", false, "export settings without saving "
++ "the hostname", "")
++ ->SetChildOf("exportsettings");
++
++
++
++
+ // Generic Options used by more than one utility
+ addRecording();
+ addInFile(true);
+diff --git a/mythtv/programs/mythutil/main.cpp b/mythtv/programs/mythutil/main.cpp
+index 0bc49f2..faada3d 100644
+--- a/mythtv/programs/mythutil/main.cpp
++++ b/mythtv/programs/mythutil/main.cpp
+@@ -26,6 +26,7 @@
+ #include "musicmetautils.h"
+ #include "recordingutils.h"
+ #include "signalhandling.h"
++#include "settingsutils.h"
+
+
+ int main(int argc, char *argv[])
+@@ -110,6 +111,7 @@
+ registerJobUtils(utilMap);
+ registerMarkupUtils(utilMap);
+ registerMessageUtils(utilMap);
++ registerSettingsUtils(utilMap);
+ registerMusicUtils(utilMap);
+ registerRecordingUtils(utilMap);
+
+diff --git a/mythtv/programs/mythutil/mythutil.pro b/mythtv/programs/mythutil/mythutil.pro
+index f0ecbf5..f9472fc 100644
+--- a/mythtv/programs/mythutil/mythutil.pro
++++ b/mythtv/programs/mythutil/mythutil.pro
+@@ -22,8 +22,10 @@ QMAKE_CLEAN += $(TARGET)
+ HEADERS += backendutils.h fileutils.h jobutils.h markuputils.h
+ HEADERS += messageutils.h mpegutils.h musicmetautils.h
+ HEADERS += recordingutils.h
++HEADERS += settingsutils.h
+ SOURCES += main.cpp mythutil.cpp commandlineparser.cpp
+ SOURCES += backendutils.cpp fileutils.cpp jobutils.cpp markuputils.cpp
+ SOURCES += messageutils.cpp mpegutils.cpp musicmetautils.cpp eitutils.cpp
+ SOURCES += recordingutils.cpp
++SOURCES += settingsutils.cpp
+
+ mingw|win32-msvc*: LIBS += -lwinmm -lws2_32
+diff --git a/mythtv/programs/mythutil/settingsutils.cpp b/mythtv/programs/mythutil/settingsutils.cpp
+new file mode 100644
+index 0000000..8fc7b0e
+--- /dev/null
++++ b/mythtv/programs/mythutil/settingsutils.cpp
+@@ -0,0 +1,586 @@
++// C++ includes
++#include <iostream>
++using namespace std;
++
++//QT includes
++#include <qdom.h>
++#include <QFile>
++#include <QDomElement>
++
++// libmyth* includes
++#include "compat.h"
++#include "exitcodes.h"
++#include "mythlogging.h"
++#include "mythcontext.h"
++
++
++#include "settingsutils.h"
++
++
++static int SaveSettings(const MythUtilCommandLineParser &cmdline)
++{
++ QString src_hostname;
++ QString groupname;
++
++ if (cmdline.toBool("groupname"))
++ groupname = cmdline.toString("groupname");
++
++ if (cmdline.toBool("hostname"))
++ src_hostname = cmdline.toString("hostname");
++ else
++ src_hostname = gCoreContext->GetHostName();
++
++ gCoreContext->savesettings_togroup(src_hostname,groupname);
++ return GENERIC_EXIT_OK;
++}
++
++static int DeleteSettings(const MythUtilCommandLineParser &cmdline)
++{
++
++ QString delete_hostname;
++ QString groupname;
++
++ if (cmdline.toBool("groupname"))
++ groupname = cmdline.toString("groupname");
++
++ if (cmdline.toBool("hostname"))
++ delete_hostname = cmdline.toString("hostname");
++ else
++ delete_hostname = gCoreContext->GetHostName();
++
++
++ gCoreContext->deletesettings(delete_hostname,groupname);
++
++ return GENERIC_EXIT_OK;
++}
++
++
++static int RestoreSettings(const MythUtilCommandLineParser &cmdline)
++{
++ QString dest_hostname;
++ QString groupname;
++ QString tablestring;
++ QStringList table_list;
++
++ if (cmdline.toBool("groupname"))
++ groupname = cmdline.toString("groupname");
++
++
++ if (cmdline.toBool("hostname"))
++ dest_hostname = cmdline.toString("hostname");
++ else
++ dest_hostname = gCoreContext->GetHostName();
++
++ if (cmdline.toBool("table_list"))
++ {
++ tablestring = QString(cmdline.toString("table_list"));
++ table_list = tablestring.split(",", QString::SkipEmptyParts);
++ }
++
++ gCoreContext->restoresettings(dest_hostname,
++ groupname,
++ table_list);
++
++ return GENERIC_EXIT_OK;
++}
++
++
++static int CopySettings(const MythUtilCommandLineParser &cmdline)
++{
++ QString src_hostname;
++ QString groupname;
++ QString tablestring;
++ QStringList table_list;
++ bool is_full_clone;
++ QString dest_hostname;
++
++ if (cmdline.toBool("groupname"))
++ groupname = cmdline.toString("groupname");
++ else
++ groupname = "Current";
++
++ if (cmdline.toBool("hostname"))
++ src_hostname = cmdline.toString("hostname");
++ else
++ src_hostname = gCoreContext->GetHostName();
++
++ if (cmdline.toBool("newhost"))
++ dest_hostname = cmdline.toString("newhost");
++
++ if (cmdline.toBool("table_list"))
++ {
++ tablestring = QString(cmdline.toString("table_list"));
++ table_list = tablestring.split(",", QString::SkipEmptyParts);
++ }
++
++ if (cmdline.toBool("fullclone"))
++ is_full_clone = true;
++ else
++ is_full_clone = false;
++
++ gCoreContext->clonesettings(src_hostname,
++ groupname,
++ table_list,
++ is_full_clone,
++ dest_hostname);
++
++ return GENERIC_EXIT_OK;
++}
++
++void print_out_diff_formated(QMap<QString, QStringList> resultset)
++{
++ QString settings_header;
++ QString keybindings_header;
++ QString tempString;
++ QString tempItem;
++ QString dashline_settings;
++ QString dashline_key;
++ QStringList tempList;
++
++ QString host_1;
++ QString host_2;
++ QString data_1;
++ QString data_2;
++ QString value;
++ QString context;
++ QString action;
++
++ int value_width = 35;
++ int data_width = 40;
++
++ int context_width = 22;
++ int action_width = 22;
++ int key_width = 35;
++
++ dashline_key = (tempString.fill('-', 133));
++ dashline_settings = (tempString.fill('-', 130));
++
++ QMap<QString, QStringList>::iterator i;
++
++
++ for (i = resultset.begin(); i != resultset.end(); ++i)
++ {
++ cout << endl<<i.key().toLocal8Bit().constData() << ": \t" << endl;;
++ //construct the headers
++ if (i.key() == "Settings")
++ {
++ //settings header
++ tempList = (i.value().at(0)).split("|", QString::SkipEmptyParts);
++ host_1 = tempList.at(1);
++ host_2 = tempList.at(3);
++ tempString="|";
++ tempItem = "Value";
++ tempString.append(tempItem.leftJustified(value_width));
++ tempString.append("|");
++ tempItem = host_1; //hostname 1
++ tempString.append(tempItem.leftJustified(data_width));
++ tempString.append("|");
++ tempItem = host_2; //hostname 2
++ tempString.append(tempItem.leftJustified(data_width));
++ tempString.append("|");
++ settings_header = tempString;
++
++ cout << settings_header.toLocal8Bit().constData() << endl;;
++ cout << dashline_settings.toLocal8Bit().constData() << endl;
++ }
++
++ if (i.key() == "Keybindings")
++ {
++ //keybindings_header
++ tempList = (i.value().at(0)).split("|", QString::SkipEmptyParts);
++ host_1 = tempList.at(2);
++ host_2 = tempList.at(4);
++ tempString="|";
++ tempItem = "Context";
++ tempString.append(tempItem.leftJustified(context_width));
++ tempString.append("|");
++ tempItem = "Action";
++ tempString.append(tempItem.leftJustified(action_width));
++ tempString.append("|");
++ tempItem = host_1;
++ tempString.append(tempItem.leftJustified(key_width));
++ tempString.append("|");
++ tempItem = host_2;
++ tempString.append(tempItem.leftJustified(key_width));
++ tempString.append("|");
++ keybindings_header = tempString;
++
++ cout << keybindings_header.toLocal8Bit().constData() << endl;;
++ cout << dashline_key.toLocal8Bit().constData() << endl;
++
++ }
++ // format each line
++ for (int y = 0; y < i.value().size(); ++y)
++ {
++ if (i.key() == "Settings")
++ {
++ tempList = (i.value().at(y)).split("|",
++ QString::SkipEmptyParts);
++ data_1 = tempList.at(2);
++ data_2 = tempList.at(4);
++ value = tempList.at(0);
++ tempString="|";
++ tempItem = value;
++ tempString.append(tempItem.leftJustified(value_width));
++ tempString.append("|");
++ tempItem = data_1;
++ tempString.append(tempItem.leftJustified(data_width));
++ tempString.append("|");
++ tempItem = data_2;
++ tempString.append(tempItem.leftJustified(data_width));
++ tempString.append("|");
++ }
++ if (i.key() == "Keybindings")
++ {
++ tempList = (i.value().at(y)).split("|",
++ QString::SkipEmptyParts);
++ data_1 = tempList.at(3);
++ data_2 = tempList.at(5);
++ context = tempList.at(0);
++ action = tempList.at(1);
++
++ tempString="|";
++ tempItem = context;
++ tempString.append(tempItem.leftJustified(context_width));
++ tempString.append("|");
++ tempItem = action;
++ tempString.append(tempItem.leftJustified(action_width));
++ tempString.append("|");
++ tempItem = data_1;
++ tempString.append(tempItem.leftJustified(key_width));
++ tempString.append("|");
++ tempItem = data_2;
++ tempString.append(tempItem.leftJustified(key_width));
++ tempString.append("|");
++ }
++
++ cout << tempString.toLocal8Bit().constData()<<endl;
++ }
++ }
++};
++
++static int DiffSettings(const MythUtilCommandLineParser &cmdline)
++{
++ QMap<QString, QStringList> resultset;
++ QString diff_hostname1;
++ QString diff_hostname2;
++ QStringList table_list;
++ bool format_results = false;
++ QMap<QString, QStringList>::iterator i;
++
++ if (cmdline.toBool("host_1"))
++ diff_hostname1 = cmdline.toString("host_1");
++ if (cmdline.toBool("host_2"))
++ diff_hostname2 = cmdline.toString("host_2");
++
++ if (cmdline.toBool("table_list"))
++ {
++ QString tablestring = QString(cmdline.toString("table_list"));
++ table_list = tablestring.split(",", QString::SkipEmptyParts);
++ }
++
++ if (cmdline.toBool("format"))
++ format_results = true;
++
++ resultset = gCoreContext->diff_settingsgroupname(diff_hostname1,
++ diff_hostname2,
++ table_list);
++ if (resultset.isEmpty())
++ cout << "No differences found" << endl;
++ else
++ {
++ if (format_results)
++ print_out_diff_formated(resultset);
++ else
++ {
++ for (i = resultset.begin(); i != resultset.end(); ++i)
++ {
++ cout << i.key().toLocal8Bit().constData() << " : \t" << endl;;
++ for (int y = 0; y < i.value().size(); ++y)
++ cout << i.value().at(y).toLocal8Bit().constData()<<endl;
++ cout << endl;
++ }
++ }
++ }
++ return GENERIC_EXIT_OK;
++};// DiffSettings
++
++static int ListGroups(const MythUtilCommandLineParser &cmdline)
++{
++ QMap<QString, QStringList> resultset;
++ resultset = gCoreContext->list_settingsgroupname();
++ QMap<QString, QStringList>::iterator i;
++ cout << endl;
++ for (i = resultset.begin(); i != resultset.end(); ++i)
++ {
++ cout << i.key().toLocal8Bit().constData() << " : \t";
++ for (int y = 0; y < i.value().size(); ++y)
++ cout << i.value().at(y).toLocal8Bit().constData()<<" " ;
++ cout << endl;
++ }
++ return GENERIC_EXIT_OK;
++};
++
++static int ImportSettings(const MythUtilCommandLineParser &cmdline)
++{
++
++ if (cmdline.toString("infile").isEmpty())
++ {
++ LOG(VB_STDIO|VB_FLUSH, LOG_ERR, "Missing --infile option\n");
++ return GENERIC_EXIT_INVALID_CMDLINE;
++ }
++ QString import_hostname;
++ bool change_name = false;
++ if (cmdline.toBool("hostname"))
++ {
++ change_name = true;
++ import_hostname = cmdline.toString("hostname");
++ }
++ QString import_filename = cmdline.toString("infile");
++ QFile myFile(import_filename);
++
++ QDomDocument doc( "exported_xml" );
++ doc.setContent( &myFile );
++
++ QDomElement docElement = doc.documentElement();
++ QDomElement record_element;
++
++ if ( docElement.nodeName() != "exported_xml" )
++ {
++ cout << "not a valid exported xml file" << endl;
++ return 1;
++ }
++
++ QString out_string = "Importing records, please be patient";
++ cout << out_string.toLocal8Bit().constData() << endl;
++ //Gives list of records in the file + count
++ QDomNodeList nodeList = docElement.childNodes();
++ int total_records = nodeList.count();
++ out_string = QString("\nFound %1 records \n").arg(total_records);
++ cout << out_string.toLocal8Bit().constData() << endl;
++ LOG(VB_STDIO|VB_FLUSH, LOG_ERR, out_string);
++
++ for(QDomNode n = docElement.firstChild(); !n.isNull(); n = n.nextSibling())
++ {
++ QString table_name=QString();
++ QMap<QString,QString> value_pair_map ;
++
++ //find table name for this record
++ QDomNode tablenode=n.namedItem("table");
++ record_element = tablenode.toElement();
++ table_name = record_element.text();
++
++ //loop over childern of n and convert to element
++ for(QDomNode subn = n.firstChild();
++ !subn.isNull();
++ subn = subn.nextSibling())
++ {
++ record_element = subn.toElement();
++ if ( record_element.nodeName() == "table" )
++ continue;
++ if ( change_name && record_element.nodeName() == "hostname" )
++ value_pair_map[record_element.nodeName()] = import_hostname;
++ else
++ value_pair_map[record_element.nodeName()] = record_element.text();
++ }
++ if (import_filename.endsWith("syssettings.xml"))
++ {
++ if ( value_pair_map["value"] == "BackendServerIP")
++ {
++ out_string = "sysettings, ignoring backendserver ip record";
++ cout << out_string.toLocal8Bit().constData() << endl;
++ }
++ else
++ gCoreContext->import_settings(value_pair_map,table_name);
++ }
++ else
++ //perform insert
++ gCoreContext->import_settings(value_pair_map,table_name);
++ }
++ return GENERIC_EXIT_OK;
++}; //end ImportSettings
++
++
++static int ExportSettings(const MythUtilCommandLineParser &cmdline)
++{
++ QMap<QString, QMap<QString,QString> > records;
++ QString src_hostname;
++ QString groupname;
++ QStringList table_list;
++ QString tablestring;
++ bool distro_default = false;
++ bool generic = false;
++ bool skip_host = false;
++
++
++
++ QDomDocument doc("mythutils_exported_settings");
++
++ if (cmdline.toBool("groupname"))
++ groupname = cmdline.toString("groupname");
++ else
++ groupname = "current";
++
++ if (cmdline.toBool("hostname"))
++ src_hostname = cmdline.toString("hostname");
++ else
++ src_hostname = gCoreContext->GetHostName();
++
++ if (cmdline.toBool("distro-default"))
++ {
++ distro_default = true;
++ skip_host = true;
++ }
++ if (cmdline.toBool("generic"))
++ {
++ generic = true;
++ //skip_host = true;
++ }
++ if (cmdline.toBool("table_list"))
++ {
++ tablestring = QString(cmdline.toString("table_list"));
++ table_list = tablestring.split(",", QString::SkipEmptyParts);
++ }
++ else
++ table_list << "settings" <<"keybindings" <<"jumppoints" ;
++
++ if (cmdline.toString("outfile").isEmpty())
++ {
++ LOG(VB_STDIO|VB_FLUSH, LOG_ERR, "Missing --outfile option\n");
++ return GENERIC_EXIT_INVALID_CMDLINE;
++ }
++
++ QString export_filename = cmdline.toString("outfile");
++
++ records = gCoreContext->export_settings(src_hostname,groupname,
++ table_list, skip_host);
++
++ QDomElement exported_xml = doc.createElement("exported_xml");
++ doc.appendChild(exported_xml);
++
++ QMap<QString,int> record_count;
++ QMap<QString,QMap<QString,QString> >::iterator i;
++ for (i = records.begin(); i != records.end(); ++i )
++ {
++ QDomElement record = doc.createElement("record");
++ exported_xml.appendChild(record);
++
++ //loop over all values in the record
++ QMap<QString,QString> value_pair = i.value();
++ QMap<QString, QString>::iterator y;
++ //because we don't know the name of the key, we loop over it
++ for (y = value_pair.begin(); y != value_pair.end(); ++y)
++ {
++ //add key/pair to xml document
++ QDomElement tag = doc.createElement(y.key());
++ record.appendChild(tag);
++ QDomText t;
++ if ( distro_default == true )
++ { // If exporting distro_default then change hostname + table
++ if ( y.key() == "hostname" )
++ { //check for global values here, empty value means global
++ if ( y.value().isEmpty() )
++ t = doc.createTextNode(y.value());
++ else
++ t = doc.createTextNode("distro_default");
++ }
++ else if ( y.key() == "table")
++ t = doc.createTextNode(y.value()+"_distro_default");
++ else
++ t = doc.createTextNode(y.value());
++ }
++
++ else if ( generic == true )
++ { // If exporting generic then change hostname
++ if ( y.key() == "hostname" )
++ { //check for global values here, empty value means global
++ if ( y.value().isEmpty() )
++ t = doc.createTextNode(y.value());
++ else
++ t = doc.createTextNode("REPLACE_ME");
++ }
++ else
++ t = doc.createTextNode(y.value());
++ }
++ else
++ t = doc.createTextNode(y.value());
++
++ tag.appendChild(t);
++ //create record counts
++ if ( y.key() == "table" )
++ {
++ if ( record_count.contains( y.value()) )
++ {
++ int record_num = record_count[y.value()];
++ record_count[y.value()] = ++record_num;
++ }
++ else
++ record_count[y.value()] = 1;
++ }
++ }
++ }
++ QFile file( export_filename );
++
++ if( !file.open(QIODevice::WriteOnly) )
++ return -1;
++
++ QTextStream ts( &file );
++ ts << doc.toString();
++ file.close();
++ QMap<QString, int >::iterator rc_it;
++ for ( rc_it = record_count.begin(); rc_it != record_count.end(); ++rc_it)
++ {
++ QString table = rc_it.key();
++ int rc_count = rc_it.value();
++ QString out_string = QString ("Exported table %1: %2 records")
++ .arg(table)
++ .arg(rc_count);
++ cout << out_string.toLocal8Bit().constData() << endl;
++ }
++ return GENERIC_EXIT_OK;
++}; // end export_settings
++
++
++static int ChangeHostname(const MythUtilCommandLineParser &cmdline)
++{
++
++ QString old_hostname;
++ QString new_hostname;
++
++
++ if (cmdline.toBool("oldhost"))
++ old_hostname = cmdline.toString("oldhost");
++
++ if (cmdline.toBool("newhost"))
++ new_hostname = cmdline.toString("newhost");
++
++ if (old_hostname.isEmpty())
++ {
++ LOG(VB_STDIO|VB_FLUSH, LOG_ERR, "Missing or empty --old-host option\n");
++ return GENERIC_EXIT_INVALID_CMDLINE;
++ }
++
++ if (new_hostname.isEmpty())
++ {
++ LOG(VB_STDIO|VB_FLUSH, LOG_ERR, "Missing or empty --new-host option\n");
++ return GENERIC_EXIT_INVALID_CMDLINE;
++ }
++
++ gCoreContext->change_hostname(old_hostname, new_hostname);
++
++ return GENERIC_EXIT_OK;
++}; //end ChangeHostname
++
++void registerSettingsUtils(UtilMap &utilMap)
++{
++ utilMap["savesettings"] = &SaveSettings;
++ utilMap["deletesettings"] = &DeleteSettings;
++ utilMap["restoresettings"] = &RestoreSettings;
++ utilMap["copysettings"] = &CopySettings;
++ utilMap["diffsettings"] = &DiffSettings;
++ utilMap["listgroups"] = &ListGroups;
++ utilMap["importsettings"] = &ImportSettings;
++ utilMap["exportsettings"] = &ExportSettings;
++ utilMap["changehostname"] = &ChangeHostname;
++}
++
++/* vim: set expandtab tabstop=4 shiftwidth=4: */
+\ No newline at end of file
+diff --git a/mythtv/programs/mythutil/settingsutils.h b/mythtv/programs/mythutil/settingsutils.h
+new file mode 100644
+index 0000000..413496c
+--- /dev/null
++++ b/mythtv/programs/mythutil/settingsutils.h
+@@ -0,0 +1,3 @@
++#include "mythutil.h"
++
++void registerSettingsUtils(UtilMap &utilMap);
diff --git a/abs/core/mythtv/stable-29/mythtv/mythfrontend_en_us.ts_Title_Case.patch b/abs/core/mythtv/stable-29/mythtv/mythfrontend_en_us.ts_Title_Case.patch
new file mode 100644
index 0000000..cc77d79
--- /dev/null
+++ b/abs/core/mythtv/stable-29/mythtv/mythfrontend_en_us.ts_Title_Case.patch
@@ -0,0 +1,24248 @@
+--- src/mythtv/i18n/mythfrontend_en_us.ts.orig 2017-12-05 22:22:27.933329251 +0000
++++ src/mythtv/i18n/mythfrontend_en_us.ts 2017-12-05 22:14:26.565649455 +0000
+@@ -573,7 +573,7 @@
+ <message>
+ <location filename="../libs/libmythtv/mpeg/dishdescriptors.cpp" line="400"/>
+ <source>Adults only</source>
+- <translation>Adults only</translation>
++ <translation>Adults Only</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mpeg/dishdescriptors.cpp" line="402"/>
+@@ -624,7 +624,7 @@
+ <message>
+ <location filename="../libs/libmythtv/mpeg/dishdescriptors.cpp" line="430"/>
+ <source>Bus./financial</source>
+- <translation>Bus./financial</translation>
++ <translation>Business/Financial</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mpeg/dishdescriptors.cpp" line="432"/>
+@@ -634,17 +634,17 @@
+ <message>
+ <location filename="../libs/libmythtv/mpeg/dishdescriptors.cpp" line="434"/>
+ <source>Children-special</source>
+- <translation>Children-special</translation>
++ <translation>Children-Special</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mpeg/dishdescriptors.cpp" line="436"/>
+ <source>Children-news</source>
+- <translation>Children-news</translation>
++ <translation>Children-News</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mpeg/dishdescriptors.cpp" line="438"/>
+ <source>Children-music</source>
+- <translation>Children-music</translation>
++ <translation>Children-Music</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mpeg/dishdescriptors.cpp" line="440"/>
+@@ -654,7 +654,7 @@
+ <message>
+ <location filename="../libs/libmythtv/mpeg/dishdescriptors.cpp" line="444"/>
+ <source>Comedy-drama</source>
+- <translation>Comedy-drama</translation>
++ <translation>Comedy-Drama</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mpeg/dishdescriptors.cpp" line="446"/>
+@@ -670,7 +670,7 @@
+ <message>
+ <location filename="../libs/libmythtv/mpeg/dishdescriptors.cpp" line="452"/>
+ <source>Crime drama</source>
+- <translation>Crime drama</translation>
++ <translation>Crime Drama</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mpeg/dishdescriptors.cpp" line="456"/>
+@@ -695,7 +695,7 @@
+ <message>
+ <location filename="../libs/libmythtv/mpeg/dishdescriptors.cpp" line="478"/>
+ <source>Game show</source>
+- <translation>Game show</translation>
++ <translation>Game Show</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mpeg/dishdescriptors.cpp" line="482"/>
+@@ -705,7 +705,7 @@
+ <message>
+ <location filename="../libs/libmythtv/mpeg/dishdescriptors.cpp" line="488"/>
+ <source>Historical drama</source>
+- <translation>Historical drama</translation>
++ <translation>Historical Drama</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mpeg/dishdescriptors.cpp" line="492"/>
+@@ -715,32 +715,31 @@
+ <message>
+ <location filename="../libs/libmythtv/mpeg/dishdescriptors.cpp" line="494"/>
+ <source>Holiday-children</source>
+- <translation>Holiday-children</translation>
++ <translation>Holiday-Children</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/mpeg/dishdescriptors.cpp" line="496"/>
+- <source>Holiday-children special</source>
+- <translation>Holiday-children special</translation>
++ <source>Holiday-Children Special</source>
++ <translation type="vanished">Holiday-Children Special</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mpeg/dishdescriptors.cpp" line="498"/>
+ <source>Holiday special</source>
+- <translation>Holiday special</translation>
++ <translation>Holiday Special</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mpeg/dishdescriptors.cpp" line="502"/>
+ <source>Horse racing</source>
+- <translation>Horse racing</translation>
++ <translation>Horse Racing</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mpeg/dishdescriptors.cpp" line="504"/>
+ <source>House/garden</source>
+- <translation>House/garden</translation>
++ <translation>House/Garden</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mpeg/dishdescriptors.cpp" line="506"/>
+ <source>How-to</source>
+- <translation>How-to</translation>
++ <translation>How-To</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mpeg/dishdescriptors.cpp" line="510"/>
+@@ -765,12 +764,12 @@
+ <message>
+ <location filename="../libs/libmythtv/mpeg/dishdescriptors.cpp" line="524"/>
+ <source>Music special</source>
+- <translation>Music special</translation>
++ <translation>Music Special</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mpeg/dishdescriptors.cpp" line="526"/>
+ <source>Music talk</source>
+- <translation>Music talk</translation>
++ <translation>Music Talk</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mpeg/dishdescriptors.cpp" line="528"/>
+@@ -778,9 +777,18 @@
+ <translation>Musical</translation>
+ </message>
+ <message>
++ <source>Musical Comedy</source>
++ <translation type="vanished">Musical comedy</translation>
++ </message>
++ <message>
++ <location filename="../libs/libmythtv/mpeg/dishdescriptors.cpp" line="496"/>
++ <source>Holiday-children special</source>
++ <translation>Holiday-Chidren Special</translation>
++ </message>
++ <message>
+ <location filename="../libs/libmythtv/mpeg/dishdescriptors.cpp" line="530"/>
+ <source>Musical comedy</source>
+- <translation>Musical comedy</translation>
++ <translation>Musical Comedy</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mpeg/dishdescriptors.cpp" line="538"/>
+@@ -795,7 +803,7 @@
+ <message>
+ <location filename="../libs/libmythtv/mpeg/dishdescriptors.cpp" line="542"/>
+ <source>Public affairs</source>
+- <translation>Public affairs</translation>
++ <translation>Public Affairs</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mpeg/dishdescriptors.cpp" line="544"/>
+@@ -810,7 +818,7 @@
+ <message>
+ <location filename="../libs/libmythtv/mpeg/dishdescriptors.cpp" line="552"/>
+ <source>Romance-comedy</source>
+- <translation>Romance-comedy</translation>
++ <translation>Romance-Comedy</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mpeg/dishdescriptors.cpp" line="554"/>
+@@ -825,12 +833,12 @@
+ <message>
+ <location filename="../libs/libmythtv/mpeg/dishdescriptors.cpp" line="560"/>
+ <source>Science fiction</source>
+- <translation>Science fiction</translation>
++ <translation>Science Fiction</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mpeg/dishdescriptors.cpp" line="562"/>
+ <source>Self improvement</source>
+- <translation>Self improvement</translation>
++ <translation>Self Improvement</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mpeg/dishdescriptors.cpp" line="566"/>
+@@ -860,12 +868,12 @@
+ <message>
+ <location filename="../libs/libmythtv/mpeg/dishdescriptors.cpp" line="578"/>
+ <source>Sports non-event</source>
+- <translation>Sports non-event</translation>
++ <translation>Sports Non-Event</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mpeg/dishdescriptors.cpp" line="580"/>
+ <source>Sports talk</source>
+- <translation>Sports talk</translation>
++ <translation>Sports Talk</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mpeg/dishdescriptors.cpp" line="584"/>
+@@ -875,7 +883,7 @@
+ <message>
+ <location filename="../libs/libmythtv/mpeg/dishdescriptors.cpp" line="590"/>
+ <source>Track/field</source>
+- <translation>Track/field</translation>
++ <translation>Track/Field</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mpeg/dishdescriptors.cpp" line="596"/>
+@@ -920,7 +928,7 @@
+ <message>
+ <location filename="../libs/libmythtv/mpeg/dishdescriptors.cpp" line="616"/>
+ <source>Arts/crafts</source>
+- <translation>Arts/crafts</translation>
++ <translation>Arts/Crafts</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mpeg/dishdescriptors.cpp" line="618"/>
+@@ -930,12 +938,12 @@
+ <message>
+ <location filename="../libs/libmythtv/mpeg/dishdescriptors.cpp" line="620"/>
+ <source>Auto racing</source>
+- <translation>Auto racing</translation>
++ <translation>Auto Racing</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mpeg/dishdescriptors.cpp" line="622"/>
+ <source>Air racing</source>
+- <translation>Air racing</translation>
++ <translation>Air Racing</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mpeg/dishdescriptors.cpp" line="624"/>
+@@ -945,7 +953,7 @@
+ <message>
+ <location filename="../libs/libmythtv/mpeg/dishdescriptors.cpp" line="626"/>
+ <source>Bicycle racing</source>
+- <translation>Bicycle racing</translation>
++ <translation>Bicycle Racing</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mpeg/dishdescriptors.cpp" line="628"/>
+@@ -965,12 +973,12 @@
+ <message>
+ <location filename="../libs/libmythtv/mpeg/dishdescriptors.cpp" line="636"/>
+ <source>Dog show</source>
+- <translation>Dog show</translation>
++ <translation>Dog Show</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mpeg/dishdescriptors.cpp" line="638"/>
+ <source>Drag racing</source>
+- <translation>Drag racing</translation>
++ <translation>Drag Racing</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mpeg/dishdescriptors.cpp" line="642"/>
+@@ -986,12 +994,12 @@
+ <message>
+ <location filename="../libs/libmythtv/mpeg/dishdescriptors.cpp" line="646"/>
+ <source>Field hockey</source>
+- <translation>Field hockey</translation>
++ <translation>Field Hockey</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mpeg/dishdescriptors.cpp" line="650"/>
+ <source>Gay/lesbian</source>
+- <translation>Gay/lesbian</translation>
++ <translation>Gay/Lesbian</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mpeg/dishdescriptors.cpp" line="652"/>
+@@ -1001,7 +1009,7 @@
+ <message>
+ <location filename="../libs/libmythtv/mpeg/dishdescriptors.cpp" line="654"/>
+ <source>Home improvement</source>
+- <translation>Home improvement</translation>
++ <translation>Home Improvement</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mpeg/dishdescriptors.cpp" line="656"/>
+@@ -1011,7 +1019,7 @@
+ <message>
+ <location filename="../libs/libmythtv/mpeg/dishdescriptors.cpp" line="658"/>
+ <source>Hydroplane racing</source>
+- <translation>Hydroplane racing</translation>
++ <translation>Hydroplane Racing</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mpeg/dishdescriptors.cpp" line="660"/>
+@@ -1021,7 +1029,7 @@
+ <message>
+ <location filename="../libs/libmythtv/mpeg/dishdescriptors.cpp" line="662"/>
+ <source>Motorcycle racing</source>
+- <translation>Motorcycle racing</translation>
++ <translation>Motorcycle Racing</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mpeg/dishdescriptors.cpp" line="664"/>
+@@ -1047,7 +1055,7 @@
+ <message>
+ <location filename="../libs/libmythtv/mpeg/dishdescriptors.cpp" line="674"/>
+ <source>Pro wrestling</source>
+- <translation>Pro wrestling</translation>
++ <translation>Pro Wrestling</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mpeg/dishdescriptors.cpp" line="676"/>
+@@ -1092,7 +1100,7 @@
+ <message>
+ <location filename="../libs/libmythtv/mpeg/dishdescriptors.cpp" line="694"/>
+ <source>Card games</source>
+- <translation>Card games</translation>
++ <translation>Card Games</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mpeg/dishdescriptors.cpp" line="696"/>
+@@ -1107,12 +1115,12 @@
+ <message>
+ <location filename="../libs/libmythtv/mpeg/dishdescriptors.cpp" line="702"/>
+ <source>Mixed martial arts</source>
+- <translation>Mixed martial arts</translation>
++ <translation>Mixed Martial Arts</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mpeg/dishdescriptors.cpp" line="704"/>
+ <source>Action sports</source>
+- <translation>Action sports</translation>
++ <translation>Action Sports</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mpeg/dishdescriptors.cpp" line="706"/>
+@@ -1144,7 +1152,7 @@
+ <message>
+ <location filename="../libs/libmythtv/mpeg/dvbdescriptors.cpp" line="326"/>
+ <source>Soap/melodrama/folkloric</source>
+- <translation>Soap/melodrama/folkloric</translation>
++ <translation>Soap/Melodrama/Folkloric</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mpeg/dvbdescriptors.cpp" line="333"/>
+@@ -1160,12 +1168,12 @@
+ <message>
+ <location filename="../libs/libmythtv/mpeg/dvbdescriptors.cpp" line="341"/>
+ <source>News/weather report</source>
+- <translation>News/weather report</translation>
++ <translation>News/Weather Report</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mpeg/dvbdescriptors.cpp" line="343"/>
+ <source>News magazine</source>
+- <translation>News magazine</translation>
++ <translation>News Magazine</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mpeg/dvbdescriptors.cpp" line="347"/>
+@@ -1380,7 +1388,7 @@
+ <message>
+ <location filename="../libs/libmythtv/mpeg/dvbdescriptors.cpp" line="447"/>
+ <source>Nature/animals/Environment</source>
+- <translation>Nature/animals/Environment</translation>
++ <translation>Nature/Animals/Environment</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mpeg/dvbdescriptors.cpp" line="449"/>
+@@ -1440,7 +1448,7 @@
+ <message>
+ <location filename="../libs/libmythtv/mpeg/dvbdescriptors.cpp" line="473"/>
+ <source>Advertizement/Shopping</source>
+- <translation>Advertizement/Shopping</translation>
++ <translation>Advertisement/Shopping</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/mpeg/dvbdescriptors.cpp" line="475"/>
+@@ -1471,124 +1479,132 @@
+ <context>
+ <name>(ChannelSettings)</name>
+ <message>
+- <location filename="../libs/libmythtv/channelsettings.cpp" line="89"/>
++ <location filename="../libs/libmythtv/channelsettings.cpp" line="91"/>
+ <source>[Not Selected]</source>
+ <translation>[Not Selected]</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelsettings.cpp" line="132"/>
++ <location filename="../libs/libmythtv/channelsettings.cpp" line="134"/>
+ <source>TV Format</source>
+ <translation>TV Format</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelsettings.cpp" line="133"/>
++ <location filename="../libs/libmythtv/channelsettings.cpp" line="135"/>
+ <source>If this channel uses a format other than TV Format in the General Backend Setup screen, set it here.</source>
+ <translation>If this channel uses a format other than TV Format in the General Backend Setup screen, set it here.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelsettings.cpp" line="173"/>
++ <location filename="../libs/libmythtv/channelsettings.cpp" line="175"/>
+ <source>DataDirect Time Offset</source>
+ <translation>DataDirect Time Offset</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelsettings.cpp" line="176"/>
++ <location filename="../libs/libmythtv/channelsettings.cpp" line="178"/>
+ <source>Offset (in minutes) to apply to the program guide data during import. This can be used when the listings for a particular channel are in a different time zone. (Works for DataDirect listings only.)</source>
+- <translation>Offset (in minutes) to apply to the program guide data during import. This can be used when the listings for a particular channel are in a different time zone. (Works for DataDirect listings only.)</translation>
++ <translation>Offset (in minutes) to apply to the program guide data during import. This can be used when the listings for a particular channel are in a different time zone. (Works for DataDirect listings only.)</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelsettings.cpp" line="191"/>
++ <location filename="../libs/libmythtv/channelsettings.cpp" line="193"/>
+ <source>Priority</source>
+ <translation>Priority</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelsettings.cpp" line="193"/>
++ <location filename="../libs/libmythtv/channelsettings.cpp" line="195"/>
+ <source>Number of priority points to be added to any recording on this channel during scheduling. Use a positive number as the priority if you want this to be a preferred channel, a negative one to depreciate this channel.</source>
+ <translation>Number of priority points to be added to any recording on this channel during scheduling. Use a positive number as the priority if you want this to be a preferred channel, a negative one to depreciate this channel.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelsettings.cpp" line="207"/>
++ <location filename="../libs/libmythtv/channelsettings.cpp" line="209"/>
+ <source>Icon</source>
+ <translation>Icon</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelsettings.cpp" line="209"/>
++ <location filename="../libs/libmythtv/channelsettings.cpp" line="211"/>
+ <source>Image file to use as the icon for this channel on various MythTV displays.</source>
+ <translation>Image file to use as the icon for this channel on various MythTV displays.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelsettings.cpp" line="221"/>
++ <location filename="../libs/libmythtv/channelsettings.cpp" line="223"/>
+ <source>Video filters</source>
+- <translation>Video filters</translation>
++ <translation>Video Filters</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelsettings.cpp" line="224"/>
++ <location filename="../libs/libmythtv/channelsettings.cpp" line="226"/>
+ <source>Filters to be used when recording from this channel. Not used with hardware encoding cards.</source>
+- <translation>Filters to be used when recording from this channel. Not used with hardware encoding cards.</translation>
++ <translation>Filters to be used when recording from this channel. Not used with hardware encoding cards.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelsettings.cpp" line="238"/>
++ <location filename="../libs/libmythtv/channelsettings.cpp" line="240"/>
+ <source>Playback filters</source>
+- <translation>Playback filters</translation>
++ <translation>Playback Filters</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelsettings.cpp" line="241"/>
++ <location filename="../libs/libmythtv/channelsettings.cpp" line="243"/>
+ <source>Filters to be used when recordings from this channel are viewed. Start with a plus to append to the global playback filters.</source>
+ <translation>Filters to be used when recordings from this channel are viewed. Start with a plus to append to the global playback filters.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelsettings.cpp" line="256"/>
++ <location filename="../libs/libmythtv/channelsettings.cpp" line="258"/>
+ <source>ID used by listing services to get an exact correspondence between a channel in your line-up and a channel in their database. Normally this is set automatically when &apos;mythfilldatabase&apos; is run.</source>
+ <translation>ID used by listing services to get an exact correspondence between a channel in your line-up and a channel in their database. Normally this is set automatically when &apos;mythfilldatabase&apos; is run.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelsettings.cpp" line="312"/>
++ <location filename="../libs/libmythtv/channelsettings.cpp" line="314"/>
+ <source>ServiceID</source>
+- <translation>ServiceID</translation>
++ <translation>Service ID</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelsettings.cpp" line="314"/>
++ <location filename="../libs/libmythtv/channelsettings.cpp" line="316"/>
+ <source>Service ID (Program Number) of desired channel within the transport stream. If there is only one channel, then setting this to anything will still find it.</source>
+ <translation>Service ID (Program Number) of desired channel within the transport stream. If there is only one channel, then setting this to anything will still find it.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelsettings.cpp" line="345"/>
++ <location filename="../libs/libmythtv/channelsettings.cpp" line="344"/>
+ <source>Commercial Detection Method</source>
+ <translation>Commercial Detection Method</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelsettings.cpp" line="348"/>
++ <location filename="../libs/libmythtv/channelsettings.cpp" line="347"/>
+ <source>Changes the method of commercial detection used for recordings on this channel or skips detection by marking the channel as Commercial Free.</source>
+ <translation>Changes the method of commercial detection used for recordings on this channel or skips detection by marking the channel as Commercial Free.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelsettings.cpp" line="370"/>
++ <location filename="../libs/libmythtv/channelsettings.cpp" line="369"/>
+ <source>Visible</source>
+ <translation>Visible</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelsettings.cpp" line="372"/>
++ <location filename="../libs/libmythtv/channelsettings.cpp" line="371"/>
+ <source>If enabled, the channel will be visible in the EPG.</source>
+ <translation>If enabled, the channel will be visible in the EPG.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelsettings.cpp" line="383"/>
++ <location filename="../libs/libmythtv/channelsettings.cpp" line="382"/>
+ <source>Use on air guide</source>
+- <translation>Use on air guide</translation>
++ <translation>Use On Air Guide</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelsettings.cpp" line="386"/>
++ <location filename="../libs/libmythtv/channelsettings.cpp" line="385"/>
+ <source>If enabled, guide information for this channel will be updated using &apos;Over-the-Air&apos; program listings.</source>
+ <translation>If enabled, guide information for this channel will be updated using &apos;Over-the-Air&apos; program listings.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelsettings.cpp" line="402"/>
++ <location filename="../libs/libmythtv/channelsettings.cpp" line="401"/>
++ <source>Freq/Channel</source>
++ <translation>Frequency/Channel</translation>
++ </message>
++ <message>
++ <location filename="../libs/libmythtv/channelsettings.cpp" line="403"/>
++ <source>Depending on the tuner type, specify either the exact frequency (in kHz) or a valid channel number that will be understood by your tuners.</source>
++ <translation>Depending on the tuner type, specify either the exact frequency (in kHz) or a valid channel number that will be understood by your tuners.</translation>
++ </message>
++ <message>
+ <source>Frequency or Channel</source>
+- <translation>Frequency or Channel</translation>
++ <translation type="vanished">Frequency or Channel</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelsettings.cpp" line="404"/>
+ <source>Specify either the exact frequency (in kHz) or a valid channel for your &apos;TV Format&apos;.</source>
+- <translation>Specify either the exact frequency (in kHz) or a valid channel for your &apos;TV Format&apos;.</translation>
++ <translation type="vanished">Specify either the exact frequency (in kHz) or a valid channel for your &apos;TV Format&apos;.</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/channelsettings.cpp" line="417"/>
+@@ -1601,22 +1617,22 @@
+ <translation>Value to be added to your desired frequency (in kHz) for &apos;fine tuning&apos;.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelsettings.cpp" line="473"/>
++ <location filename="../libs/libmythtv/channelsettings.cpp" line="475"/>
+ <source>Channel Options - Common</source>
+ <translation>Channel Options - Common</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelsettings.cpp" line="580"/>
++ <location filename="../libs/libmythtv/channelsettings.cpp" line="567"/>
+ <source>Channel Options - Filters</source>
+ <translation>Channel Options - Filters</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelsettings.cpp" line="591"/>
++ <location filename="../libs/libmythtv/channelsettings.cpp" line="576"/>
+ <source>Channel Options - Video4Linux</source>
+ <translation>Channel Options - Video4Linux</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelsettings.cpp" line="610"/>
++ <location filename="../libs/libmythtv/channelsettings.cpp" line="594"/>
+ <source>Channel Options - Raw Transport Stream</source>
+ <translation>Channel Options - Raw Transport Stream</translation>
+ </message>
+@@ -1624,39 +1640,37 @@
+ <context>
+ <name>(Common)</name>
+ <message>
+- <location filename="../libs/libmyth/dbsettings.cpp" line="65"/>
+ <source>Hostname</source>
+- <translation>Hostname</translation>
++ <translation type="vanished">Hostname</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/dbsettings.cpp" line="94"/>
+ <source>Port</source>
+ <comment>TCP/IP port</comment>
+- <translation>Port</translation>
++ <translation type="vanished">Port</translation>
++ </message>
++ <message>
++ <location filename="../libs/libmyth/dbsettings.cpp" line="56"/>
++ <source>Database name</source>
++ <translation>Database Name</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/dbsettings.cpp" line="111"/>
++ <location filename="../libs/libmyth/dbsettings.cpp" line="64"/>
+ <source>User</source>
+ <translation>User</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/dbsettings.cpp" line="121"/>
+ <source>Password</source>
+- <translation>Password</translation>
++ <translation type="vanished">Password</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/storagegroupeditor.cpp" line="41"/>
+- <location filename="../libs/libmythtv/channelscan/channelimporter.cpp" line="1483"/>
+- <location filename="../libs/libmythtv/channelscan/channelimporter.cpp" line="1507"/>
++ <location filename="../libs/libmythtv/channelscan/channelimporter.cpp" line="1534"/>
+ <source>OK</source>
+ <translation>OK</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/storagegroupeditor.cpp" line="43"/>
+- <location filename="../libs/libmythtv/channelscan/channelimporter.cpp" line="1486"/>
+- <location filename="../libs/libmythtv/channelscan/channelimporter.cpp" line="1509"/>
+- <location filename="../libs/libmythtv/channelscan/channelimporter.cpp" line="1567"/>
+- <location filename="../libs/libmythtv/channelscan/channelimporter.cpp" line="1652"/>
++ <location filename="../libs/libmythtv/channelscan/channelimporter.cpp" line="1536"/>
++ <location filename="../libs/libmythtv/channelscan/channelimporter.cpp" line="1630"/>
++ <location filename="../libs/libmythtv/channelscan/channelimporter.cpp" line="1717"/>
+ <source>Cancel</source>
+ <translation>Cancel</translation>
+ </message>
+@@ -1699,7 +1713,7 @@
+ <message numerus="yes">
+ <location filename="../libs/libmythmetadata/metadatacommon.cpp" line="481"/>
+ <location filename="../libs/libmythmetadata/metadatacommon.cpp" line="493"/>
+- <location filename="../libs/libmythtv/osd.cpp" line="948"/>
++ <location filename="../libs/libmythtv/osd.cpp" line="958"/>
+ <source>%n second(s)</source>
+ <translation>
+ <numerusform>%n second</numerusform>
+@@ -1724,31 +1738,29 @@
+ <translation>No</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelscan/channelimporter.cpp" line="1488"/>
+- <location filename="../libs/libmythtv/channelscan/channelimporter.cpp" line="1511"/>
+- <location filename="../libs/libmythtv/channelscan/channelimporter.cpp" line="1569"/>
+- <location filename="../libs/libmythtv/channelscan/channelimporter.cpp" line="1654"/>
++ <location filename="../libs/libmythtv/channelscan/channelimporter.cpp" line="1537"/>
++ <location filename="../libs/libmythtv/channelscan/channelimporter.cpp" line="1632"/>
++ <location filename="../libs/libmythtv/channelscan/channelimporter.cpp" line="1719"/>
+ <source>Cancel All</source>
+ <translation>Cancel All</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/channelscan/iptvchannelfetcher.cpp" line="124"/>
+- <location filename="../libs/libmythtv/channelscan/vboxchannelfetcher.cpp" line="142"/>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="1333"/>
++ <location filename="../libs/libmythtv/channelscan/vboxchannelfetcher.cpp" line="146"/>
+ <source>Error</source>
+ <translation>Error</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/channelscan/modulationsetting.h" line="71"/>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="2609"/>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="2627"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2617"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2635"/>
+ <source>Auto</source>
+ <comment>Automatic</comment>
+ <translation>Auto</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/channelsettings.cpp" line="50"/>
+- <location filename="../programs/mythtv-setup/channeleditor.cpp" line="64"/>
++ <location filename="../programs/mythtv-setup/channeleditor.cpp" line="66"/>
+ <source>Channel Name</source>
+ <translation>Channel Name</translation>
+ </message>
+@@ -1758,51 +1770,56 @@
+ <translation>Channel Number</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelsettings.cpp" line="71"/>
++ <location filename="../libs/libmythtv/channelsettings.cpp" line="61"/>
++ <source>This is the number by which the channel is known to MythTV.</source>
++ <translation>This is the number by which the channel is known to MythTV.</translation>
++ </message>
++ <message>
++ <location filename="../libs/libmythtv/channelsettings.cpp" line="73"/>
+ <source>Video Source</source>
+ <translation>Video Source</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelsettings.cpp" line="125"/>
++ <location filename="../libs/libmythtv/channelsettings.cpp" line="127"/>
+ <source>Callsign</source>
+ <translation>Callsign</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelsettings.cpp" line="137"/>
+- <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="1236"/>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="106"/>
++ <location filename="../libs/libmythtv/channelsettings.cpp" line="139"/>
++ <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="1217"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="110"/>
+ <source>Default</source>
+ <translation>Default</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelsettings.cpp" line="254"/>
++ <location filename="../libs/libmythtv/channelsettings.cpp" line="256"/>
+ <source>XMLTV ID</source>
+ <translation>XMLTV ID</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelsettings.cpp" line="433"/>
++ <location filename="../libs/libmythtv/channelsettings.cpp" line="435"/>
+ <source>Contrast</source>
+ <translation>Contrast</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelsettings.cpp" line="444"/>
++ <location filename="../libs/libmythtv/channelsettings.cpp" line="446"/>
+ <source>Brightness</source>
+ <translation>Brightness</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelsettings.cpp" line="455"/>
++ <location filename="../libs/libmythtv/channelsettings.cpp" line="457"/>
+ <source>Color</source>
+ <translation>Color</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelsettings.cpp" line="465"/>
++ <location filename="../libs/libmythtv/channelsettings.cpp" line="468"/>
+ <source>Hue</source>
+ <translation>Hue</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/recorders/dvbsignalmonitor.cpp" line="51"/>
+ <source>Signal To Noise</source>
+- <translation>Signal To Noise</translation>
++ <translation>Signal to Noise</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/recorders/signalmonitor.cpp" line="222"/>
+@@ -1842,81 +1859,75 @@
+ <translation>MythTV</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="226"/>
+- <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="245"/>
+- <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="941"/>
+ <source>Warning</source>
+- <translation>Warning</translation>
++ <translation type="vanished">Warning</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="377"/>
+- <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="449"/>
++ <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="380"/>
++ <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="423"/>
+ <source>Stereo</source>
+ <translation>Stereo</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="380"/>
++ <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="383"/>
+ <source>5.1</source>
+ <translation>5.1</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="383"/>
++ <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="386"/>
+ <source>7.1</source>
+ <translation>7.1</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="909"/>
++ <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="877"/>
+ <source>Stop</source>
+ <translation>Stop</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="239"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="243"/>
+ <source>Off</source>
+ <translation>Off</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="1009"/>
+ <source>Edit</source>
+- <translation>Edit</translation>
++ <translation type="vanished">Edit</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="1010"/>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="1279"/>
+ <source>Delete</source>
+- <translation>Delete</translation>
++ <translation type="vanished">Delete</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="2608"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2616"/>
+ <source>Qt</source>
+ <translation>Qt</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="2612"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2620"/>
+ <source>OpenGL 2</source>
+ <translation>OpenGL 2</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="2614"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2622"/>
+ <source>OpenGL 1</source>
+ <translation>OpenGL 1</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="2618"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2626"/>
+ <source>Direct3D</source>
+ <translation>Direct3D</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/main.cpp" line="132"/>
++ <location filename="../programs/mythfrontend/main.cpp" line="131"/>
+ <source>MythFrontend</source>
+ <translation>MythFrontend</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/main.cpp" line="576"/>
++ <location filename="../programs/mythfrontend/main.cpp" line="584"/>
+ <source>All tuners are currently busy.</source>
+ <translation>All tuners are currently busy.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/main.cpp" line="579"/>
++ <location filename="../programs/mythfrontend/main.cpp" line="587"/>
+ <source>There are no configured tuners.</source>
+ <translation>There are no configured tuners.</translation>
+ </message>
+@@ -2061,7 +2072,7 @@
+ <message>
+ <location filename="../libs/libmythtv/channelscan/modulationsetting.h" line="56"/>
+ <location filename="../libs/libmythtv/channelscan/modulationsetting.h" line="89"/>
+- <location filename="../libs/libmythtv/channelscan/modulationsetting.h" line="121"/>
++ <location filename="../libs/libmythtv/channelscan/modulationsetting.h" line="122"/>
+ <source>Modulation</source>
+ <translation>Modulation</translation>
+ </message>
+@@ -2076,17 +2087,17 @@
+ <translation>Modulation (Default: Auto)</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelscan/modulationsetting.h" line="103"/>
++ <location filename="../libs/libmythtv/channelscan/modulationsetting.h" line="102"/>
+ <source>Constellation</source>
+ <translation>Constellation</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelscan/modulationsetting.h" line="106"/>
++ <location filename="../libs/libmythtv/channelscan/modulationsetting.h" line="105"/>
+ <source>Constellation (Default: Auto)</source>
+ <translation>Constellation (Default: Auto)</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelscan/modulationsetting.h" line="124"/>
++ <location filename="../libs/libmythtv/channelscan/modulationsetting.h" line="125"/>
+ <source>Modulation, QPSK, 8PSK, QAM-16. Most DVB-S transponders use QPSK, while DVB-S2 use 8PSK. QAM-16 is not available for DVB-S2 transports.</source>
+ <translation>Modulation, QPSK, 8PSK, QAM-16. Most DVB-S transponders use QPSK, while DVB-S2 use 8PSK. QAM-16 is not available for DVB-S2 transports.</translation>
+ </message>
+@@ -2094,32 +2105,32 @@
+ <context>
+ <name>(MythFrontendMain)</name>
+ <message>
+- <location filename="../programs/mythfrontend/main.cpp" line="307"/>
++ <location filename="../programs/mythfrontend/main.cpp" line="315"/>
+ <source>The ScreenSetupWizard cannot be used while mythfrontend is operating in windowed mode.</source>
+ <translation>The ScreenSetupWizard cannot be used while mythfrontend is operating in windowed mode.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/main.cpp" line="618"/>
++ <location filename="../programs/mythfrontend/main.cpp" line="626"/>
+ <source>Loading videos ...</source>
+- <translation>Loading videos ...</translation>
++ <translation>Loading Videos...</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/main.cpp" line="1159"/>
++ <location filename="../programs/mythfrontend/main.cpp" line="1251"/>
+ <source>Failed to open
+ &apos;%1&apos; in %2
+ Check if the video exists</source>
+ <translation>Failed to open
+ &apos;%1&apos; in %2
+-Check if the video exists</translation>
++Check if the video exists.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/main.cpp" line="1193"/>
+- <location filename="../programs/mythfrontend/main.cpp" line="1219"/>
++ <location filename="../programs/mythfrontend/main.cpp" line="1285"/>
++ <location filename="../programs/mythfrontend/main.cpp" line="1311"/>
+ <source>DVD Failure</source>
+ <translation>DVD Failure</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/main.cpp" line="1888"/>
++ <location filename="../programs/mythfrontend/main.cpp" line="1982"/>
+ <source>MythTV Frontend</source>
+ <comment>Main window title</comment>
+ <translation>MythTV Frontend</translation>
+@@ -2180,7 +2191,7 @@
+ <message>
+ <location filename="../libs/libmythbase/storagegroup.cpp" line="35"/>
+ <source>MusicArt</source>
+- <translation>MusicArt</translation>
++ <translation>Music Art</translation>
+ </message>
+ </context>
+ <context>
+@@ -2215,48 +2226,48 @@
+ <context>
+ <name>(mythcommflag)</name>
+ <message>
+- <location filename="../programs/mythcommflag/ClassicCommDetector.cpp" line="313"/>
++ <location filename="../programs/mythcommflag/ClassicCommDetector.cpp" line="315"/>
+ <source>Building Head Start Buffer</source>
+ <translation>Building Head Start Buffer</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythcommflag/ClassicCommDetector.cpp" line="351"/>
++ <location filename="../programs/mythcommflag/ClassicCommDetector.cpp" line="353"/>
+ <source>Building Logo Detection Buffer</source>
+ <translation>Building Logo Detection Buffer</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythcommflag/ClassicCommDetector.cpp" line="382"/>
++ <location filename="../programs/mythcommflag/ClassicCommDetector.cpp" line="384"/>
+ <source>Searching for Logo</source>
+ <translation>Searching for Logo</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythcommflag/ClassicCommDetector.cpp" line="556"/>
+- <location filename="../programs/mythcommflag/CommDetector2.cpp" line="459"/>
+- <location filename="../programs/mythcommflag/PrePostRollFlagger.cpp" line="333"/>
++ <location filename="../programs/mythcommflag/ClassicCommDetector.cpp" line="558"/>
++ <location filename="../programs/mythcommflag/CommDetector2.cpp" line="458"/>
++ <location filename="../programs/mythcommflag/PrePostRollFlagger.cpp" line="334"/>
+ <source>%1% Completed @ %2 fps.</source>
+- <translation>%1% Completed @ %2 fps.</translation>
++ <translation>%1% Completed @ %2 fps</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythcommflag/ClassicCommDetector.cpp" line="560"/>
+- <location filename="../programs/mythcommflag/CommDetector2.cpp" line="464"/>
+- <location filename="../programs/mythcommflag/PrePostRollFlagger.cpp" line="337"/>
++ <location filename="../programs/mythcommflag/ClassicCommDetector.cpp" line="562"/>
++ <location filename="../programs/mythcommflag/CommDetector2.cpp" line="463"/>
++ <location filename="../programs/mythcommflag/PrePostRollFlagger.cpp" line="338"/>
+ <source>%1 Frames Completed @ %2 fps.</source>
+- <translation>%1 Frames Completed @ %2 fps.</translation>
++ <translation>%1 Frames Completed @ %2 fps</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythcommflag/CommDetector2.cpp" line="590"/>
++ <location filename="../programs/mythcommflag/CommDetector2.cpp" line="589"/>
+ <source>Performing Logo Identification</source>
+ <translation>Performing Logo Identification</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythcommflag/PrePostRollFlagger.cpp" line="44"/>
++ <location filename="../programs/mythcommflag/PrePostRollFlagger.cpp" line="45"/>
+ <source>Waiting to pass preroll + head start</source>
+- <translation>Waiting to pass preroll + head start</translation>
++ <translation>Waiting to Pass Preroll + Head Start</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythcommflag/PrePostRollFlagger.cpp" line="158"/>
++ <location filename="../programs/mythcommflag/PrePostRollFlagger.cpp" line="159"/>
+ <source>Waiting for recording to finish</source>
+- <translation>Waiting for recording to finish</translation>
++ <translation>Waiting for Recording to Finish</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythcommflag/main.cpp" line="420"/>
+@@ -2274,7 +2285,7 @@
+ <location filename="../programs/mythcommflag/main.cpp" line="1211"/>
+ <source>Failed with exit status %1</source>
+ <comment>Job status</comment>
+- <translation>Failed with exit status %1</translation>
++ <translation>Failed with Exit Status %1</translation>
+ </message>
+ <message numerus="yes">
+ <location filename="../programs/mythcommflag/main.cpp" line="1217"/>
+@@ -2282,22 +2293,22 @@
+ <source>%n commercial break(s)</source>
+ <comment>Job status</comment>
+ <translation>
+- <numerusform>%n commercial break</numerusform>
+- <numerusform>%n commercial breaks</numerusform>
++ <numerusform>%n Commercial Break</numerusform>
++ <numerusform>%n Commercial Breaks</numerusform>
+ </translation>
+ </message>
+ </context>
+ <context>
+ <name>ASIConfigurationGroup</name>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="1963"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="1968"/>
+ <source>Not a valid DVEO ASI card</source>
+ <translation>Not a valid DVEO ASI card</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="1968"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="1973"/>
+ <source>Valid DVEO ASI card</source>
+- <translation>Valid DVEO ASI card</translation>
++ <translation>Valid DVEO ASI Card</translation>
+ </message>
+ </context>
+ <context>
+@@ -2305,7 +2316,7 @@
+ <message>
+ <location filename="../libs/libmythmetadata/musicmetadata.cpp" line="2019"/>
+ <source>Scanning for music album art...</source>
+- <translation>Scanning for music album art...</translation>
++ <translation>Scanning for Music Album Art...</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythmetadata/musicmetadata.cpp" line="2146"/>
+@@ -2340,41 +2351,41 @@
+ <message>
+ <location filename="../libs/libmythmetadata/musicmetadata.cpp" line="2163"/>
+ <source>unknown</source>
+- <translation>unknown</translation>
++ <translation>Unknown</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythmetadata/musicmetadata.cpp" line="2164"/>
+ <location filename="../libs/libmythmetadata/musicmetadata.cpp" line="2181"/>
+ <source>front</source>
+- <translation>front</translation>
++ <translation>Front</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythmetadata/musicmetadata.cpp" line="2165"/>
+ <location filename="../libs/libmythmetadata/musicmetadata.cpp" line="2184"/>
+ <source>back</source>
+- <translation>back</translation>
++ <translation>Back</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythmetadata/musicmetadata.cpp" line="2166"/>
+ <location filename="../libs/libmythmetadata/musicmetadata.cpp" line="2190"/>
+ <source>cd</source>
+- <translation>cd</translation>
++ <translation>CD</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythmetadata/musicmetadata.cpp" line="2167"/>
+ <location filename="../libs/libmythmetadata/musicmetadata.cpp" line="2187"/>
+ <source>inlay</source>
+- <translation>inlay</translation>
++ <translation>Inlay</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythmetadata/musicmetadata.cpp" line="2168"/>
+ <source>artist</source>
+- <translation>artist</translation>
++ <translation>Artist</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythmetadata/musicmetadata.cpp" line="2193"/>
+ <source>cover</source>
+- <translation>cover</translation>
++ <translation>Cover</translation>
+ </message>
+ </context>
+ <context>
+@@ -2382,247 +2393,257 @@
+ <message>
+ <location filename="../libs/libmythmetadata/musicmetadata.cpp" line="1678"/>
+ <source>CD -- none</source>
+- <translation>CD -- none</translation>
++ <translation>CD - None</translation>
+ </message>
+ </context>
+ <context>
+ <name>AppearanceSettings</name>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="1462"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1438"/>
+ <source>Menu theme</source>
+- <translation>Menu theme</translation>
++ <translation>Menu Theme</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="1992"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1968"/>
+ <source>All</source>
+ <translation>All</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="1994"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1970"/>
+ <source>Display on screen</source>
+- <translation>Display on screen</translation>
++ <translation>Display On Screen</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="1998"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1974"/>
+ <source>Run on the specified screen or spanning all screens.</source>
+ <translation>Run on the specified screen or spanning all screens.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="2008"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1984"/>
+ <source>Monitor aspect ratio</source>
+- <translation>Monitor aspect ratio</translation>
++ <translation>Monitor Aspect Ratio</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="2010"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1986"/>
+ <source>16:9</source>
+ <translation>16:9</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="2011"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1987"/>
+ <source>16:10</source>
+ <translation>16:10</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="2012"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1988"/>
+ <source>4:3</source>
+ <translation>4:3</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="2014"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1990"/>
+ <source>The aspect ratio of a Xinerama display cannot be queried from the display, so it must be specified.</source>
+ <translation>The aspect ratio of a Xinerama display cannot be queried from the display, so it must be specified.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="2079"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2055"/>
+ <source>GUI width (pixels)</source>
+- <translation>GUI width (pixels)</translation>
++ <translation>GUI Width (pixels)</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="2083"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2059"/>
+ <source>The width of the GUI. Do not make the GUI wider than your actual screen resolution. Set to 0 to automatically scale to fullscreen.</source>
+ <translation>The width of the GUI. Do not make the GUI wider than your actual screen resolution. Set to 0 to automatically scale to fullscreen.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="2095"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2071"/>
+ <source>GUI height (pixels)</source>
+- <translation>GUI height (pixels)</translation>
++ <translation>GUI Height (pixels)</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="2099"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2075"/>
+ <source>The height of the GUI. Do not make the GUI taller than your actual screen resolution. Set to 0 to automatically scale to fullscreen.</source>
+ <translation>The height of the GUI. Do not make the GUI taller than your actual screen resolution. Set to 0 to automatically scale to fullscreen.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="2111"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2087"/>
+ <source>GUI X offset</source>
+- <translation>GUI X offset</translation>
++ <translation>GUI X Offset</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="2115"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2091"/>
+ <source>The horizontal offset where the GUI will be displayed. May only work if run in a window.</source>
+ <translation>The horizontal offset where the GUI will be displayed. May only work if run in a window.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="2125"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2101"/>
+ <source>GUI Y offset</source>
+- <translation>GUI Y offset</translation>
++ <translation>GUI Y Offset</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="2129"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2105"/>
+ <source>The vertical offset where the GUI will be displayed.</source>
+ <translation>The vertical offset where the GUI will be displayed.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="2139"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2115"/>
+ <source>Display size - width</source>
+- <translation>Display size - width</translation>
++ <translation>Display Size - Width</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="2143"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2119"/>
+ <source>Horizontal size of the monitor or TV. Used to calculate the actual aspect ratio of the display. This will override the DisplaySize from the system.</source>
+ <translation>Horizontal size of the monitor or TV. Used to calculate the actual aspect ratio of the display. This will override the DisplaySize from the system.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="2154"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2130"/>
+ <source>Display size - height</source>
+- <translation>Display size - height</translation>
++ <translation>Display Size - Height</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="2158"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2134"/>
+ <source>Vertical size of the monitor or TV. Used to calculate the actual aspect ratio of the display. This will override the DisplaySize from the system.</source>
+ <translation>Vertical size of the monitor or TV. Used to calculate the actual aspect ratio of the display. This will override the DisplaySize from the system.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="2170"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2146"/>
+ <source>Use GUI size for TV playback</source>
+- <translation>Use GUI size for TV playback</translation>
++ <translation>Use GUI Size for TV Playback</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="2174"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2150"/>
+ <source>If enabled, use the above size for TV, otherwise use full screen.</source>
+ <translation>If enabled, use the above size for TV, otherwise use full screen.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="2414"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2422"/>
+ <source>Hide mouse cursor in MythTV</source>
+- <translation>Hide mouse cursor in MythTV</translation>
++ <translation>Hide Mouse Cursor in MythTV</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="2418"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2426"/>
+ <source>Toggles mouse cursor visibility for touchscreens. By default MythTV will auto-hide the cursor if the mouse doesn&apos;t move for a period, this setting disables the cursor entirely.</source>
+ <translation>Toggles mouse cursor visibility for touchscreens. By default MythTV will auto-hide the cursor if the mouse doesn&apos;t move for a period, this setting disables the cursor entirely.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="2432"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2440"/>
+ <source>Use window border</source>
+- <translation>Use window border</translation>
++ <translation>Use Window Border</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="2436"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2444"/>
+ <source>Toggles between windowed and borderless operation.</source>
+ <translation>Toggles between windowed and borderless operation.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="2445"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2453"/>
+ <source>Use fixed window size</source>
+- <translation>Use fixed window size</translation>
++ <translation>Use Fixed Window Size</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="2449"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2457"/>
+ <source>If disabled, the video playback window can be resized</source>
+- <translation>If disabled, the video playback window can be resized</translation>
++ <translation>If disabled, the video playback window can be resized.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="2458"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2466"/>
+ <source>Always On Top</source>
+ <translation>Always On Top</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="2462"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2470"/>
+ <source>If enabled, MythTV will always be on top</source>
+ <translation>If enabled, MythTV will always be on top</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="2470"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2478"/>
+ <source>Date format</source>
+- <translation>Date format</translation>
++ <translation>Date Format</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="2473"/>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="2528"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2481"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2536"/>
+ <source>Samples are shown using today&apos;s date.</source>
+ <translation>Samples are shown using today&apos;s date.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="2479"/>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="2534"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2487"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2542"/>
+ <source>Samples are shown using tomorrow&apos;s date.</source>
+ <translation>Samples are shown using tomorrow&apos;s date.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="2515"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2523"/>
+ <source>Your preferred date format. %1</source>
+ <extracomment>%1 gives additional information regarding the date format</extracomment>
+- <translation>Your preferred date format. %1</translation>
++ <translation>Preferred Date Format (%1)</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="2524"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2532"/>
+ <source>Short date format</source>
+- <translation>Short date format</translation>
++ <translation>Short Date Format</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="2569"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2577"/>
+ <source>Your preferred short date format. %1</source>
+ <extracomment>%1 gives additional information regarding the date format</extracomment>
+- <translation>Your preferred short date format. %1</translation>
++ <translation>Preferred Short Date Format (%1)</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="2578"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2586"/>
+ <source>Time format</source>
+- <translation>Time format</translation>
++ <translation>Time Format</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="2593"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2601"/>
+ <source>Your preferred time format. You must choose a format with &quot;AM&quot; or &quot;PM&quot; in it, otherwise your time display will be 24-hour or &quot;military&quot; time.</source>
+ <translation>Your preferred time format. You must choose a format with &quot;AM&quot; or &quot;PM&quot; in it, otherwise your time display will be 24-hour or &quot;military&quot; time.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="2606"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2614"/>
+ <source>Paint engine</source>
+- <translation>Paint engine</translation>
++ <translation>Paint Engine</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="2622"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2630"/>
+ <source>This selects what MythTV uses to draw. Choosing &apos;%1&apos; is recommended, unless running on systems with broken OpenGL implementations (broken hardware or drivers or windowing systems) where only Qt works.</source>
+ <translation>This selects what MythTV uses to draw. Choosing &apos;%1&apos; is recommended, unless running on systems with broken OpenGL implementations (broken hardware or drivers or windowing systems) where only Qt works.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="2951"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2940"/>
+ <source>Language</source>
+ <translation>Language</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="2970"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2959"/>
+ <source>Your preferred language for the user interface.</source>
+ <translation>Your preferred language for the user interface.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="3006"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2995"/>
+ <source>Guide language #%1</source>
+- <translation>Guide language #%1</translation>
++ <translation>Guide Language #%1</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="3012"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="3001"/>
+ <source>Your #%1 preferred language for Program Guide data and captions.</source>
+ <translation>Your #%1 preferred language for Program Guide data and captions.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="4200"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="4234"/>
++ <source>GUI dimension</source>
++ <translation>GUI Dimension</translation>
++ </message>
++ <message>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="4256"/>
++ <source>Fullscreen</source>
++ <translation>Fullscreen</translation>
++ </message>
++ <message>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="4279"/>
+ <source>Theme / Screen Settings</source>
+ <translation>Theme / Screen Settings</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="4253"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="4314"/>
+ <source>Localization</source>
+ <translation>Localization</translation>
+ </message>
+@@ -2630,350 +2651,491 @@
+ <context>
+ <name>AudioAdvancedSettings</name>
+ <message>
+- <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="1159"/>
+ <source>Stereo PCM Only</source>
+- <translation>Stereo PCM Only</translation>
++ <translation type="vanished">Stereo PCM Only</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="1163"/>
+ <source>Enable if your amplifier or sound decoder only supports 2 channel PCM (typically an old HDMI 1.0 device). Multichannel audio will be re-encoded to AC-3 when required</source>
+- <translation>Enable if your amplifier or sound decoder only supports 2 channel PCM (typically an old HDMI 1.0 device). Multichannel audio will be re-encoded to AC-3 when required</translation>
++ <translation type="vanished">Enable if your amplifier or sound decoder only supports 2 channel PCM (typically an old HDMI 1.0 device). Multichannel audio will be re-encoded to AC-3 when required</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="1174"/>
+ <source>Override SRC quality</source>
+- <translation>Override SRC quality</translation>
++ <translation type="vanished">Override SRC quality</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="1178"/>
+ <source>Enable to override audio sample rate conversion quality.</source>
+- <translation>Enable to override audio sample rate conversion quality.</translation>
++ <translation type="vanished">Enable to override audio sample rate conversion quality.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="1187"/>
+ <source>Sample rate conversion</source>
+- <translation>Sample rate conversion</translation>
++ <translation type="vanished">Sample rate conversion</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="1189"/>
+- <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="1199"/>
+ <source>Disabled</source>
+ <comment>Sample rate conversion</comment>
+- <translation>Disabled</translation>
++ <translation type="vanished">Disabled</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="1190"/>
+ <source>Fastest</source>
+ <comment>Sample rate conversion</comment>
+- <translation>Fastest</translation>
++ <translation type="vanished">Fastest</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="1191"/>
+- <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="1198"/>
+ <source>Good</source>
+ <comment>Sample rate conversion</comment>
+- <translation>Good</translation>
++ <translation type="vanished">Good</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="1192"/>
+ <source>Best</source>
+ <comment>Sample rate conversion</comment>
+- <translation>Best</translation>
++ <translation type="vanished">Best</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="1194"/>
+ <source>Set the quality of audio sample-rate conversion. &quot;%1&quot; (default) provides the best compromise between CPU usage and quality. &quot;%2&quot; lets the audio device handle sample-rate conversion.</source>
+- <translation>Set the quality of audio sample-rate conversion. &quot;%1&quot; (default) provides the best compromise between CPU usage and quality. &quot;%2&quot; lets the audio device handle sample-rate conversion.</translation>
++ <translation type="vanished">Set the quality of audio sample-rate conversion. &quot;%1&quot; (default) provides the best compromise between CPU usage and quality. &quot;%2&quot; lets the audio device handle sample-rate conversion.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="1208"/>
+ <source>Force audio device output to 48kHz</source>
+- <translation>Force audio device output to 48kHz</translation>
++ <translation type="vanished">Force audio device output to 48kHz</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="1211"/>
+ <source>Force audio sample rate to 48kHz. Some audio devices will report various rates, but they ultimately crash.</source>
+- <translation>Force audio sample rate to 48kHz. Some audio devices will report various rates, but they ultimately crash.</translation>
++ <translation type="vanished">Force audio sample rate to 48kHz. Some audio devices will report various rates, but they ultimately crash.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="1221"/>
+ <source>Separate digital output device</source>
+- <translation>Separate digital output device</translation>
++ <translation type="vanished">Separate digital output device</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="1225"/>
+ <source>Use a distinct digital output device from default. (default is not checked)</source>
+- <translation>Use a distinct digital output device from default. (default is not checked)</translation>
++ <translation type="vanished">Use a distinct digital output device from default. (default is not checked)</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="1234"/>
+ <source>Digital output device</source>
+- <translation>Digital output device</translation>
++ <translation type="vanished">Digital output device</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="1247"/>
+ <source>Audio output device to use for digital audio. This value is currently only used with ALSA and DirectX sound output.</source>
+- <translation>Audio output device to use for digital audio. This value is currently only used with ALSA and DirectX sound output.</translation>
++ <translation type="vanished">Audio output device to use for digital audio. This value is currently only used with ALSA and DirectX sound output.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="1257"/>
+ <source>SPDIF 48kHz rate override</source>
+- <translation>SPDIF 48kHz rate override</translation>
++ <translation type="vanished">SPDIF 48kHz rate override</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="1261"/>
+ <source>ALSA only. By default, let ALSA determine the passthrough sampling rate. If checked set the sampling rate to 48kHz for passthrough. (default is not checked)</source>
+- <translation>ALSA only. By default, let ALSA determine the passthrough sampling rate. If checked set the sampling rate to 48kHz for passthrough. (default is not checked)</translation>
++ <translation type="vanished">ALSA only. By default, let ALSA determine the passthrough sampling rate. If checked set the sampling rate to 48kHz for passthrough. (default is not checked)</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="1272"/>
+ <source>HBR passthrough support</source>
+- <translation>HBR passthrough support</translation>
++ <translation type="vanished">HBR passthrough support</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="1276"/>
+ <source>HBR support is required for TrueHD and DTS-HD passthrough. If unchecked, Myth will limit the passthrough bitrate to 6.144Mbit/s. This will disable True-HD passthrough, however will allow DTS-HD content to be sent as DTS-HD Hi-Res. (default is checked)</source>
+- <translation>HBR support is required for TrueHD and DTS-HD passthrough. If unchecked, Myth will limit the passthrough bitrate to 6.144Mbit/s. This will disable True-HD passthrough, however will allow DTS-HD content to be sent as DTS-HD Hi-Res. (default is checked)</translation>
++ <translation type="vanished">HBR support is required for TrueHD and DTS-HD passthrough. If unchecked, Myth will limit the passthrough bitrate to 6.144Mbit/s. This will disable True-HD passthrough, however will allow DTS-HD content to be sent as DTS-HD Hi-Res. (default is checked)</translation>
++ </message>
++</context>
++<context>
++ <name>AudioConfigScreen</name>
++ <message>
++ <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="95"/>
++ <source>Scanning for available audio devices</source>
++ <translation>Scanning for Available Audio Devices...</translation>
+ </message>
+ </context>
+ <context>
+ <name>AudioConfigSettings</name>
+ <message>
+- <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="114"/>
++ <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="111"/>
+ <source>Audio System</source>
+ <translation>Audio System</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="122"/>
++ <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="117"/>
+ <source>Rescan</source>
+ <translation>Rescan</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="123"/>
++ <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="118"/>
+ <source>Rescan for available audio devices. Current entry will be checked and capability entries populated.</source>
+ <translation>Rescan for available audio devices. Current entry will be checked and capability entries populated.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="158"/>
++ <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="126"/>
+ <source>Digital Audio Capabilities</source>
+ <translation>Digital Audio Capabilities</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="174"/>
+ <source>Test</source>
+- <translation>Test</translation>
++ <translation type="vanished">Test</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="175"/>
+ <source>Will play a test pattern on all configured speakers</source>
+- <translation>Will play a test pattern on all configured speakers</translation>
++ <translation type="vanished">Will play a test pattern on all configured speakers</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="181"/>
++ <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="141"/>
+ <source>Advanced Audio Settings</source>
+ <translation>Advanced Audio Settings</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="182"/>
++ <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="142"/>
+ <source>Enable extra audio settings. Under most usage all options should be left alone</source>
+- <translation>Enable extra audio settings. Under most usage all options should be left alone</translation>
++ <translation>Enable extra audio settings. Under most usage all options should be left alone.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="222"/>
++ <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="200"/>
+ <source>%1 is invalid or not useable.</source>
+ <translatorcomment>Temporary fix</translatorcomment>
+- <translation>%1 is invalid and can not be used.</translation>
++ <translation>%1 is invalid or not useable.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="239"/>
++ <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="213"/>
+ <source>Passthrough device is invalid or not useable. Check configuration in Advanced Settings:</source>
+ <translatorcomment>Temporary fix</translatorcomment>
+- <translation>Passthrough device is invalid or can not be used. Check configuration in Advanced Settings:</translation>
++ <translation>Passthrough device is invalid or not useable. Check configuration in Advanced Settings.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="447"/>
++ <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="421"/>
+ <source>Speaker configuration</source>
+- <translation>Speaker configuration</translation>
++ <translation>Speaker Configuration</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="452"/>
++ <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="426"/>
+ <source>Select the maximum number of audio channels supported by your receiver and speakers.</source>
+ <translation>Select the maximum number of audio channels supported by your receiver and speakers.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="462"/>
++ <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="436"/>
+ <source>Upconvert stereo to 5.1 surround</source>
+- <translation>Upconvert stereo to 5.1 surround</translation>
++ <translation>Upconvert Stereo to 5.1 Surround</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="466"/>
++ <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="440"/>
+ <source>If enabled, MythTV will upconvert stereo to 5.1 audio. You can enable or disable the upconversion during playback at any time.</source>
+ <translation>If enabled, MythTV will upconvert stereo to 5.1 audio. You can enable or disable the upconversion during playback at any time.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="476"/>
++ <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="450"/>
+ <source>Upmix Quality</source>
+ <translation>Upmix Quality</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="478"/>
++ <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="452"/>
+ <source>Passive</source>
+ <translation>Passive</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="479"/>
++ <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="453"/>
+ <source>Hall</source>
+ <comment>Upmix Quality</comment>
+ <translation>Hall</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="480"/>
++ <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="454"/>
+ <source>Good</source>
+ <comment>Upmix Quality</comment>
+ <translation>Good</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="481"/>
++ <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="455"/>
+ <source>Best</source>
+ <comment>Upmix Quality</comment>
+ <translation>Best</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="483"/>
++ <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="457"/>
+ <source>Set the audio surround-upconversion quality.</source>
+ <translation>Set the audio surround-upconversion quality.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="492"/>
++ <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="466"/>
+ <source>Dolby Digital</source>
+ <translation>Dolby Digital</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="496"/>
++ <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="470"/>
+ <source>Enable if your amplifier or sound decoder supports AC-3/Dolby Digital. You must use a digital connection. Uncheck if using an analog connection.</source>
+ <translation>Enable if your amplifier or sound decoder supports AC-3/Dolby Digital. You must use a digital connection. Uncheck if using an analog connection.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="506"/>
++ <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="480"/>
+ <source>DTS</source>
+ <translation>DTS</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="510"/>
++ <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="484"/>
+ <source>Enable if your amplifier or sound decoder supports DTS. You must use a digital connection. Uncheck if using an analog connection</source>
+ <translation>Enable if your amplifier or sound decoder supports DTS. You must use a digital connection. Uncheck if using an analog connection</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="520"/>
++ <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="494"/>
+ <source>E-AC-3</source>
+ <translation>E-AC-3</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="524"/>
++ <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="498"/>
+ <source>Enable if your amplifier or sound decoder supports E-AC-3 (DD+). You must use a HDMI connection.</source>
+ <translation>Enable if your amplifier or sound decoder supports E-AC-3 (DD+). You must use a HDMI connection.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="533"/>
++ <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="507"/>
+ <source>TrueHD</source>
+ <translation>TrueHD</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="537"/>
++ <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="511"/>
+ <source>Enable if your amplifier or sound decoder supports Dolby TrueHD. You must use a HDMI connection.</source>
+ <translation>Enable if your amplifier or sound decoder supports Dolby TrueHD. You must use a HDMI connection.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="546"/>
++ <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="520"/>
+ <source>DTS-HD</source>
+ <translation>DTS-HD</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="550"/>
++ <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="524"/>
+ <source>Enable if your amplifier or sound decoder supports DTS-HD. You must use a HDMI connection.</source>
+ <translation>Enable if your amplifier or sound decoder supports DTS-HD. You must use a HDMI connection.</translation>
+ </message>
++ <message>
++ <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="1026"/>
++ <source>Use internal volume controls</source>
++ <translation>Use Internal Volume Controls</translation>
++ </message>
++ <message>
++ <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="1030"/>
++ <source>If enabled, MythTV will control the PCM and master mixer volume. Disable this option if you prefer to control the volume externally (for example, using your amplifier) or if you use an external mixer program.</source>
++ <translation>If enabled, MythTV will control the PCM and master mixer volume. Disable if you prefer to control the volume externally (for example, using your amplifier) or if you use an external mixer program.</translation>
++ </message>
++ <message>
++ <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="1046"/>
++ <source>Mixer device</source>
++ <translation>Mixer Device</translation>
++ </message>
++ <message>
++ <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="1072"/>
++ <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="1078"/>
++ <source>software</source>
++ <translation>Software</translation>
++ </message>
++ <message>
++ <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="1075"/>
++ <source>Setting the mixer device to &quot;%1&quot; lets MythTV control the volume of all audio at the expense of a slight quality loss.</source>
++ <translation>Setting the mixer device to &quot;%1&quot; lets MythTV control the volume of all audio at the expense of a slight quality loss.</translation>
++ </message>
++ <message>
++ <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="1084"/>
++ <source>PCM</source>
++ <translation>PCM</translation>
++ </message>
++ <message>
++ <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="1085"/>
++ <source>Master</source>
++ <translation>Master</translation>
++ </message>
++ <message>
++ <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="1091"/>
++ <source>Mixer controls</source>
++ <translation>Mixer Controls</translation>
++ </message>
++ <message>
++ <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="1100"/>
++ <source>Changing the volume adjusts the selected mixer.</source>
++ <translation>Changing the volume adjusts the selected mixer.</translation>
++ </message>
++ <message>
++ <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="1110"/>
++ <source>Master mixer volume</source>
++ <translation>Master Mixer Volume</translation>
++ </message>
++ <message>
++ <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="1114"/>
++ <source>Initial volume for the Master mixer. This affects all sound created by the audio device. Note: Do not set this too low.</source>
++ <translation>Initial volume for the Master mixer. This affects all sound created by the audio device. Note: Do not set this too low.</translation>
++ </message>
++ <message>
++ <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="1125"/>
++ <source>PCM mixer volume</source>
++ <translation>PCM Mixer Volume</translation>
++ </message>
++ <message>
++ <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="1129"/>
++ <source>Initial volume for PCM output. Using the volume keys in MythTV will adjust this parameter.</source>
++ <translation>Initial volume for PCM output. Using the volume keys in MythTV will adjust this parameter.</translation>
++ </message>
++ <message>
++ <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="1138"/>
++ <source>Stereo PCM Only</source>
++ <translation>Stereo PCM Only</translation>
++ </message>
++ <message>
++ <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="1142"/>
++ <source>Enable if your amplifier or sound decoder only supports 2 channel PCM (typically an old HDMI 1.0 device). Multichannel audio will be re-encoded to AC-3 when required</source>
++ <translation>Enable if your amplifier or sound decoder only supports 2 channel PCM (typically an old HDMI 1.0 device). Multichannel audio will be re-encoded to AC-3 when required.</translation>
++ </message>
++ <message>
++ <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="1153"/>
++ <source>Override SRC quality</source>
++ <translation>Override Sample Rate Conversion Quality</translation>
++ </message>
++ <message>
++ <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="1157"/>
++ <source>Enable to override audio sample rate conversion quality.</source>
++ <translation>Enable to override audio sample rate conversion quality.</translation>
++ </message>
++ <message>
++ <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="1166"/>
++ <source>Sample rate conversion</source>
++ <translation>Sample Rate Conversion</translation>
++ </message>
++ <message>
++ <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="1168"/>
++ <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="1178"/>
++ <source>Disabled</source>
++ <comment>Sample rate conversion</comment>
++ <translation>Disabled</translation>
++ </message>
++ <message>
++ <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="1169"/>
++ <source>Fastest</source>
++ <comment>Sample rate conversion</comment>
++ <translation>Fastest</translation>
++ </message>
++ <message>
++ <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="1170"/>
++ <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="1177"/>
++ <source>Good</source>
++ <comment>Sample rate conversion</comment>
++ <translation>Good</translation>
++ </message>
++ <message>
++ <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="1171"/>
++ <source>Best</source>
++ <comment>Sample rate conversion</comment>
++ <translation>Best</translation>
++ </message>
++ <message>
++ <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="1173"/>
++ <source>Set the quality of audio sample-rate conversion. &quot;%1&quot; (default) provides the best compromise between CPU usage and quality. &quot;%2&quot; lets the audio device handle sample-rate conversion.</source>
++ <translation>Set the quality of audio sample-rate conversion. &quot;%1&quot; (default) provides the best compromise between CPU usage and quality. &quot;%2&quot; lets the audio device handle sample-rate conversion.</translation>
++ </message>
++ <message>
++ <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="1187"/>
++ <source>Force audio device output to 48kHz</source>
++ <translation>Force Audio Device Output to 48kHz</translation>
++ </message>
++ <message>
++ <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="1190"/>
++ <source>Force audio sample rate to 48kHz. Some audio devices will report various rates, but they ultimately crash.</source>
++ <translation>Force audio sample rate to 48kHz. Some audio devices will report various rates, but they ultimately crash.</translation>
++ </message>
++ <message>
++ <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="1200"/>
++ <source>Separate digital output device</source>
++ <translation>Separate Digital Output Device</translation>
++ </message>
++ <message>
++ <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="1204"/>
++ <source>Use a distinct digital output device from default. (default is not checked)</source>
++ <translation>Use a distinct digital output device from default. (default is not enabled)</translation>
++ </message>
++ <message>
++ <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="1214"/>
++ <source>Digital output device</source>
++ <translation>Digital Output Device</translation>
++ </message>
++ <message>
++ <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="1228"/>
++ <source>Audio output device to use for digital audio. This value is currently only used with ALSA and DirectX sound output.</source>
++ <translation>Audio output device to use for digital audio. This value is currently only used with ALSA and DirectX sound output.</translation>
++ </message>
++ <message>
++ <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="1238"/>
++ <source>SPDIF 48kHz rate override</source>
++ <translation>SPDIF 48kHz Rate Override</translation>
++ </message>
++ <message>
++ <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="1242"/>
++ <source>ALSA only. By default, let ALSA determine the passthrough sampling rate. If checked set the sampling rate to 48kHz for passthrough. (default is not checked)</source>
++ <translation>ALSA only. If disabled, ALSA determines the passthrough sampling rate. If enabled, set the sampling rate to 48kHz for passthrough. (default is disabled)</translation>
++ </message>
++ <message>
++ <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="1253"/>
++ <source>HBR passthrough support</source>
++ <translation>HBR Passthrough Support</translation>
++ </message>
++ <message>
++ <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="1257"/>
++ <source>HBR support is required for TrueHD and DTS-HD passthrough. If unchecked, Myth will limit the passthrough bitrate to 6.144Mbit/s. This will disable True-HD passthrough, however will allow DTS-HD content to be sent as DTS-HD Hi-Res. (default is checked)</source>
++ <translation>HBR support is required for TrueHD and DTS-HD passthrough. If disabled, Myth will limit the passthrough bitrate to 6.144Mbit/s. This will disable True-HD passthrough, however will allow DTS-HD content to be sent as DTS-HD Hi-Res. (default is disabled)</translation>
++ </message>
+ </context>
+ <context>
+ <name>AudioDeviceComboBox</name>
+ <message>
+- <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="53"/>
++ <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="33"/>
+ <source>Audio output device</source>
+- <translation>Audio output device</translation>
++ <translation>Audio Output Device</translation>
+ </message>
+ </context>
+ <context>
+ <name>AudioMixerSettings</name>
+ <message>
+- <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="1022"/>
+ <source>Use internal volume controls</source>
+- <translation>Use internal volume controls</translation>
++ <translation type="vanished">Use internal volume controls</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="1026"/>
+ <source>If enabled, MythTV will control the PCM and master mixer volume. Disable this option if you prefer to control the volume externally (for example, using your amplifier) or if you use an external mixer program.</source>
+- <translation>If enabled, MythTV will control the PCM and master mixer volume. Disable this option if you prefer to control the volume externally (for example, using your amplifier) or if you use an external mixer program.</translation>
++ <translation type="vanished">If enabled, MythTV will control the PCM and master mixer volume. Disable this option if you prefer to control the volume externally (for example, using your amplifier) or if you use an external mixer program.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="1037"/>
+ <source>Mixer device</source>
+- <translation>Mixer device</translation>
++ <translation type="vanished">Mixer device</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="1063"/>
+- <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="1069"/>
+ <source>software</source>
+- <translation>software</translation>
++ <translation type="vanished">software</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="1066"/>
+ <source>Setting the mixer device to &quot;%1&quot; lets MythTV control the volume of all audio at the expense of a slight quality loss.</source>
+- <translation>Setting the mixer device to &quot;%1&quot; lets MythTV control the volume of all audio at the expense of a slight quality loss.</translation>
++ <translation type="vanished">Setting the mixer device to &quot;%1&quot; lets MythTV control the volume of all audio at the expense of a slight quality loss.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="1074"/>
+ <source>PCM</source>
+- <translation>PCM</translation>
++ <translation type="vanished">PCM</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="1075"/>
+ <source>Master</source>
+- <translation>Master</translation>
++ <translation type="vanished">Master</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="1081"/>
+ <source>Mixer controls</source>
+- <translation>Mixer controls</translation>
++ <translation type="vanished">Mixer controls</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="1090"/>
+ <source>Changing the volume adjusts the selected mixer.</source>
+- <translation>Changing the volume adjusts the selected mixer.</translation>
++ <translation type="vanished">Changing the volume adjusts the selected mixer.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="1099"/>
+ <source>Master mixer volume</source>
+- <translation>Master mixer volume</translation>
++ <translation type="vanished">Master mixer volume</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="1103"/>
+ <source>Initial volume for the Master mixer. This affects all sound created by the audio device. Note: Do not set this too low.</source>
+- <translation>Initial volume for the Master mixer. This affects all sound created by the audio device. Note: Do not set this too low.</translation>
++ <translation type="vanished">Initial volume for the Master mixer. This affects all sound created by the audio device. Note: Do not set this too low.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="1113"/>
+ <source>PCM mixer volume</source>
+- <translation>PCM mixer volume</translation>
++ <translation type="vanished">PCM mixer volume</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="1117"/>
+ <source>Initial volume for PCM output. Using the volume keys in MythTV will adjust this parameter.</source>
+- <translation>Initial volume for PCM output. Using the volume keys in MythTV will adjust this parameter.</translation>
++ <translation type="vanished">Initial volume for PCM output. Using the volume keys in MythTV will adjust this parameter.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="1125"/>
+ <source>Audio Mixer</source>
+- <translation>Audio Mixer</translation>
++ <translation type="vanished">Audio Mixer</translation>
+ </message>
+ </context>
+ <context>
+@@ -2981,29 +3143,29 @@
+ <message>
+ <location filename="../libs/libmyth/audio/audiooutput.cpp" line="325"/>
+ <source>Invalid or unuseable audio device</source>
+- <translation>Invalid or unuseable audio device</translation>
++ <translation>Invalid or Unuseable Audio Device</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmyth/audio/audiooutput.cpp" line="336"/>
+ <source> (%1 connected to %2)</source>
+- <translation> (%1 connected to %2)</translation>
++ <translation> (%1 Connected to %2)</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmyth/audio/audiooutput.cpp" line="342"/>
+ <source> (No connection detected)</source>
+- <translation> (No connection detected)</translation>
++ <translation> (No Connection Detected)</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmyth/audio/audiooutput.cpp" line="360"/>
+ <source>
+ Device supports up to %1</source>
+ <translation>
+-Device supports up to %1</translation>
++Device Supports Up to %1</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmyth/audio/audiooutput.cpp" line="415"/>
+ <source>OSS device</source>
+- <translation>OSS device</translation>
++ <translation>OSS Device</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmyth/audio/audiooutput.cpp" line="476"/>
+@@ -3013,7 +3175,7 @@
+ <message>
+ <location filename="../libs/libmyth/audio/audiooutput.cpp" line="507"/>
+ <source>CoreAudio default output</source>
+- <translation>CoreAudio default output</translation>
++ <translation>CoreAudio Default Output</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmyth/audio/audiooutput.cpp" line="556"/>
+@@ -3072,22 +3234,22 @@
+ <message>
+ <location filename="../libs/libmyth/audio/audiooutputjack.cpp" line="181"/>
+ <source>Error while registering new jack port: %1</source>
+- <translation>Error while registering new jack port: %1</translation>
++ <translation>ERROR: While registering new jack port: %1</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmyth/audio/audiooutputjack.cpp" line="202"/>
+ <source>Error. Unable to set process callback?!</source>
+- <translation>Error. Unable to set process callback?!</translation>
++ <translation>ERROR: Unable to set process callback?!</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmyth/audio/audiooutputjack.cpp" line="204"/>
+ <source>Error. Unable to set xrun callback?!</source>
+- <translation>Error. Unable to set xrun callback?!</translation>
++ <translation>ERROR: Unable to set xrun callback?!</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmyth/audio/audiooutputjack.cpp" line="206"/>
+ <source>Error. Unable to set graph order change callback?!</source>
+- <translation>Error. Unable to set graph order change callback?!</translation>
++ <translation>ERROR: Unable to set graph order change callback?!</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmyth/audio/audiooutputjack.cpp" line="211"/>
+@@ -3103,7 +3265,7 @@
+ <message>
+ <location filename="../libs/libmyth/audio/audiooutputjack.cpp" line="634"/>
+ <source>Error closing Jack output device. Error: %1</source>
+- <translation>Error closing Jack output device. Error: %1</translation>
++ <translation>ERROR: Closing Jack output device. Error: %1</translation>
+ </message>
+ </context>
+ <context>
+@@ -3129,7 +3291,7 @@
+ <message>
+ <location filename="../programs/mythfrontend/setupwizard_audio.cpp" line="94"/>
+ <source>Select from one of the audio devices detected on your system. When satisfied, you can test audio before moving on. If you fail to configure audio, video playback may fail as well.</source>
+- <translation>Select from one of the audio devices detected on your system. When satisfied, you can test audio before moving on. If you fail to configure audio, video playback may fail as well.</translation>
++ <translation>Select from one of the audio devices detected on your system. When satisfied, you can test audio before moving on. If you fail to configure audio, video playback may fail as well.</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/setupwizard_audio.cpp" line="99"/>
+@@ -3139,27 +3301,27 @@
+ <message>
+ <location filename="../programs/mythfrontend/setupwizard_audio.cpp" line="103"/>
+ <source>Select this checkbox if your receiver is capable of playing DTS.</source>
+- <translation>Select this checkbox if your receiver is capable of playing DTS.</translation>
++ <translation>Enable if your receiver is capable of playing DTS.</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/setupwizard_audio.cpp" line="105"/>
+ <source>Select this checkbox if your receiver is capable of playing AC-3 (Dolby Digital).</source>
+- <translation>Select this checkbox if your receiver is capable of playing AC-3 (Dolby Digital).</translation>
++ <translation>Enable if your receiver is capable of playing AC-3 (Dolby Digital).</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/setupwizard_audio.cpp" line="107"/>
+ <source>Select this checkbox if your receiver is capable of playing E-AC-3 (Dolby Digital Plus).</source>
+- <translation>Select this checkbox if your receiver is capable of playing E-AC-3 (Dolby Digital Plus).</translation>
++ <translation>Enable if your receiver is capable of playing E-AC-3 (Dolby Digital Plus).</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/setupwizard_audio.cpp" line="109"/>
+ <source>Select this checkbox if your receiver is capable of playing TrueHD.</source>
+- <translation>Select this checkbox if your receiver is capable of playing TrueHD.</translation>
++ <translation>Enable if your receiver is capable of playing TrueHD.</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/setupwizard_audio.cpp" line="111"/>
+ <source>Select this checkbox if your receiver is capable of playing DTS-HD.</source>
+- <translation>Select this checkbox if your receiver is capable of playing DTS-HD.</translation>
++ <translation>Enable if your receiver is capable of playing DTS-HD.</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/setupwizard_audio.cpp" line="115"/>
+@@ -3185,10 +3347,10 @@
+ <message>
+ <location filename="../programs/mythfrontend/setupwizard_audio.cpp" line="128"/>
+ <source>Discovering audio devices...</source>
+- <translation>Discovering audio devices...</translation>
++ <translation>Discovering Audio Devices...</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/setupwizard_audio.cpp" line="452"/>
++ <location filename="../programs/mythfrontend/setupwizard_audio.cpp" line="451"/>
+ <source>Stop Speaker Test</source>
+ <translation>Stop Speaker Test</translation>
+ </message>
+@@ -3196,88 +3358,130 @@
+ <context>
+ <name>AudioTest</name>
+ <message>
+- <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="772"/>
++ <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="760"/>
+ <source>Audio Configuration Testing</source>
+ <translation>Audio Configuration Testing</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="778"/>
+ <source>%1 is invalid or not useable.</source>
+- <translation>%1 is invalid and can not be used.</translation>
++ <translation type="vanished">%1 is invalid and can not be used.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="781"/>
+ <source>Warning</source>
+- <translation>Warning</translation>
++ <translation type="vanished">Warning</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="786"/>
+- <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="887"/>
++ <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="823"/>
++ <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="925"/>
+ <source>Test All</source>
+ <translation>Test All</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="787"/>
++ <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="824"/>
+ <source>Start all channels test</source>
+- <translation>Start all channels test</translation>
++ <translation>Start All Channels Test</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="800"/>
++ <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="765"/>
+ <source>Front Left</source>
+ <translation>Front Left</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="804"/>
++ <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="761"/>
++ <source>Will play a test pattern on all configured speakers</source>
++ <translation>Will play a test pattern on all configured speakers.</translation>
++ </message>
++ <message>
++ <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="766"/>
++ <source>Start front left channel test</source>
++ <translation>Start Front Left Channel Test</translation>
++ </message>
++ <message>
++ <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="772"/>
+ <source>Front Right</source>
+ <translation>Front Right</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="813"/>
++ <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="773"/>
++ <source>Start front right channel test</source>
++ <translation>Start Front Right Channel Test</translation>
++ </message>
++ <message>
++ <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="779"/>
+ <source>Rear Left</source>
+ <translation>Rear Left</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="821"/>
++ <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="780"/>
++ <source>Start rear left channel test</source>
++ <translation>Start Rear Left Channel Test</translation>
++ </message>
++ <message>
++ <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="786"/>
+ <source>Rear Right</source>
+ <translation>Rear Right</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="821"/>
++ <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="787"/>
++ <source>Start rear right channel test</source>
++ <translation>Start Rear Right Channel Test</translation>
++ </message>
++ <message>
+ <source>Rear Center</source>
+- <translation>Rear Center</translation>
++ <translation type="vanished">Rear Center</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="830"/>
++ <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="794"/>
+ <source>LFE</source>
+ <translation>LFE</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="837"/>
++ <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="795"/>
++ <source>Start LFE channel test</source>
++ <translation>Start LFE Channel Test</translation>
++ </message>
++ <message>
++ <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="802"/>
+ <source>Surround Left</source>
+ <translation>Surround Left</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="841"/>
++ <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="803"/>
++ <source>Start surround left channel test</source>
++ <translation>Start Surround Left Channel Test</translation>
++ </message>
++ <message>
++ <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="809"/>
+ <source>Surround Right</source>
+ <translation>Surround Right</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="845"/>
++ <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="810"/>
++ <source>Start surround right channel test</source>
++ <translation>Start Surround Right Channel Test</translation>
++ </message>
++ <message>
++ <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="816"/>
+ <source>Center</source>
+ <translation>Center</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="864"/>
++ <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="817"/>
++ <source>Start center channel test</source>
++ <translation>Start Center Channel Test</translation>
++ </message>
++ <message>
++ <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="829"/>
+ <source>Use Highest Quality Mode</source>
+ <translation>Use Highest Quality Mode</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="865"/>
++ <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="830"/>
+ <source>Use the highest audio quality settings supported by your audio card. This will be a good place to start troubleshooting potential errors</source>
+- <translation>Use the highest audio quality settings supported by your audio card. This will be a good place to start troubleshooting potential errors</translation>
++ <translation>Use the highest audio quality settings supported by your audio card. This will be a good place to start troubleshooting potential errors.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="938"/>
++ <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="943"/>
+ <source>Audio device is invalid or not useable.</source>
+ <translation>Audio device is invalid or not useable.</translation>
+ </message>
+@@ -3285,7 +3489,7 @@
+ <context>
+ <name>AudioTestThread</name>
+ <message>
+- <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="637"/>
++ <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="627"/>
+ <source>Unable to create AudioOutput.</source>
+ <translation>Unable to create AudioOutput.</translation>
+ </message>
+@@ -3293,7 +3497,7 @@
+ <context>
+ <name>BDInfo</name>
+ <message>
+- <location filename="../libs/libmythtv/Bluray/bdringbuffer.cpp" line="121"/>
++ <location filename="../libs/libmythtv/Bluray/bdringbuffer.cpp" line="207"/>
+ <source>Could not open Blu-ray device: %1</source>
+ <translation>Could not open Blu-ray device: %1</translation>
+ </message>
+@@ -3301,29 +3505,29 @@
+ <context>
+ <name>BDRingBuffer</name>
+ <message>
+- <location filename="../libs/libmythtv/Bluray/bdringbuffer.cpp" line="336"/>
++ <location filename="../libs/libmythtv/Bluray/bdringbuffer.cpp" line="426"/>
+ <source>Title %1 chapter %2</source>
+- <translation>Title %1 chapter %2</translation>
++ <translation>Title %1 Chapter %2</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/Bluray/bdringbuffer.cpp" line="505"/>
++ <location filename="../libs/libmythtv/Bluray/bdringbuffer.cpp" line="595"/>
+ <source>Could not open Blu-ray device: %1</source>
+ <translation>Could not open Blu-ray device: %1</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/Bluray/bdringbuffer.cpp" line="537"/>
++ <location filename="../libs/libmythtv/Bluray/bdringbuffer.cpp" line="627"/>
+ <source>Could not open Blu-ray device %1, failed to decrypt</source>
+- <translation>Could not open Blu-ray device %1, failed to decrypt</translation>
++ <translation>Failed to decrypt, could not open Blu-ray device: %1</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/Bluray/bdringbuffer.cpp" line="588"/>
++ <location filename="../libs/libmythtv/Bluray/bdringbuffer.cpp" line="678"/>
+ <source>Unable to find any Blu-ray compatible titles</source>
+- <translation>Unable to find any Blu-ray compatible titles</translation>
++ <translation>Unable to find any Blu-ray compatible titles.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/Bluray/bdringbuffer.cpp" line="688"/>
++ <location filename="../libs/libmythtv/Bluray/bdringbuffer.cpp" line="784"/>
+ <source>Unable to find any usable Blu-ray titles</source>
+- <translation>Unable to find any usable Blu-ray titles</translation>
++ <translation>Unable to find any usable Blu-ray titles.</translation>
+ </message>
+ </context>
+ <context>
+@@ -3336,159 +3540,162 @@
+ <message>
+ <location filename="../libs/libmyth/backendselect.cpp" line="358"/>
+ <source>Please enter the backend access PIN</source>
+- <translation>Please enter the backend access PIN</translation>
++ <translation>Please enter the backend access PIN:</translation>
++ </message>
++</context>
++<context>
++ <name>BackendSettings</name>
++ <message>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="883"/>
++ <source>Host Address Backend Setup</source>
++ <translation>Host Address Backend Setup</translation>
+ </message>
+ </context>
+ <context>
+ <name>BookmarkDialog</name>
+ <message>
+- <location filename="../programs/mythfrontend/main.cpp" line="205"/>
++ <location filename="../programs/mythfrontend/main.cpp" line="213"/>
+ <source>DVD/Video contains a bookmark</source>
+- <translation>DVD/Video contains a bookmark</translation>
++ <translation>DVD/Video Contains a Bookmark</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/main.cpp" line="206"/>
++ <location filename="../programs/mythfrontend/main.cpp" line="214"/>
+ <source>Play from bookmark</source>
+- <translation>Play from bookmark</translation>
++ <translation>Play from Bookmark</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/main.cpp" line="207"/>
++ <location filename="../programs/mythfrontend/main.cpp" line="215"/>
+ <source>Play from beginning</source>
+- <translation>Play from beginning</translation>
++ <translation>Play from Beginning</translation>
+ </message>
+ </context>
+ <context>
+ <name>CaptureCardEditor</name>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="3752"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="3731"/>
++ <source>New capture card</source>
++ <translation>New Capture Card</translation>
++ </message>
++ <message>
++ <location filename="../libs/libmythtv/videosource.cpp" line="3763"/>
++ <source>Error getting list of cards for this host. Unable to delete capturecards for %1</source>
++ <translation>Error getting list of cards for this host. Unable to delete capture cards for %1.</translation>
++ </message>
++ <message>
++ <location filename="../libs/libmythtv/videosource.cpp" line="3780"/>
+ <source>Capture cards</source>
+- <translation>Capture cards</translation>
++ <translation>Capture Cards</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="3796"/>
+ <source>Capture Card Menu</source>
+- <translation>Capture Card Menu</translation>
++ <translation type="vanished">Capture Card Menu</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="3797"/>
+ <source>Edit...</source>
+- <translation>Edit...</translation>
++ <translation type="vanished">Edit...</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="3798"/>
+ <source>Delete...</source>
+- <translation>Delete...</translation>
++ <translation type="vanished">Delete...</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="3815"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="3711"/>
+ <source>Are you sure you want to delete ALL capture cards on %1?</source>
+ <translation>Are you sure you want to delete ALL capture cards on %1?</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="3817"/>
+- <location filename="../libs/libmythtv/videosource.cpp" line="3852"/>
+ <source>Yes, delete capture cards</source>
+- <translation>Yes, delete capture cards</translation>
++ <translation type="vanished">Yes, Delete Capture Cards</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="3818"/>
+- <location filename="../libs/libmythtv/videosource.cpp" line="3853"/>
+- <location filename="../libs/libmythtv/videosource.cpp" line="3876"/>
+ <source>No, don&apos;t</source>
+- <translation>No, don&apos;t</translation>
++ <translation type="vanished">No, Keep</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="3834"/>
+ <source>Error getting list of cards for this host</source>
+- <translation>Error getting list of cards for this host</translation>
++ <translation type="vanished">Error getting list of cards for this host</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="3835"/>
+ <source>Unable to delete capturecards for %1</source>
+- <translation>Unable to delete capture cards for %1</translation>
++ <translation type="vanished">Unable to delete capture cards for %1</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="3850"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="3721"/>
+ <source>Are you sure you want to delete ALL capture cards?</source>
+ <translation>Are you sure you want to delete ALL capture cards?</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="3874"/>
+ <source>Are you sure you want to delete this capture card?</source>
+- <translation>Are you sure you want to delete this capture card?</translation>
++ <translation type="vanished">Are you sure you want to delete this capture card?</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="3875"/>
+ <source>Yes, delete capture card</source>
+- <translation>Yes, delete capture card</translation>
++ <translation type="vanished">Yes, Delete Capture Card</translation>
+ </message>
+ </context>
+ <context>
+ <name>CardInput</name>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="3456"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="3336"/>
+ <source>Scan for channels</source>
+- <translation>Scan for channels</translation>
++ <translation>Scan for Channels</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="3458"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="3370"/>
+ <source>Use channel scanner to find channels for this input.</source>
+ <translation>Use channel scanner to find channels for this input.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="3460"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="3337"/>
+ <source>Fetch channels from listings source</source>
+- <translation>Fetch channels from listings source</translation>
++ <translation>Fetch Channels from Listings Source</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="3462"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="3373"/>
+ <source>This uses the listings data source to provide the channels for this input.</source>
+ <translation>This uses the listings data source to provide the channels for this input.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="3464"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="3375"/>
+ <source>This can take a long time to run.</source>
+ <translation>This can take a long time to run.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="3545"/>
+ <source>Create Input Group</source>
+- <translation>Create Input Group</translation>
++ <translation type="vanished">Create Input Group</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="3546"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="3463"/>
+ <source>Enter new group name</source>
+- <translation>Enter new group name</translation>
++ <translation>Enter group name:</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="3554"/>
+- <location filename="../libs/libmythtv/videosource.cpp" line="3577"/>
+ <source>Error</source>
+- <translation>Error</translation>
++ <translation type="vanished">Error</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="3555"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="3479"/>
+ <source>Sorry, this Input Group name cannot be blank.</source>
+- <translation>Sorry, this Input Group name cannot be blank.</translation>
++ <translation>Sorry, the name cannot be blank.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="3578"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="3499"/>
+ <source>Sorry, this Input Group name is already in use.</source>
+- <translation>Sorry, this Input Group name is already in use.</translation>
++ <translation>Sorry, this name is already in use.</translation>
+ </message>
+ </context>
+ <context>
+ <name>CardInputEditor</name>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="3987"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="3848"/>
+ <source>Input connections</source>
+- <translation>Input connections</translation>
++ <translation>Input Connections</translation>
+ </message>
+ </context>
+ <context>
+ <name>CetonConfigurationGroup</name>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="2426"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="2371"/>
+ <source>Description</source>
+ <translation>Description</translation>
+ </message>
+@@ -3496,141 +3703,147 @@
+ <context>
+ <name>CetonDeviceID</name>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="2377"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="2328"/>
+ <source>Device ID</source>
+ <translation>Device ID</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="2378"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="2329"/>
+ <source>Device ID of Ceton device</source>
+- <translation>Device ID of Ceton device</translation>
++ <translation>Device ID of Ceton Tuner</translation>
+ </message>
+ </context>
+ <context>
+ <name>ChannelCheckBox</name>
+ <message>
+- <location filename="../libs/libmythtv/channelgroupsettings.cpp" line="90"/>
+ <source>%1 %2</source>
+ <comment>Channel number with channel name</comment>
+ <extracomment>%1 is the channel number, %2 is the channel name</extracomment>
+- <translation>%1 %2</translation>
++ <translation type="vanished">%1 %2</translation>
++ </message>
++ <message>
++ <source>Select/Unselect channels for this channel group</source>
++ <translation type="vanished">Select/Unselect channels for this channel group</translation>
+ </message>
++</context>
++<context>
++ <name>ChannelCheckBoxSetting</name>
+ <message>
+- <location filename="../libs/libmythtv/channelgroupsettings.cpp" line="92"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="4349"/>
+ <source>Select/Unselect channels for this channel group</source>
+- <translation>Select/Unselect channels for this channel group</translation>
++ <translation>Select/Unselect Channels for this Channel Group</translation>
+ </message>
+ </context>
+ <context>
+ <name>ChannelEditor</name>
+ <message>
+- <location filename="../programs/mythtv-setup/channeleditor.cpp" line="112"/>
+- <location filename="../programs/mythtv-setup/channeleditor.cpp" line="270"/>
+- <location filename="../programs/mythtv-setup/channeleditor.cpp" line="317"/>
++ <location filename="../programs/mythtv-setup/channeleditor.cpp" line="114"/>
++ <location filename="../programs/mythtv-setup/channeleditor.cpp" line="272"/>
++ <location filename="../programs/mythtv-setup/channeleditor.cpp" line="319"/>
+ <source>Channel Name</source>
+ <translation>Channel Name</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/channeleditor.cpp" line="109"/>
++ <location filename="../programs/mythtv-setup/channeleditor.cpp" line="111"/>
+ <source>Delete all channels on currently selected source(s).</source>
+- <translation>Delete all channels on currently selected source(s).</translation>
++ <translation>Delete All Channels on Currently Selected Source(s).</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/channeleditor.cpp" line="113"/>
+- <location filename="../programs/mythtv-setup/channeleditor.cpp" line="274"/>
+- <location filename="../programs/mythtv-setup/channeleditor.cpp" line="322"/>
++ <location filename="../programs/mythtv-setup/channeleditor.cpp" line="115"/>
++ <location filename="../programs/mythtv-setup/channeleditor.cpp" line="276"/>
++ <location filename="../programs/mythtv-setup/channeleditor.cpp" line="324"/>
+ <source>Channel Number</source>
+ <translation>Channel Number</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/channeleditor.cpp" line="120"/>
++ <location filename="../programs/mythtv-setup/channeleditor.cpp" line="122"/>
+ <source>All</source>
+ <translation>All</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/channeleditor.cpp" line="132"/>
++ <location filename="../programs/mythtv-setup/channeleditor.cpp" line="134"/>
+ <source>(Unassigned)</source>
+ <translation>(Unassigned)</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/channeleditor.cpp" line="143"/>
++ <location filename="../programs/mythtv-setup/channeleditor.cpp" line="145"/>
+ <source>Starts the channel scanner.</source>
+ <translation>Starts the channel scanner.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/channeleditor.cpp" line="147"/>
++ <location filename="../programs/mythtv-setup/channeleditor.cpp" line="149"/>
+ <source>Starts the icon downloader</source>
+- <translation>Starts the icon downloader</translation>
++ <translation>Starts the icon downloader.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/channeleditor.cpp" line="153"/>
++ <location filename="../programs/mythtv-setup/channeleditor.cpp" line="155"/>
+ <source>Allows you to edit the transports directly. This is rarely required unless you are using a satellite dish and must enter an initial frequency to for the channel scanner to try.</source>
+ <translation>Allows you to edit the transports directly. This is rarely required unless you are using a satellite dish and must enter an initial frequency to for the channel scanner to try.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/channeleditor.cpp" line="247"/>
++ <location filename="../programs/mythtv-setup/channeleditor.cpp" line="249"/>
+ <source>(Add New Channel)</source>
+ <translation>(Add New Channel)</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/channeleditor.cpp" line="405"/>
++ <location filename="../programs/mythtv-setup/channeleditor.cpp" line="407"/>
+ <source>Delete channel &apos;%1&apos;?</source>
+- <translation>Delete channel &apos;%1&apos;?</translation>
++ <translation>Delete Channel &apos;%1&apos;?</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/channeleditor.cpp" line="429"/>
++ <location filename="../programs/mythtv-setup/channeleditor.cpp" line="431"/>
+ <source>Delete ALL channels?</source>
+- <translation>Delete ALL channels?</translation>
++ <translation>Delete All Channels?</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/channeleditor.cpp" line="430"/>
++ <location filename="../programs/mythtv-setup/channeleditor.cpp" line="432"/>
+ <source>Delete all unassigned channels?</source>
+- <translation>Delete all unassigned channels?</translation>
++ <translation>Delete All Unassigned Channels?</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/channeleditor.cpp" line="431"/>
++ <location filename="../programs/mythtv-setup/channeleditor.cpp" line="433"/>
+ <source>Delete all channels on %1?</source>
+- <translation>Delete all channels on %1?</translation>
++ <translation>Delete All Channels on %1?</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/channeleditor.cpp" line="472"/>
++ <location filename="../programs/mythtv-setup/channeleditor.cpp" line="482"/>
+ <source>Channel Options</source>
+ <translation>Channel Options</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/channeleditor.cpp" line="482"/>
++ <location filename="../programs/mythtv-setup/channeleditor.cpp" line="492"/>
+ <source>Edit</source>
+ <translation>Edit</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/channeleditor.cpp" line="487"/>
++ <location filename="../programs/mythtv-setup/channeleditor.cpp" line="497"/>
+ <source>Delete</source>
+ <translation>Delete</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/channeleditor.cpp" line="526"/>
++ <location filename="../programs/mythtv-setup/channeleditor.cpp" line="549"/>
+ <source>Add some channels first!</source>
+ <translation>Add some channels first!</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/channeleditor.cpp" line="547"/>
++ <location filename="../programs/mythtv-setup/channeleditor.cpp" line="570"/>
+ <source>Icon Import Options</source>
+ <translation>Icon Import Options</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/channeleditor.cpp" line="557"/>
++ <location filename="../programs/mythtv-setup/channeleditor.cpp" line="580"/>
+ <source>Download all icons...</source>
+- <translation>Download all icons...</translation>
++ <translation>Download All Icons...</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/channeleditor.cpp" line="558"/>
++ <location filename="../programs/mythtv-setup/channeleditor.cpp" line="581"/>
+ <source>Rescan for missing icons...</source>
+- <translation>Rescan for missing icons...</translation>
++ <translation>Rescan for Missing Icons...</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/channeleditor.cpp" line="560"/>
++ <location filename="../programs/mythtv-setup/channeleditor.cpp" line="583"/>
+ <source>Download icon for %1</source>
+- <translation>Download icon for %1</translation>
++ <translation>Download Icon for %1</translation>
+ </message>
+ </context>
+ <context>
+@@ -3644,87 +3857,105 @@
+ <context>
+ <name>ChannelGroupConfig</name>
+ <message>
+- <location filename="../libs/libmythtv/channelgroupsettings.cpp" line="113"/>
+ <source>%1 Channel Group - Page %2 of %3</source>
+- <translation>%1 Channel Group - Page %2 of %3</translation>
++ <translation type="vanished">%1 Channel Group - Page %2 of %3</translation>
+ </message>
+ </context>
+ <context>
+ <name>ChannelGroupEditor</name>
+ <message>
+- <location filename="../libs/libmythtv/channelgroupsettings.cpp" line="139"/>
+ <source>Channel Groups</source>
+- <translation>Channel Groups</translation>
++ <translation type="vanished">Channel Groups</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelgroupsettings.cpp" line="153"/>
+ <source>Create New Channel Group</source>
+- <translation>Create New Channel Group</translation>
++ <translation type="vanished">Create New Channel Group</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelgroupsettings.cpp" line="154"/>
+ <source>Enter group name or press SELECT to enter text via the On Screen Keyboard</source>
+- <translation>Enter group name or press SELECT to enter text via the On Screen Keyboard</translation>
++ <translation type="vanished">Enter group name or press SELECT to enter text via the On Screen Keyboard</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelgroupsettings.cpp" line="181"/>
+ <source>Delete &apos;%1&apos; Channel group?</source>
+- <translation>Delete &apos;%1&apos; Channel group?</translation>
++ <translation type="vanished">Delete &apos;%1&apos; Channel group?</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelgroupsettings.cpp" line="186"/>
+ <source>Yes, delete group</source>
+- <translation>Yes, delete group</translation>
++ <translation type="vanished">Yes, Delete Group</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelgroupsettings.cpp" line="187"/>
+ <source>No, Don&apos;t delete group</source>
+- <translation>No, Don&apos;t delete group</translation>
++ <translation type="vanished">No, Keep Group</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelgroupsettings.cpp" line="239"/>
+ <source>(Create new group)</source>
+- <translation>(Create new group)</translation>
++ <translation type="vanished">(Create new group)</translation>
++ </message>
++</context>
++<context>
++ <name>ChannelGroupSetting</name>
++ <message>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="4453"/>
++ <source>Group name</source>
++ <translation>Group Name</translation>
+ </message>
+ </context>
+ <context>
+ <name>ChannelGroupSettings</name>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="2675"/>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="2735"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2683"/>
+ <source>Remember last channel group</source>
+- <translation>Remember last channel group</translation>
++ <translation>Remember Last Channel Group</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="2677"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2685"/>
+ <source>If enabled, the EPG will initially display only the channels from the last channel group selected. Pressing &quot;4&quot; will toggle channel group.</source>
+ <translation>If enabled, the EPG will initially display only the channels from the last channel group selected. Pressing &quot;4&quot; will toggle channel group.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="2692"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2700"/>
+ <source>Default channel group</source>
+- <translation>Default channel group</translation>
++ <translation>Default Channel Group</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="2698"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2706"/>
+ <source>All Channels</source>
+ <translation>All Channels</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="2705"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2713"/>
+ <source>Default channel group to be shown in the EPG. Pressing GUIDE key will toggle channel group.</source>
+- <translation>Default channel group to be shown in the EPG. Pressing GUIDE key will toggle channel group.</translation>
++ <translation>Default channel group to be shown in the EPG. Pressing GUIDE key will toggle channel group.</translation>
++ </message>
++</context>
++<context>
++ <name>ChannelGroupsSetting</name>
++ <message>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="4517"/>
++ <source>Channel Groups</source>
++ <translation>Channel Groups</translation>
++ </message>
++ <message>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="4524"/>
++ <source>(Create New Channel Group)</source>
++ <translation>(Create New Channel Group)</translation>
++ </message>
++ <message>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="4528"/>
++ <source>Favorites</source>
++ <translation>Favorites</translation>
++ </message>
++ <message>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="4561"/>
++ <source>Enter the name of the new channel group</source>
++ <translation>Enter group name:</translation>
+ </message>
+ </context>
+ <context>
+ <name>ChannelImporter</name>
+ <message>
+- <location filename="../libs/libmythtv/channelscan/channelimporter.cpp" line="47"/>
+- <location filename="../libs/libmythtv/channelscan/channelimporter.cpp" line="1291"/>
+- <location filename="../libs/libmythtv/channelscan/channelimporter.cpp" line="1358"/>
+- <location filename="../libs/libmythtv/channelscan/channelimporter.cpp" line="1421"/>
+- <location filename="../libs/libmythtv/channelscan/channelimporter.cpp" line="1547"/>
+- <location filename="../libs/libmythtv/channelscan/channelimporter.cpp" line="1629"/>
++ <location filename="../libs/libmythtv/channelscan/channelimporter.cpp" line="1610"/>
++ <location filename="../libs/libmythtv/channelscan/channelimporter.cpp" line="1694"/>
+ <source>Channel Importer</source>
+ <translation>Channel Importer</translation>
+ </message>
+@@ -3732,8 +3963,8 @@
+ <location filename="../libs/libmythtv/channelscan/channelimporter.cpp" line="49"/>
+ <source>Found %n channel(s)</source>
+ <translation>
+- <numerusform>Found %n channel</numerusform>
+- <numerusform>Found %n channels</numerusform>
++ <numerusform>Found %n Channel</numerusform>
++ <numerusform>Found %n Channels</numerusform>
+ </translation>
+ </message>
+ <message>
+@@ -3800,7 +4031,7 @@
+ </translation>
+ </message>
+ <message numerus="yes">
+- <location filename="../libs/libmythtv/channelscan/channelimporter.cpp" line="1132"/>
++ <location filename="../libs/libmythtv/channelscan/channelimporter.cpp" line="1152"/>
+ <source>Found %n transport(s):
+ </source>
+ <extracomment>%n is the number of transports</extracomment>
+@@ -3812,148 +4043,159 @@
+ </translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelscan/channelimporter.cpp" line="1133"/>
++ <location filename="../libs/libmythtv/channelscan/channelimporter.cpp" line="1153"/>
+ <source>Channels: FTA Enc Dec
+ </source>
+ <translation>Channels: FTA Enc Dec
+ </translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelscan/channelimporter.cpp" line="1147"/>
++ <location filename="../libs/libmythtv/channelscan/channelimporter.cpp" line="1167"/>
+ <source>Unique: prog %1 atsc %2 atsc minor %3 channum %4
+ </source>
+ <translation>Unique: prog %1 atsc %2 atsc minor %3 channum %4
+ </translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelscan/channelimporter.cpp" line="1150"/>
++ <location filename="../libs/libmythtv/channelscan/channelimporter.cpp" line="1170"/>
+ <source>Max atsc major count: %1</source>
+ <translation>Max atsc major count: %1</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelscan/channelimporter.cpp" line="1282"/>
++ <location filename="../libs/libmythtv/channelscan/channelimporter.cpp" line="1319"/>
+ <source>Delete all</source>
+- <translation>Delete all</translation>
++ <translation>Delete All</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelscan/channelimporter.cpp" line="1283"/>
++ <location filename="../libs/libmythtv/channelscan/channelimporter.cpp" line="1320"/>
+ <source>Set all invisible</source>
+- <translation>Set all invisible</translation>
++ <translation>Set All Invisible</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelscan/channelimporter.cpp" line="1285"/>
+- <location filename="../libs/libmythtv/channelscan/channelimporter.cpp" line="1352"/>
+- <location filename="../libs/libmythtv/channelscan/channelimporter.cpp" line="1415"/>
++ <location filename="../libs/libmythtv/channelscan/channelimporter.cpp" line="1322"/>
++ <location filename="../libs/libmythtv/channelscan/channelimporter.cpp" line="1398"/>
++ <location filename="../libs/libmythtv/channelscan/channelimporter.cpp" line="1470"/>
+ <source>Ignore all</source>
+- <translation>Ignore all</translation>
++ <translation>Ignore All</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelscan/channelimporter.cpp" line="1308"/>
+- <location filename="../libs/libmythtv/channelscan/channelimporter.cpp" line="1373"/>
+- <location filename="../libs/libmythtv/channelscan/channelimporter.cpp" line="1436"/>
++ <location filename="../libs/libmythtv/channelscan/channelimporter.cpp" line="1345"/>
++ <location filename="../libs/libmythtv/channelscan/channelimporter.cpp" line="1419"/>
++ <location filename="../libs/libmythtv/channelscan/channelimporter.cpp" line="1491"/>
+ <source>Do you want to:</source>
+ <translation>Do you want to:</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelscan/channelimporter.cpp" line="1310"/>
++ <location filename="../libs/libmythtv/channelscan/channelimporter.cpp" line="1347"/>
+ <source>1. Delete all</source>
+- <translation>1. Delete all</translation>
++ <translation>1. Delete All</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelscan/channelimporter.cpp" line="1312"/>
++ <location filename="../libs/libmythtv/channelscan/channelimporter.cpp" line="1349"/>
+ <source>2. Set all invisible</source>
+- <translation>2. Set all invisible</translation>
++ <translation>2. Set All Invisible</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelscan/channelimporter.cpp" line="1315"/>
++ <location filename="../libs/libmythtv/channelscan/channelimporter.cpp" line="1352"/>
+ <source>4. Ignore all</source>
+- <translation>4. Ignore all</translation>
++ <translation>4. Ignore All</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelscan/channelimporter.cpp" line="1334"/>
++ <location filename="../libs/libmythtv/channelscan/channelimporter.cpp" line="1371"/>
+ <source>Please enter either 1, 2 or 4:</source>
+- <translation>Please enter either 1, 2 or 4:</translation>
++ <translation>Please enter 1, 2 or 4:</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelscan/channelimporter.cpp" line="1350"/>
++ <location filename="../libs/libmythtv/channelscan/channelimporter.cpp" line="1396"/>
+ <source>Insert all</source>
+- <translation>Insert all</translation>
++ <translation>Insert All</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelscan/channelimporter.cpp" line="1351"/>
++ <location filename="../libs/libmythtv/channelscan/channelimporter.cpp" line="1397"/>
+ <source>Insert manually</source>
+- <translation>Insert manually</translation>
++ <translation>Insert Manually</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelscan/channelimporter.cpp" line="1375"/>
++ <location filename="../libs/libmythtv/channelscan/channelimporter.cpp" line="1421"/>
+ <source>1. Insert all</source>
+- <translation>1. Insert all</translation>
++ <translation>1. Insert All</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelscan/channelimporter.cpp" line="1377"/>
++ <location filename="../libs/libmythtv/channelscan/channelimporter.cpp" line="1423"/>
+ <source>2. Insert manually</source>
+- <translation>2. Insert manually</translation>
++ <translation>2. Insert Manually</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelscan/channelimporter.cpp" line="1379"/>
+- <location filename="../libs/libmythtv/channelscan/channelimporter.cpp" line="1442"/>
++ <location filename="../libs/libmythtv/channelscan/channelimporter.cpp" line="1425"/>
++ <location filename="../libs/libmythtv/channelscan/channelimporter.cpp" line="1497"/>
+ <source>3. Ignore all</source>
+- <translation>3. Ignore all</translation>
++ <translation>3. Ignore All</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelscan/channelimporter.cpp" line="1396"/>
+- <location filename="../libs/libmythtv/channelscan/channelimporter.cpp" line="1459"/>
++ <location filename="../libs/libmythtv/channelscan/channelimporter.cpp" line="1442"/>
++ <location filename="../libs/libmythtv/channelscan/channelimporter.cpp" line="1514"/>
+ <source>Please enter either 1, 2, or 3:</source>
+- <translation>Please enter either 1, 2, or 3:</translation>
++ <translation>Please enter 1, 2, or 3:</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelscan/channelimporter.cpp" line="1413"/>
++ <location filename="../libs/libmythtv/channelscan/channelimporter.cpp" line="1468"/>
+ <source>Update all</source>
+- <translation>Update all</translation>
++ <translation>Update All</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelscan/channelimporter.cpp" line="1414"/>
++ <location filename="../libs/libmythtv/channelscan/channelimporter.cpp" line="1469"/>
+ <source>Update manually</source>
+- <translation>Update manually</translation>
++ <translation>Update Manually</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelscan/channelimporter.cpp" line="1438"/>
++ <location filename="../libs/libmythtv/channelscan/channelimporter.cpp" line="1493"/>
+ <source>1. Update all</source>
+- <translation>1. Update all</translation>
++ <translation>1. Update All</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelscan/channelimporter.cpp" line="1440"/>
++ <location filename="../libs/libmythtv/channelscan/channelimporter.cpp" line="1495"/>
+ <source>2. Update manually</source>
+- <translation>2. Update manually</translation>
++ <translation>2. Update Manually</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelscan/channelimporter.cpp" line="1485"/>
+ <source>Suggest</source>
+- <translation>Suggest</translation>
++ <translation type="vanished">Suggest</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelscan/channelimporter.cpp" line="1532"/>
++ <location filename="../libs/libmythtv/channelscan/channelimporter.cpp" line="1593"/>
+ <source>Channel %1 was found to be in conflict with other channels.</source>
+ <translation>Channel %1 was found to be in conflict with other channels.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelscan/channelimporter.cpp" line="1543"/>
+- <location filename="../libs/libmythtv/channelscan/channelimporter.cpp" line="1625"/>
++ <location filename="../libs/libmythtv/channelscan/channelimporter.cpp" line="1557"/>
++ <location filename="../libs/libmythtv/channelscan/channelimporter.cpp" line="1604"/>
++ <location filename="../libs/libmythtv/channelscan/channelimporter.cpp" line="1688"/>
+ <source>Please enter a unique channel number.</source>
+ <translation>Please enter a unique channel number.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelscan/channelimporter.cpp" line="1571"/>
++ <location filename="../libs/libmythtv/channelscan/channelimporter.cpp" line="1535"/>
++ <source>Edit</source>
++ <translation>Edit</translation>
++ </message>
++ <message>
++ <location filename="../libs/libmythtv/channelscan/channelimporter.cpp" line="1608"/>
++ <location filename="../libs/libmythtv/channelscan/channelimporter.cpp" line="1692"/>
++ <source>Default value is %1</source>
++ <translation>Default value is %1</translation>
++ </message>
++ <message>
++ <location filename="../libs/libmythtv/channelscan/channelimporter.cpp" line="1634"/>
+ <source>Please enter a non-conflicting channel number (or type &apos;%1&apos; to skip, &apos;%2&apos; to skip all):</source>
+ <translation>Please enter a non-conflicting channel number (or type &apos;%1&apos; to skip, &apos;%2&apos; to skip all):</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelscan/channelimporter.cpp" line="1614"/>
++ <location filename="../libs/libmythtv/channelscan/channelimporter.cpp" line="1677"/>
+ <source>You chose to manually insert channel %1.</source>
+ <translation>You chose to manually insert channel %1.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelscan/channelimporter.cpp" line="1658"/>
++ <location filename="../libs/libmythtv/channelscan/channelimporter.cpp" line="1723"/>
+ <source>Please enter a non-conflicting channel number (or type &apos;%1&apos; to skip, &apos;%2&apos; to skip all): </source>
+ <extracomment>%1 is the translation of &quot;cancel&quot;, %2 of &quot;cancel all&quot;</extracomment>
+ <translation>Please enter a non-conflicting channel number (or type &apos;%1&apos; to skip, &apos;%2&apos; to skip all): </translation>
+@@ -3978,32 +4220,32 @@
+ <location filename="../libs/libmythtv/channelscan/channelscanner.cpp" line="192"/>
+ <location filename="../libs/libmythtv/channelscan/channelscanner.cpp" line="225"/>
+ <source>Error tuning to transport</source>
+- <translation>Error tuning to transport</translation>
++ <translation>Error Tuning to Transport</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/channelscan/channelscanner.cpp" line="244"/>
+ <source>Error scanning MPTS in IPTV</source>
+- <translation>Error scanning MPTS in IPTV</translation>
++ <translation>Error Scanning MPTS in IPTV</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/channelscan/channelscanner.cpp" line="267"/>
+ <source>Programmer Error: Failed to handle tune complete.</source>
+- <translation>Programmer Error: Failed to handle tune complete.</translation>
++ <translation>Programmer Error: Failed to Handle Tune Complete.</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/channelscan/channelscanner.cpp" line="301"/>
+ <source>Failed to parse &apos;%1&apos;</source>
+- <translation>Failed to parse &apos;%1&apos;</translation>
++ <translation>Failed to Parse &apos;%1&apos;</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/channelscan/channelscanner.cpp" line="303"/>
+ <source>Programmer Error : incorrect card type</source>
+- <translation>Programmer Error : incorrect card type</translation>
++ <translation>Programmer Error : Incorrect Card Type</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/channelscan/channelscanner.cpp" line="304"/>
+ <source>Failed to open &apos;%1&apos;</source>
+- <translation>Failed to open &apos;%1&apos;</translation>
++ <translation>Failed to Open &apos;%1&apos;</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/channelscan/channelscanner.cpp" line="375"/>
+@@ -4013,7 +4255,7 @@
+ <message>
+ <location filename="../libs/libmythtv/channelscan/channelscanner.cpp" line="454"/>
+ <source>Programmer Error: Channel not created</source>
+- <translation>Programmer Error: Channel not created</translation>
++ <translation>Programmer Error: Channel Not Created</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/channelscan/channelscanner.cpp" line="465"/>
+@@ -4024,72 +4266,80 @@
+ <context>
+ <name>ChannelScannerGUI</name>
+ <message>
+- <location filename="../libs/libmythtv/channelscan/channelscanner_gui.cpp" line="62"/>
+ <source>Scanning</source>
+- <translation>Scanning</translation>
++ <translation type="vanished">Scanning</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelscan/channelscanner_gui.cpp" line="171"/>
+ <source>ScanWizard</source>
+- <translation>ScanWizard</translation>
++ <translation type="vanished">ScanWizard</translation>
++ </message>
++ <message>
++ <location filename="../libs/libmythtv/channelscan/channelscanner_gui.cpp" line="74"/>
++ <source>Scan complete</source>
++ <translation>Scan Complete</translation>
+ </message>
+ </context>
+ <context>
+ <name>ChannelScannerGUIScanPane</name>
+ <message>
+- <location filename="../libs/libmythtv/channelscan/channelscanner_gui_scan_pane.cpp" line="41"/>
+ <source>Scan Progress</source>
+- <translation>Scan Progress</translation>
++ <translation type="vanished">Scan Progress</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelscan/channelscanner_gui_scan_pane.cpp" line="46"/>
+ <source>Status</source>
+- <translation>Status</translation>
++ <translation type="vanished">Status</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelscan/channelscanner_gui_scan_pane.cpp" line="47"/>
++ <location filename="../libs/libmythtv/channelscan/channelscanner_gui_scan_pane.cpp" line="112"/>
+ <source>Tuning</source>
+ <translation>Tuning</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelscan/channelscanner_gui_scan_pane.cpp" line="61"/>
+ <source>Rotor Movement</source>
+- <translation>Rotor Movement</translation>
++ <translation type="vanished">Rotor Movement</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelscan/channelscanner_gui_scan_pane.cpp" line="71"/>
+ <source>Signal Strength</source>
+- <translation>Signal Strength</translation>
++ <translation type="vanished">Signal Strength</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelscan/channelscanner_gui_scan_pane.cpp" line="77"/>
+ <source>Signal/Noise</source>
+- <translation>Signal/Noise</translation>
++ <translation type="vanished">Signal/Noise</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelscan/channelscanner_gui_scan_pane.cpp" line="85"/>
+ <source>Scan</source>
+- <translation>Scan</translation>
++ <translation type="vanished">Scan</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelscan/channelscanner_gui_scan_pane.cpp" line="90"/>
+ <source>Stop Scan</source>
+- <translation>Stop Scan</translation>
++ <translation type="vanished">Stop Scan</translation>
++ </message>
++ <message>
++ <location filename="../libs/libmythtv/channelscan/channelscanner_gui_scan_pane.cpp" line="128"/>
++ <location filename="../libs/libmythtv/channelscan/channelscanner_gui_scan_pane.cpp" line="137"/>
++ <location filename="../libs/libmythtv/channelscan/channelscanner_gui_scan_pane.cpp" line="146"/>
++ <location filename="../libs/libmythtv/channelscan/channelscanner_gui_scan_pane.cpp" line="182"/>
++ <source>%1%</source>
++ <translation>%1: {1%?}</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelscan/channelscanner_gui_scan_pane.cpp" line="121"/>
++ <location filename="../libs/libmythtv/channelscan/channelscanner_gui_scan_pane.cpp" line="155"/>
+ <source>Locked</source>
+ <translation>Locked</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelscan/channelscanner_gui_scan_pane.cpp" line="121"/>
++ <location filename="../libs/libmythtv/channelscan/channelscanner_gui_scan_pane.cpp" line="155"/>
+ <source>No Lock</source>
+ <translation>No Lock</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelscan/channelscanner_gui_scan_pane.cpp" line="132"/>
++ <location filename="../libs/libmythtv/channelscan/channelscanner_gui_scan_pane.cpp" line="167"/>
++ <source>%1</source>
++ <translation>%1</translation>
++ </message>
++ <message>
+ <source>Scan Progress %1</source>
+- <translation>Scan Progress %1</translation>
++ <translation type="vanished">Scan Progress %1</translation>
+ </message>
+ </context>
+ <context>
+@@ -4104,7 +4354,7 @@
+ <context>
+ <name>ChannelWizard</name>
+ <message>
+- <location filename="../programs/mythtv-setup/channeleditor.cpp" line="30"/>
++ <location filename="../programs/mythtv-setup/channeleditor.cpp" line="27"/>
+ <source>Channel Options</source>
+ <translation>Channel Options</translation>
+ </message>
+@@ -4116,7 +4366,7 @@
+ <location filename="../libs/libmythtv/commbreakmap.cpp" line="368"/>
+ <source>Skip %1</source>
+ <extracomment>%1 is the skip time</extracomment>
+- <translation>Skip %1</translation>
++ <translation>Skip Commercial %1</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/commbreakmap.cpp" line="241"/>
+@@ -4127,19 +4377,19 @@
+ <message>
+ <location filename="../libs/libmythtv/commbreakmap.cpp" line="272"/>
+ <source>Skipping Back.</source>
+- <translation>Skipping Back.</translation>
++ <translation>Skipping Back</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/commbreakmap.cpp" line="290"/>
+ <location filename="../libs/libmythtv/commbreakmap.cpp" line="316"/>
+ <source>Start of program.</source>
+- <translation>Start of program.</translation>
++ <translation>Start of Program</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/commbreakmap.cpp" line="300"/>
+ <location filename="../libs/libmythtv/commbreakmap.cpp" line="344"/>
+ <source>At End, cannot Skip.</source>
+- <translation>At End, cannot Skip.</translation>
++ <translation>At End, Cannot Skip</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/commbreakmap.cpp" line="362"/>
+@@ -4163,124 +4413,124 @@
+ <message>
+ <location filename="../programs/mythfrontend/customedit.cpp" line="129"/>
+ <source>&lt;New rule&gt;</source>
+- <translation>&lt;New rule&gt;</translation>
++ <translation>&lt;New Rule&gt;</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/customedit.cpp" line="238"/>
+ <source>Match an exact title</source>
+- <translation>Match an exact title</translation>
++ <translation>Match an Exact Title</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/customedit.cpp" line="248"/>
+ <source>Match this series</source>
+- <translation>Match this series</translation>
++ <translation>Match This Series</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/customedit.cpp" line="255"/>
+ <source>Match words in the title</source>
+- <translation>Match words in the title</translation>
++ <translation>Match Words in the Title</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/customedit.cpp" line="264"/>
+ <source>Match words in the subtitle</source>
+- <translation>Match words in the subtitle</translation>
++ <translation>Match Words in the Subtitle</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/customedit.cpp" line="275"/>
+ <location filename="../programs/mythfrontend/customedit.cpp" line="281"/>
+ <source>Match this episode</source>
+- <translation>Match this episode</translation>
++ <translation>Match This Episode</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/customedit.cpp" line="288"/>
+ <source>Match an exact episode</source>
+- <translation>Match an exact episode</translation>
++ <translation>Match an Exact Episode</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/customedit.cpp" line="296"/>
+ <source>Match in any descriptive field</source>
+- <translation>Match in any descriptive field</translation>
++ <translation>Match in Any Descriptive Field</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/customedit.cpp" line="304"/>
+ <source>New episodes only</source>
+- <translation>New episodes only</translation>
++ <translation>New Episodes Only</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/customedit.cpp" line="310"/>
+ <source>Exclude unidentified episodes</source>
+- <translation>Exclude unidentified episodes</translation>
++ <translation>Exclude Unidentified Episodes</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/customedit.cpp" line="316"/>
+ <source>First showing of each episode</source>
+- <translation>First showing of each episode</translation>
++ <translation>First Showing of Each Episode</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/customedit.cpp" line="322"/>
+ <source>Last showing of each episode</source>
+- <translation>Last showing of each episode</translation>
++ <translation>Last Showing of Each Episode</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/customedit.cpp" line="328"/>
+ <source>Anytime on a specific day of the week</source>
+- <translation>Anytime on a specific day of the week</translation>
++ <translation>Anytime on a Specific Day of the Week</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/customedit.cpp" line="335"/>
+ <source>Only on weekdays (Monday through Friday)</source>
+- <translation>Only on weekdays (Monday through Friday)</translation>
++ <translation>Only on Weekdays (Monday Through Friday)</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/customedit.cpp" line="342"/>
+ <source>Only on weekends</source>
+- <translation>Only on weekends</translation>
++ <translation>Only on Weekends</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/customedit.cpp" line="365"/>
+ <source>Only on a specific station</source>
+- <translation>Only on a specific station</translation>
++ <translation>Only on a Specific Station</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/customedit.cpp" line="374"/>
+ <source>Exclude one station</source>
+- <translation>Exclude one station</translation>
++ <translation>Exclude One Station</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/customedit.cpp" line="380"/>
+ <source>Match related callsigns</source>
+- <translation>Match related callsigns</translation>
++ <translation>Match Related Callsigns</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/customedit.cpp" line="386"/>
+ <source>Only channels from the Favorites group</source>
+- <translation>Only channels from the Favorites group</translation>
++ <translation>Only Channels from the Favorites Group</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/customedit.cpp" line="466"/>
+ <source>Category type (%1)</source>
+ <comment>List of hardcoded category types</comment>
+- <translation>Category type (%1)</translation>
++ <translation>Category Type (%1)</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/customedit.cpp" line="748"/>
+ <source>Replace as a search</source>
+- <translation>Replace as a search</translation>
++ <translation>Replace as a Search</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/customedit.cpp" line="750"/>
+ <source>Store as a search</source>
+- <translation>Store as a search</translation>
++ <translation>Store as a Search</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/customedit.cpp" line="754"/>
+ <source>Replace as an example</source>
+- <translation>Replace as an example</translation>
++ <translation>Replace as an Example</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/customedit.cpp" line="756"/>
+ <source>Store as an example</source>
+- <translation>Store as an example</translation>
++ <translation>Store as an Example</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/customedit.cpp" line="783"/>
+@@ -4290,82 +4540,82 @@
+ <message>
+ <location filename="../programs/mythfrontend/customedit.cpp" line="787"/>
+ <source>Power Search rules cannot include semicolon ( ; ) </source>
+- <translation>Power Search rules cannot include semicolon ( ; ) </translation>
++ <translation>Power Search rules cannot include semicolon ( ; ).</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/customedit.cpp" line="394"/>
+ <source>Only channels from a specific video source</source>
+- <translation>Only channels from a specific video source</translation>
++ <translation>Only Channels from a Specific Video Source</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/customedit.cpp" line="349"/>
+ <source>Only in prime time</source>
+- <translation>Only in prime time</translation>
++ <translation>Only in Prime Time</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/customedit.cpp" line="357"/>
+ <source>Not in prime time</source>
+- <translation>Not in prime time</translation>
++ <translation>Not in Prime Time</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/customedit.cpp" line="400"/>
+ <source>Only channels marked as commercial free</source>
+- <translation>Only channels marked as commercial free</translation>
++ <translation>Only Channels Marked as Commercial Free</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/customedit.cpp" line="407"/>
+ <source>Only shows marked as HDTV</source>
+- <translation>Only shows marked as HDTV</translation>
++ <translation>Only Shows Marked as HDTV</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/customedit.cpp" line="413"/>
+ <source>Only shows marked as widescreen</source>
+- <translation>Only shows marked as widescreen</translation>
++ <translation>Only Shows Marked as Widescreen</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/customedit.cpp" line="419"/>
+ <source>Exclude H.264 encoded streams (EIT only)</source>
+- <translation>Exclude H.264 encoded streams (EIT only)</translation>
++ <translation>Exclude H.264 Encoded Streams (EIT Only)</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/customedit.cpp" line="425"/>
+ <source>Only shows with in-vision signing</source>
+- <translation>Only shows with in-vision signing</translation>
++ <translation>Only Shows with In-vision Signing</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/customedit.cpp" line="431"/>
+ <source>Only shows with in-vision subtitles</source>
+- <translation>Only shows with in-vision subtitles</translation>
++ <translation>Only Shows with In-vision Subtitles</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/customedit.cpp" line="437"/>
+ <source>Limit by category</source>
+- <translation>Limit by category</translation>
++ <translation>Limit by Category</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/customedit.cpp" line="446"/>
+ <source>All matches for a genre (Data Direct)</source>
+- <translation>All matches for a genre (Data Direct)</translation>
++ <translation>All Matches for a Genre (Data Direct)</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/customedit.cpp" line="457"/>
+ <source>Limit by MPAA or VCHIP rating (Data Direct)</source>
+- <translation>Limit by MPAA or VCHIP rating (Data Direct)</translation>
++ <translation>Limit by MPAA or VCHIP Rating (Data Direct)</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/customedit.cpp" line="473"/>
+ <source>Limit movies by the year of release</source>
+- <translation>Limit movies by the year of release</translation>
++ <translation>Limit Movies by the Year of Release</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/customedit.cpp" line="480"/>
+ <source>Minimum star rating (0.0 to 1.0 for movies only)</source>
+- <translation>Minimum star rating (0.0 to 1.0 for movies only)</translation>
++ <translation>Minimum Star Rating (0.0 to 1.0 for Movies Only)</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/customedit.cpp" line="486"/>
+ <source>Person named in the credits (Data Direct)</source>
+- <translation>Person named in the credits (Data Direct)</translation>
++ <translation>Person Named in the Credits (Data Direct)</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/customedit.cpp" line="507"/>
+@@ -4375,7 +4625,7 @@
+ <message>
+ <location filename="../programs/mythfrontend/customedit.cpp" line="517"/>
+ <source>Multiple sports teams (complete example)</source>
+- <translation>Multiple sports teams (complete example)</translation>
++ <translation>MultipleSports Teams (complete example)</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/customedit.cpp" line="525"/>
+@@ -4590,29 +4840,28 @@
+ <context>
+ <name>DVBConfigurationGroup</name>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="4124"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="3966"/>
+ <source>Could not open card %1</source>
+- <translation>Could not open card %1</translation>
++ <translation>Could Not Open Card %1</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="4125"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="3967"/>
+ <source>Could not get card info for card %1</source>
+- <translation>Could not get card info for card %1</translation>
++ <translation>Could Not Get Card Info for %1</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="4330"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="4139"/>
+ <source>DiSEqC (Switch, LNB, and Rotor Configuration)</source>
+ <translation>DiSEqC (Switch, LNB, and Rotor Configuration)</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="4331"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="4140"/>
+ <source>Input and satellite settings.</source>
+ <translation>Input and satellite settings.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="4322"/>
+ <source>Recording Options</source>
+- <translation>Recording Options</translation>
++ <translation type="vanished">Recording Options</translation>
+ </message>
+ </context>
+ <context>
+@@ -4635,7 +4884,7 @@
+ <message>
+ <location filename="../libs/libmythtv/recorders/dvbsignalmonitor.cpp" line="224"/>
+ <source>Error: stream handler died</source>
+- <translation>Error: stream handler died</translation>
++ <translation>Error: Stream Handler Died</translation>
+ </message>
+ </context>
+ <context>
+@@ -4643,7 +4892,7 @@
+ <message>
+ <location filename="../libs/libmythtv/DVD/dvdringbuffer.cpp" line="63"/>
+ <source>Failed to open device at %1</source>
+- <translation>Failed to open device at %1</translation>
++ <translation>Failed to Open Device %1</translation>
+ </message>
+ </context>
+ <context>
+@@ -4651,227 +4900,238 @@
+ <message>
+ <location filename="../libs/libmythtv/DVD/dvdringbuffer.cpp" line="474"/>
+ <source>Title %1 chapter %2</source>
+- <translation>Title %1 chapter %2</translation>
++ <translation>Title %1 Chapter %2</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/DVD/dvdringbuffer.cpp" line="497"/>
+ <source>Failed to open DVD device at %1</source>
+- <translation>Failed to open DVD device at %1</translation>
++ <translation>Failed to Open DVD Device at %1</translation>
+ </message>
+ </context>
+ <context>
+ <name>DataDirectLineupSelector</name>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="366"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="521"/>
+ <source>Fetching lineups from %1...</source>
+- <translation>Fetching lineups from %1...</translation>
++ <translation>Fetching Lineups from %1...</translation>
++ </message>
++ <message>
++ <location filename="../libs/libmythtv/videosource.cpp" line="527"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="533"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="547"/>
++ <source>DataDirect</source>
++ <translation>DataDirect</translation>
++ </message>
++ <message>
++ <location filename="../libs/libmythtv/videosource.cpp" line="532"/>
++ <source>Fetching of lineups failed</source>
++ <translation>Fetching of Lineups Failed</translation>
++ </message>
++ <message>
++ <location filename="../libs/libmythtv/videosource.cpp" line="546"/>
++ <source>Fetching of lineups complete</source>
++ <translation>Fetching of Lineups Complete</translation>
+ </message>
+ </context>
+ <context>
+ <name>DatabaseSettings</name>
+ <message>
+- <location filename="../libs/libmyth/dbsettings.cpp" line="17"/>
+- <location filename="../libs/libmyth/dbsettings.cpp" line="150"/>
++ <location filename="../libs/libmyth/dbsettings.cpp" line="81"/>
+ <source>Use custom identifier for frontend preferences</source>
+- <translation>Use custom identifier for frontend preferences</translation>
++ <translation>Use Custom Identifier for Frontend Preferences</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/dbsettings.cpp" line="29"/>
+ <source>Backend Server Wakeup settings</source>
+- <translation>Backend Server Wakeup settings</translation>
++ <translation type="vanished">Backend Server Wakeup settings</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/dbsettings.cpp" line="44"/>
+- <location filename="../libs/libmyth/dbsettings.cpp" line="145"/>
+ <source>Database Configuration %1/%2</source>
+- <translation>Database Configuration %1/%2</translation>
++ <translation type="vanished">Database Configuration %1/%2</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/dbsettings.cpp" line="51"/>
++ <location filename="../libs/libmyth/dbsettings.cpp" line="22"/>
+ <source>All database settings take effect when you restart this program.</source>
+ <translation>All database settings take effect when you restart this program.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/dbsettings.cpp" line="54"/>
++ <location filename="../libs/libmyth/dbsettings.cpp" line="26"/>
+ <source>MythTV could not connect to the database. Please verify your database settings below.</source>
+ <translation>MythTV could not connect to the database. Please verify your database settings below.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/dbsettings.cpp" line="61"/>
+ <source>Database Server Settings</source>
+- <translation>Database Server Settings</translation>
++ <translation type="vanished">Database Server Settings</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/dbsettings.cpp" line="67"/>
++ <location filename="../libs/libmyth/dbsettings.cpp" line="33"/>
+ <source>The host name or IP address of the machine hosting the database. This information is required.</source>
+- <translation>The host name or IP address of the machine hosting the database. This information is required.</translation>
++ <translation>The hostname or IP address of the machine hosting the database. This information is required.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/dbsettings.cpp" line="77"/>
++ <location filename="../libs/libmyth/dbsettings.cpp" line="39"/>
+ <source>Ping test server?</source>
+- <translation>Ping test server?</translation>
++ <translation>Ping Test Server</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/dbsettings.cpp" line="78"/>
++ <location filename="../libs/libmyth/dbsettings.cpp" line="41"/>
+ <source>Test basic host connectivity using the ping command. Turn off if your host or network don&apos;t support ping (ICMP ECHO) packets</source>
+ <translation>Test basic host connectivity using the ping command. Turn off if your host or network don&apos;t support ping (ICMP ECHO) packets</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/dbsettings.cpp" line="96"/>
++ <location filename="../libs/libmyth/dbsettings.cpp" line="50"/>
+ <source>The port number the database is running on. Leave blank if using the default port (3306).</source>
+- <translation>The port number the database is running on. Leave blank if using the default port (3306).</translation>
++ <translation>The port number the database is running on. Leave blank if using the default port (3306).</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/dbsettings.cpp" line="103"/>
+ <source>Database name</source>
+- <translation>Database name</translation>
++ <translation type="vanished">Database name</translation>
++ </message>
++ <message>
++ <location filename="../libs/libmyth/dbsettings.cpp" line="17"/>
++ <source>Database Configuration</source>
++ <translation>Database Configuration</translation>
++ </message>
++ <message>
++ <location filename="../libs/libmyth/dbsettings.cpp" line="31"/>
++ <source>Hostname</source>
++ <translation>Hostname</translation>
++ </message>
++ <message>
++ <location filename="../libs/libmyth/dbsettings.cpp" line="48"/>
++ <source>Port</source>
++ <translation>Port</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/dbsettings.cpp" line="105"/>
++ <location filename="../libs/libmyth/dbsettings.cpp" line="59"/>
+ <source>The name of the database. This information is required.</source>
+ <translation>The name of the database. This information is required.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/dbsettings.cpp" line="113"/>
++ <location filename="../libs/libmyth/dbsettings.cpp" line="66"/>
+ <source>The user name to use while connecting to the database. This information is required.</source>
+ <translation>The user name to use while connecting to the database. This information is required.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/dbsettings.cpp" line="123"/>
++ <location filename="../libs/libmyth/dbsettings.cpp" line="74"/>
+ <source>The password to use while connecting to the database. This information is required.</source>
+ <translation>The password to use while connecting to the database. This information is required.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/dbsettings.cpp" line="153"/>
++ <location filename="../libs/libmyth/dbsettings.cpp" line="84"/>
+ <source>If this frontend&apos;s host name changes often, check this box and provide a network-unique name to identify it. If unchecked, the frontend machine&apos;s local host name will be used to save preferences in the database.</source>
+ <translation>If this frontend&apos;s host name changes often, check this box and provide a network-unique name to identify it. If unchecked, the frontend machine&apos;s local host name will be used to save preferences in the database.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/dbsettings.cpp" line="165"/>
++ <location filename="../libs/libmyth/dbsettings.cpp" line="95"/>
+ <source>Custom identifier</source>
+- <translation>Custom identifier</translation>
++ <translation>Custom Identifier</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/dbsettings.cpp" line="167"/>
++ <location filename="../libs/libmyth/dbsettings.cpp" line="97"/>
+ <source>An identifier to use while saving the settings for this frontend.</source>
+ <translation>An identifier to use while saving the settings for this frontend.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/dbsettings.cpp" line="181"/>
++ <location filename="../libs/libmyth/dbsettings.cpp" line="104"/>
+ <source>Enable database server wakeup</source>
+- <translation>Enable database server wakeup</translation>
++ <translation>Enable Database Server Wakeup</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/dbsettings.cpp" line="183"/>
++ <location filename="../libs/libmyth/dbsettings.cpp" line="106"/>
+ <source>If enabled, the frontend will use database wakeup parameters to reconnect to the database server.</source>
+ <translation>If enabled, the frontend will use database wakeup parameters to reconnect to the database server.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/dbsettings.cpp" line="190"/>
++ <location filename="../libs/libmyth/dbsettings.cpp" line="112"/>
+ <source>Reconnect time</source>
+- <translation>Reconnect time</translation>
++ <translation>Reconnect Time</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/dbsettings.cpp" line="192"/>
++ <location filename="../libs/libmyth/dbsettings.cpp" line="114"/>
+ <source>The time in seconds to wait for the server to wake up.</source>
+ <translation>The time in seconds to wait for the server to wake up.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/dbsettings.cpp" line="198"/>
++ <location filename="../libs/libmyth/dbsettings.cpp" line="119"/>
+ <source>Retry attempts</source>
+- <translation>Retry attempts</translation>
++ <translation>Retry Attempts</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/dbsettings.cpp" line="200"/>
++ <location filename="../libs/libmyth/dbsettings.cpp" line="121"/>
+ <source>The number of retries to wake the server before the frontend gives up.</source>
+ <translation>The number of retries to wake the server before the frontend gives up.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/dbsettings.cpp" line="206"/>
++ <location filename="../libs/libmyth/dbsettings.cpp" line="127"/>
+ <source>Wake command</source>
+- <translation>Wake command</translation>
++ <translation>Wake Command</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/dbsettings.cpp" line="208"/>
++ <location filename="../libs/libmyth/dbsettings.cpp" line="129"/>
+ <source>The command executed on this frontend to wake up the database server (eg. sudo /etc/init.d/mysql restart).</source>
+ <translation>The command executed on this frontend to wake up the database server (eg. sudo /etc/init.d/mysql restart).</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/dbsettings.cpp" line="238"/>
++ <location filename="../libs/libmyth/dbsettings.cpp" line="145"/>
+ <source>Required fields are marked with an asterisk (*).</source>
+ <translation>Required fields are marked with an asterisk (*).</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/dbsettings.cpp" line="244"/>
+- <location filename="../libs/libmyth/dbsettings.cpp" line="258"/>
+- <location filename="../libs/libmyth/dbsettings.cpp" line="262"/>
+- <location filename="../libs/libmyth/dbsettings.cpp" line="266"/>
+ <source>* %1</source>
+ <comment>Required field</comment>
+ <extracomment>%1 is the required field name</extracomment>
+- <translation>* %1</translation>
++ <translation type="vanished">* %1</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/galleryconfig.cpp" line="144"/>
+ <source>Database Settings</source>
+- <translation>Database Settings</translation>
++ <translation type="vanished">Database Settings</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/galleryconfig.cpp" line="144"/>
+ <source> (Requires edit privileges)</source>
+- <translation> (Requires edit privileges)</translation>
++ <translation type="vanished"> (Requires edit privileges)</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/galleryconfig.cpp" line="153"/>
+ <source>Scanner Exclusions</source>
+- <translation>Scanner Exclusions</translation>
++ <translation type="vanished">Scanner Exclusions</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/galleryconfig.cpp" line="154"/>
+ <source>Comma-separated list of filenames/directory names to be ignored when scanning. Glob wildcards * and ? are valid.</source>
+- <translation>Comma-separated list of filenames/directory names to be ignored when scanning. Glob wildcards * and ? are valid.</translation>
++ <translation type="vanished">Comma-separated list of filenames/directory names to be ignored when scanning. Glob wildcards * and ? are valid.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/galleryconfig.cpp" line="165"/>
+ <source>Start Gallery when media inserted</source>
+- <translation>Start Gallery when media inserted</translation>
++ <translation type="vanished">Start Gallery when media inserted</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/galleryconfig.cpp" line="166"/>
+ <source>Set to automatically start Gallery when media (USB/CD&apos;s containing images) are inserted.</source>
+- <translation>Set to automatically start Gallery when media (USB/CD&apos;s containing images) are inserted.</translation>
++ <translation type="vanished">Set to automatically start Gallery when media (USB/CD&apos;s containing images) are inserted.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/galleryconfig.cpp" line="176"/>
++ <location filename="../libs/libmyth/dbsettings.cpp" line="72"/>
+ <source>Password</source>
+ <translation>Password</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/galleryconfig.cpp" line="178"/>
+ <source>When set all actions that modify the filesystem or database are protected (copy, move, transform, hiding, covers). Hidden items cannot be viewed. Applies to all frontends.
+ Disabled by an empty password. Privileges persist until Gallery exits to main menu.</source>
+- <translation>When set all actions that modify the filesystem or database are protected (copy, move, transform, hiding, covers). Hidden items cannot be viewed. Applies to all frontends.
++ <translation type="vanished">When set all actions that modify the filesystem or database are protected (copy, move, transform, hiding, covers). Hidden items cannot be viewed. Applies to all frontends.
+ Disabled by an empty password. Privileges persist until Gallery exits to main menu.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/galleryconfig.cpp" line="193"/>
+ <source>Reset Image Database</source>
+- <translation>Reset Image Database</translation>
++ <translation type="vanished">Reset Image Database</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/galleryconfig.cpp" line="194"/>
+ <source>Clears the database and thumbnails for the Image Storage Group. A rescan will be required. Images for local media will persist.</source>
+- <translation>Clears the database and thumbnails for the Image Storage Group. A rescan will be required. Images for local media will persist.</translation>
++ <translation type="vanished">Clears the database and thumbnails for the Image Storage Group. A rescan will be required. Images for local media will persist.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/galleryconfig.cpp" line="202"/>
+ <source>Clear Now!</source>
+- <translation>Clear Now!</translation>
++ <translation type="vanished">Clear Now!</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/galleryconfig.cpp" line="203"/>
+ <source>Warning! This will erase settings for: hidden images, directory covers and re-orientations. You will have to set them again after re-scanning.</source>
+- <translation>Warning! This will erase settings for: hidden images, directory covers and re-orientations. You will have to set them again after re-scanning.</translation>
++ <translation type="vanished">Warning! This will erase settings for: hidden images, directory covers and re-orientations. You will have to set them again after re-scanning.</translation>
+ </message>
+ </context>
+ <context>
+@@ -4879,12 +5139,12 @@
+ <message>
+ <location filename="../libs/libmythtv/deletemap.cpp" line="82"/>
+ <source>(Nothing to undo)</source>
+- <translation>(Nothing to undo)</translation>
++ <translation>(Nothing to Undo)</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/deletemap.cpp" line="88"/>
+ <source>(Nothing to redo)</source>
+- <translation>(Nothing to redo)</translation>
++ <translation>(Nothing to Redo)</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/deletemap.cpp" line="99"/>
+@@ -4903,7 +5163,7 @@
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/deletemap.cpp" line="124"/>
+- <location filename="../libs/libmythtv/deletemap.cpp" line="524"/>
++ <location filename="../libs/libmythtv/deletemap.cpp" line="525"/>
+ <source>Delete</source>
+ <extracomment>Delete the current cut or preserved region</extracomment>
+ <translation>Delete</translation>
+@@ -4975,35 +5235,35 @@
+ <translation>Reverse Cuts</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/deletemap.cpp" line="501"/>
++ <location filename="../libs/libmythtv/deletemap.cpp" line="502"/>
+ <source>New Cut</source>
+ <translation>New Cut</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/deletemap.cpp" line="543"/>
++ <location filename="../libs/libmythtv/deletemap.cpp" line="544"/>
+ <source>Move Mark</source>
+ <translation>Move Mark</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/deletemap.cpp" line="741"/>
++ <location filename="../libs/libmythtv/deletemap.cpp" line="742"/>
+ <source>Load Detected Commercials</source>
+ <translation>Load Detected Commercials</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/deletemap.cpp" line="779"/>
++ <location filename="../libs/libmythtv/deletemap.cpp" line="780"/>
+ <source>Load Auto-saved Cuts</source>
+- <translation>Load Auto-saved Cuts</translation>
++ <translation>Load Auto-Saved Cuts</translation>
+ </message>
+ </context>
+ <context>
+ <name>DeletedExpireOptions</name>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="374"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="378"/>
+ <source>Auto-Expire instead of delete recording</source>
+- <translation>Auto-Expire instead of delete recording</translation>
++ <translation>Auto-Expire Instead of Delete Recording</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="378"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="382"/>
+ <source>If enabled, move deleted recordings to the &apos;Deleted&apos; recgroup and turn on autoexpire instead of deleting immediately.</source>
+ <translation>If enabled, move deleted recordings to the &apos;Deleted&apos; recgroup and turn on autoexpire instead of deleting immediately.</translation>
+ </message>
+@@ -5011,256 +5271,258 @@
+ <context>
+ <name>DemoConfigurationGroup</name>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="2552"/>
+ <source>A local MPEG file used to simulate a recording. Must be entered as file:/path/movie.mpg</source>
+- <translation>A local MPEG file used to simulate a recording. Must be entered as file:/path/movie.mpg</translation>
++ <translation type="vanished">A local MPEG file used to simulate a recording. Must be entered as file:/path/movie.mpg</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="2560"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="2495"/>
++ <source>A local MPEG file used to simulate a recording.</source>
++ <translation></translation>
++ </message>
++ <message>
++ <location filename="../libs/libmythtv/videosource.cpp" line="2502"/>
+ <source>File info</source>
+- <translation>File info</translation>
++ <translation>File Info</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="2563"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="2506"/>
+ <source>File size</source>
+- <translation>File size</translation>
++ <translation>File Size</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="2589"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="2525"/>
+ <source>%1 MB</source>
+ <translation>%1 MB</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="2592"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="2528"/>
+ <source>File not readable</source>
+- <translation>File not readable</translation>
++ <translation>File Not Readable</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="2596"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="2532"/>
+ <source>File does not exist</source>
+- <translation>File does not exist</translation>
++ <translation>File Does Not Exist</translation>
+ </message>
+ </context>
+ <context>
+ <name>DeviceTree</name>
+ <message>
+- <location filename="../libs/libmythtv/diseqcsettings.cpp" line="45"/>
++ <location filename="../libs/libmythtv/diseqcsettings.cpp" line="44"/>
+ <source>Device Type</source>
+ <translation>Device Type</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/diseqcsettings.cpp" line="46"/>
+- <location filename="../libs/libmythtv/diseqcsettings.cpp" line="1094"/>
++ <location filename="../libs/libmythtv/diseqcsettings.cpp" line="45"/>
++ <source>Unconnected</source>
++ <translation>Unconnected</translation>
++ </message>
++ <message>
++ <location filename="../libs/libmythtv/diseqcsettings.cpp" line="47"/>
+ <source>Switch</source>
+ <translation>Switch</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/diseqcsettings.cpp" line="48"/>
+- <location filename="../libs/libmythtv/diseqcsettings.cpp" line="1095"/>
++ <location filename="../libs/libmythtv/diseqcsettings.cpp" line="49"/>
+ <source>Rotor</source>
+ <translation>Rotor</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/diseqcsettings.cpp" line="52"/>
+- <location filename="../libs/libmythtv/diseqcsettings.cpp" line="1097"/>
++ <location filename="../libs/libmythtv/diseqcsettings.cpp" line="53"/>
+ <source>LNB</source>
+ <translation>LNB</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/diseqcsettings.cpp" line="82"/>
++ <location filename="../libs/libmythtv/diseqcsettings.cpp" line="95"/>
+ <source>Description</source>
+ <translation>Description</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/diseqcsettings.cpp" line="83"/>
++ <location filename="../libs/libmythtv/diseqcsettings.cpp" line="96"/>
+ <source>Optional descriptive name for this device, to make it easier to configure settings later.</source>
+ <translation>Optional descriptive name for this device, to make it easier to configure settings later.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/diseqcsettings.cpp" line="114"/>
++ <location filename="../libs/libmythtv/diseqcsettings.cpp" line="126"/>
+ <source>Repeat Count</source>
+ <translation>Repeat Count</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/diseqcsettings.cpp" line="115"/>
++ <location filename="../libs/libmythtv/diseqcsettings.cpp" line="127"/>
+ <source>Number of repeat (command with repeat flag ON) or resend (the same command) DiSEqC commands. If value is higher than 10, command will be resend N-10 times. If value is lower than 10, command will be repeated N times. Repeat useful for unreliable DiSEqC equipment; resend useful when unreliable DiSEqC equipment has broken/unsupported repeat flag support.</source>
+ <translation>Number of repeat (command with repeat flag ON) or resend (the same command) DiSEqC commands. If value is higher than 10, command will be resend N-10 times. If value is lower than 10, command will be repeated N times. Repeat useful for unreliable DiSEqC equipment; resend useful when unreliable DiSEqC equipment has broken/unsupported repeat flag support.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/diseqcsettings.cpp" line="147"/>
++ <location filename="../libs/libmythtv/diseqcsettings.cpp" line="158"/>
+ <source>Switch Type</source>
+ <translation>Switch Type</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/diseqcsettings.cpp" line="148"/>
++ <location filename="../libs/libmythtv/diseqcsettings.cpp" line="159"/>
+ <source>Select the type of switch from the list.</source>
+ <translation>Select the type of switch from the list.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/diseqcsettings.cpp" line="150"/>
++ <location filename="../libs/libmythtv/diseqcsettings.cpp" line="161"/>
+ <source>Tone</source>
+ <translation>Tone</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/diseqcsettings.cpp" line="152"/>
++ <location filename="../libs/libmythtv/diseqcsettings.cpp" line="163"/>
+ <source>Voltage</source>
+ <translation>Voltage</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/diseqcsettings.cpp" line="154"/>
++ <location filename="../libs/libmythtv/diseqcsettings.cpp" line="165"/>
+ <source>Mini DiSEqC</source>
+ <translation>Mini DiSEqC</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/diseqcsettings.cpp" line="156"/>
++ <location filename="../libs/libmythtv/diseqcsettings.cpp" line="167"/>
+ <source>DiSEqC</source>
+ <translation>DiSEqC</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/diseqcsettings.cpp" line="159"/>
++ <location filename="../libs/libmythtv/diseqcsettings.cpp" line="170"/>
+ <source>DiSEqC (Uncommitted)</source>
+ <translation>DiSEqC (Uncommitted)</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/diseqcsettings.cpp" line="162"/>
++ <location filename="../libs/libmythtv/diseqcsettings.cpp" line="173"/>
+ <source>Legacy SW21</source>
+ <translation>Legacy SW21</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/diseqcsettings.cpp" line="164"/>
++ <location filename="../libs/libmythtv/diseqcsettings.cpp" line="175"/>
+ <source>Legacy SW42</source>
+ <translation>Legacy SW42</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/diseqcsettings.cpp" line="166"/>
++ <location filename="../libs/libmythtv/diseqcsettings.cpp" line="177"/>
+ <source>Legacy SW64</source>
+ <translation>Legacy SW64</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/diseqcsettings.cpp" line="195"/>
++ <location filename="../libs/libmythtv/diseqcsettings.cpp" line="205"/>
+ <source>Address of switch</source>
+- <translation>Address of switch</translation>
++ <translation>Address of Switch</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/diseqcsettings.cpp" line="196"/>
++ <location filename="../libs/libmythtv/diseqcsettings.cpp" line="206"/>
+ <source>The DiSEqC address of the switch.</source>
+ <translation>The DiSEqC address of the switch.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/diseqcsettings.cpp" line="222"/>
++ <location filename="../libs/libmythtv/diseqcsettings.cpp" line="232"/>
+ <source>Number of ports</source>
+- <translation>Number of ports</translation>
++ <translation>Number of Ports</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/diseqcsettings.cpp" line="223"/>
++ <location filename="../libs/libmythtv/diseqcsettings.cpp" line="233"/>
+ <source>The number of ports this switch has.</source>
+ <translation>The number of ports this switch has.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/diseqcsettings.cpp" line="248"/>
++ <location filename="../libs/libmythtv/diseqcsettings.cpp" line="255"/>
+ <source>Switch Configuration</source>
+ <translation>Switch Configuration</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/diseqcsettings.cpp" line="301"/>
++ <location filename="../libs/libmythtv/diseqcsettings.cpp" line="338"/>
+ <source>Rotor Type</source>
+ <translation>Rotor Type</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/diseqcsettings.cpp" line="302"/>
++ <location filename="../libs/libmythtv/diseqcsettings.cpp" line="339"/>
+ <source>Select the type of rotor from the list.</source>
+ <translation>Select the type of rotor from the list.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/diseqcsettings.cpp" line="303"/>
++ <location filename="../libs/libmythtv/diseqcsettings.cpp" line="340"/>
+ <source>DiSEqC 1.2</source>
+ <translation>DiSEqC 1.2</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/diseqcsettings.cpp" line="305"/>
++ <location filename="../libs/libmythtv/diseqcsettings.cpp" line="342"/>
+ <source>DiSEqC 1.3 (GotoX/USALS)</source>
+ <translation>DiSEqC 1.3 (GotoX/USALS)</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/diseqcsettings.cpp" line="333"/>
++ <location filename="../libs/libmythtv/diseqcsettings.cpp" line="369"/>
+ <source>Rotor Low Speed (deg/sec)</source>
+ <translation>Rotor Low Speed (deg/sec)</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/diseqcsettings.cpp" line="334"/>
++ <location filename="../libs/libmythtv/diseqcsettings.cpp" line="370"/>
+ <source>To allow the approximate monitoring of rotor movement, enter the rated angular speed of the rotor when powered at 13V.</source>
+ <translation>To allow the approximate monitoring of rotor movement, enter the rated angular speed of the rotor when powered at 13V.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/diseqcsettings.cpp" line="364"/>
++ <location filename="../libs/libmythtv/diseqcsettings.cpp" line="399"/>
+ <source>Rotor High Speed (deg/sec)</source>
+ <translation>Rotor High Speed (deg/sec)</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/diseqcsettings.cpp" line="365"/>
++ <location filename="../libs/libmythtv/diseqcsettings.cpp" line="400"/>
+ <source>To allow the approximate monitoring of rotor movement, enter the rated angular speed of the rotor when powered at 18V.</source>
+ <translation>To allow the approximate monitoring of rotor movement, enter the rated angular speed of the rotor when powered at 18V.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/diseqcsettings.cpp" line="394"/>
++ <location filename="../libs/libmythtv/diseqcsettings.cpp" line="428"/>
+ <source>E</source>
+ <comment>Eastern Hemisphere</comment>
+ <translation>E</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/diseqcsettings.cpp" line="397"/>
+- <location filename="../libs/libmythtv/diseqcsettings.cpp" line="425"/>
++ <location filename="../libs/libmythtv/diseqcsettings.cpp" line="431"/>
++ <location filename="../libs/libmythtv/diseqcsettings.cpp" line="459"/>
+ <source>W</source>
+ <comment>Western Hemisphere</comment>
+ <translation>W</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/diseqcsettings.cpp" line="463"/>
+ <source>Position Index %1</source>
+- <translation>Position Index %1</translation>
++ <translation type="vanished">Position Index %1</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/diseqcsettings.cpp" line="464"/>
+ <source>Orbital Position</source>
+- <translation>Orbital Position</translation>
++ <translation type="vanished">Orbital Position</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/diseqcsettings.cpp" line="486"/>
++ <location filename="../libs/libmythtv/diseqcsettings.cpp" line="501"/>
+ <source>None</source>
+ <translation>None</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/diseqcsettings.cpp" line="490"/>
+ <source>Position #%1 (%2)</source>
+- <translation>Position #%1 (%2)</translation>
++ <translation type="vanished">Position #%1 (%2)</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/diseqcsettings.cpp" line="503"/>
+ <source>Rotor Position Map</source>
+- <translation>Rotor Position Map</translation>
++ <translation type="vanished">Rotor Position Map</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/diseqcsettings.cpp" line="522"/>
++ <location filename="../libs/libmythtv/diseqcsettings.cpp" line="542"/>
+ <source>Rotor Configuration</source>
+ <translation>Rotor Configuration</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/diseqcsettings.cpp" line="536"/>
++ <location filename="../libs/libmythtv/diseqcsettings.cpp" line="555"/>
+ <source>Positions</source>
+ <translation>Positions</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/diseqcsettings.cpp" line="537"/>
++ <location filename="../libs/libmythtv/diseqcsettings.cpp" line="556"/>
+ <source>Rotor position setup.</source>
+ <translation>Rotor position setup.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/diseqcsettings.cpp" line="692"/>
++ <location filename="../libs/libmythtv/diseqcsettings.cpp" line="698"/>
+ <source>Single (Europe)</source>
+ <translation>Single (Europe)</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/diseqcsettings.cpp" line="689"/>
++ <location filename="../libs/libmythtv/diseqcsettings.cpp" line="695"/>
+ <source>Universal (Europe)</source>
+ <translation>Universal (Europe)</translation>
+ </message>
+@@ -5275,128 +5537,132 @@
+ <translation>The Cartesian longitude for your location. Use negative numbers for western coordinates.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/diseqcsettings.cpp" line="50"/>
+- <location filename="../libs/libmythtv/diseqcsettings.cpp" line="1096"/>
++ <location filename="../libs/libmythtv/diseqcsettings.cpp" line="51"/>
+ <source>Unicable</source>
+ <translation>Unicable</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/diseqcsettings.cpp" line="574"/>
++ <location filename="../libs/libmythtv/diseqcsettings.cpp" line="528"/>
++ <source>Position #%1</source>
++ <translation>Position #%1</translation>
++ </message>
++ <message>
++ <location filename="../libs/libmythtv/diseqcsettings.cpp" line="586"/>
+ <source>Userband</source>
+ <translation>Userband</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/diseqcsettings.cpp" line="575"/>
++ <location filename="../libs/libmythtv/diseqcsettings.cpp" line="587"/>
+ <source>Unicable userband ID (0-7) or sometimes (1-8)</source>
+ <translation>Unicable userband ID (0-7) or sometimes (1-8)</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/diseqcsettings.cpp" line="601"/>
++ <location filename="../libs/libmythtv/diseqcsettings.cpp" line="612"/>
+ <source>Frequency (MHz)</source>
+ <translation>Frequency (MHz)</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/diseqcsettings.cpp" line="602"/>
++ <location filename="../libs/libmythtv/diseqcsettings.cpp" line="613"/>
+ <source>Unicable userband frequency (usually 1210, 1420, 1680 and 2040 MHz)</source>
+ <translation>Unicable userband frequency (usually 1210, 1420, 1680 and 2040 MHz)</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/diseqcsettings.cpp" line="628"/>
++ <location filename="../libs/libmythtv/diseqcsettings.cpp" line="638"/>
+ <source>PIN code</source>
+- <translation>PIN code</translation>
++ <translation>PIN Code</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/diseqcsettings.cpp" line="629"/>
++ <location filename="../libs/libmythtv/diseqcsettings.cpp" line="639"/>
+ <source>Unicable PIN code (-1 disabled, 0 - 255)</source>
+ <translation>Unicable PIN code (-1 disabled, 0 - 255)</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/diseqcsettings.cpp" line="654"/>
++ <location filename="../libs/libmythtv/diseqcsettings.cpp" line="661"/>
+ <source>Unicable Configuration</source>
+ <translation>Unicable Configuration</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/diseqcsettings.cpp" line="694"/>
++ <location filename="../libs/libmythtv/diseqcsettings.cpp" line="700"/>
+ <source>Circular (N. America)</source>
+ <translation>Circular (N. America)</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/diseqcsettings.cpp" line="696"/>
++ <location filename="../libs/libmythtv/diseqcsettings.cpp" line="702"/>
+ <source>Linear (N. America)</source>
+ <translation>Linear (N. America)</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/diseqcsettings.cpp" line="698"/>
++ <location filename="../libs/libmythtv/diseqcsettings.cpp" line="704"/>
+ <source>C Band</source>
+ <translation>C Band</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/diseqcsettings.cpp" line="700"/>
++ <location filename="../libs/libmythtv/diseqcsettings.cpp" line="706"/>
+ <source>DishPro Bandstacked</source>
+ <translation>DishPro Bandstacked</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/diseqcsettings.cpp" line="727"/>
++ <location filename="../libs/libmythtv/diseqcsettings.cpp" line="733"/>
+ <source>LNB Preset</source>
+ <translation>LNB Preset</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/diseqcsettings.cpp" line="728"/>
++ <location filename="../libs/libmythtv/diseqcsettings.cpp" line="734"/>
+ <source>Select the LNB preset from the list, or choose &apos;Custom&apos; and set the advanced settings below.</source>
+ <translation>Select the LNB preset from the list, or choose &apos;Custom&apos; and set the advanced settings below.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/diseqcsettings.cpp" line="737"/>
++ <location filename="../libs/libmythtv/diseqcsettings.cpp" line="743"/>
+ <source>Custom</source>
+ <translation>Custom</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/diseqcsettings.cpp" line="764"/>
++ <location filename="../libs/libmythtv/diseqcsettings.cpp" line="767"/>
+ <source>LNB Type</source>
+ <translation>LNB Type</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/diseqcsettings.cpp" line="765"/>
++ <location filename="../libs/libmythtv/diseqcsettings.cpp" line="768"/>
+ <source>Select the type of LNB from the list.</source>
+ <translation>Select the type of LNB from the list.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/diseqcsettings.cpp" line="766"/>
++ <location filename="../libs/libmythtv/diseqcsettings.cpp" line="769"/>
+ <source>Legacy (Fixed)</source>
+ <translation>Legacy (Fixed)</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/diseqcsettings.cpp" line="768"/>
++ <location filename="../libs/libmythtv/diseqcsettings.cpp" line="771"/>
+ <source>Standard (Voltage)</source>
+ <translation>Standard (Voltage)</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/diseqcsettings.cpp" line="771"/>
++ <location filename="../libs/libmythtv/diseqcsettings.cpp" line="774"/>
+ <source>Universal (Voltage &amp; Tone)</source>
+ <translation>Universal (Voltage &amp; Tone)</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/diseqcsettings.cpp" line="774"/>
++ <location filename="../libs/libmythtv/diseqcsettings.cpp" line="777"/>
+ <source>Bandstacked</source>
+ <translation>Bandstacked</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/diseqcsettings.cpp" line="801"/>
++ <location filename="../libs/libmythtv/diseqcsettings.cpp" line="803"/>
+ <source>LNB LOF Switch (MHz)</source>
+ <translation>LNB LOF Switch (MHz)</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/diseqcsettings.cpp" line="802"/>
++ <location filename="../libs/libmythtv/diseqcsettings.cpp" line="804"/>
+ <source>This defines at what frequency the LNB will do a switch from high to low setting, and vice versa.</source>
+ <translation>This defines at what frequency the LNB will do a switch from high to low setting, and vice versa.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/diseqcsettings.cpp" line="831"/>
++ <location filename="../libs/libmythtv/diseqcsettings.cpp" line="832"/>
+ <source>LNB LOF Low (MHz)</source>
+ <translation>LNB LOF Low (MHz)</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/diseqcsettings.cpp" line="832"/>
++ <location filename="../libs/libmythtv/diseqcsettings.cpp" line="833"/>
+ <source>This defines the offset the frequency coming from the LNB will be in low setting. For bandstacked LNBs this is the vertical/right polarization band.</source>
+ <translation>This defines the offset the frequency coming from the LNB will be in low setting. For bandstacked LNBs this is the vertical/right polarization band.</translation>
+ </message>
+@@ -5411,77 +5677,75 @@
+ <translation>This defines the offset the frequency coming from the LNB will be in high setting. For bandstacked LNBs this is the horizontal/left polarization band.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/diseqcsettings.cpp" line="892"/>
++ <location filename="../libs/libmythtv/diseqcsettings.cpp" line="891"/>
+ <source>LNB Reversed</source>
+ <translation>LNB Reversed</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/diseqcsettings.cpp" line="893"/>
++ <location filename="../libs/libmythtv/diseqcsettings.cpp" line="892"/>
+ <source>This defines whether the signal reaching the LNB is reversed from normal polarization. This happens to circular signals bouncing twice on a toroidal dish.</source>
+ <translation>This defines whether the signal reaching the LNB is reversed from normal polarization. This happens to circular signals bouncing twice on a toroidal dish.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/diseqcsettings.cpp" line="923"/>
++ <location filename="../libs/libmythtv/diseqcsettings.cpp" line="919"/>
+ <source>LNB Configuration</source>
+ <translation>LNB Configuration</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/diseqcsettings.cpp" line="1091"/>
+ <source>Select Type of Device</source>
+- <translation>Select Type of Device</translation>
++ <translation type="vanished">Select Type of Device</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/diseqcsettings.cpp" line="1238"/>
+ <source>DiSEqC Device Tree</source>
+- <translation>DiSEqC Device Tree</translation>
++ <translation type="vanished">DiSEqC Device Tree</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/diseqcsettings.cpp" line="1257"/>
++ <location filename="../libs/libmythtv/diseqcsettings.cpp" line="1203"/>
+ <source>Choose a port to use for this switch.</source>
+ <translation>Choose a port to use for this switch.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/diseqcsettings.cpp" line="1263"/>
++ <location filename="../libs/libmythtv/diseqcsettings.cpp" line="1209"/>
+ <source>Port %1</source>
+ <translation>Port %1</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/diseqcsettings.cpp" line="1298"/>
++ <location filename="../libs/libmythtv/diseqcsettings.cpp" line="1243"/>
+ <source>Choose a satellite position.</source>
+ <translation>Choose a satellite position.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/diseqcsettings.cpp" line="1342"/>
++ <location filename="../libs/libmythtv/diseqcsettings.cpp" line="1285"/>
+ <source>Locates the satellite you wish to point to with the longitude along the Clarke Belt of the satellite [-180..180] and its hemisphere.</source>
+ <translation>Locates the satellite you wish to point to with the longitude along the Clarke Belt of the satellite [-180..180] and its hemisphere.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/diseqcsettings.cpp" line="1347"/>
++ <location filename="../libs/libmythtv/diseqcsettings.cpp" line="1290"/>
+ <source>Longitude (degrees)</source>
+ <translation>Longitude (degrees)</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/diseqcsettings.cpp" line="1349"/>
++ <location filename="../libs/libmythtv/diseqcsettings.cpp" line="1292"/>
+ <source>Hemisphere</source>
+ <translation>Hemisphere</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/diseqcsettings.cpp" line="1350"/>
++ <location filename="../libs/libmythtv/diseqcsettings.cpp" line="1293"/>
+ <source>Eastern</source>
+ <translation>Eastern</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/diseqcsettings.cpp" line="1351"/>
++ <location filename="../libs/libmythtv/diseqcsettings.cpp" line="1294"/>
+ <source>Western</source>
+ <translation>Western</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/diseqcsettings.cpp" line="1392"/>
++ <location filename="../libs/libmythtv/diseqcsettings.cpp" line="1336"/>
+ <source>Unicable satellite position (A/B)</source>
+ <translation>Unicable satellite position (A/B)</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/diseqcsettings.cpp" line="1424"/>
++ <location filename="../libs/libmythtv/diseqcsettings.cpp" line="1366"/>
+ <source>DTV Device Configuration</source>
+ <translation>DTV Device Configuration</translation>
+ </message>
+@@ -5489,29 +5753,33 @@
+ <context>
+ <name>EPGSettings</name>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="2921"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2910"/>
+ <source>Guide starts at channel</source>
+- <translation>Guide starts at channel</translation>
++ <translation>Guide Starts at Channel</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="2925"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2914"/>
+ <source>The program guide starts on this channel if it is run from outside of Live TV mode. Leave blank to enable Live TV automatic start channel.</source>
+ <translation>The program guide starts on this channel if it is run from outside of Live TV mode. Leave blank to enable Live TV automatic start channel.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="2937"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2926"/>
+ <source>Record threshold</source>
+- <translation>Record threshold</translation>
++ <translation>Record Threshold</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="2941"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2930"/>
+ <source>Pressing SELECT on a show that is at least this many minutes into the future will schedule a recording.</source>
+ <translation>Pressing SELECT on a show that is at least this many minutes into the future will schedule a recording.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="4163"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="4183"/>
++ <source>Program Guide</source>
++ <translation>Program Guide</translation>
++ </message>
++ <message>
+ <source>Program Guide %1/%2</source>
+- <translation>Program Guide %1/%2</translation>
++ <translation type="vanished">Program Guide %1/%2</translation>
+ </message>
+ </context>
+ <context>
+@@ -5529,12 +5797,12 @@
+ <message>
+ <location filename="../programs/mythfrontend/editvideometadata.cpp" line="500"/>
+ <source>Enter new category</source>
+- <translation>Enter new category</translation>
++ <translation>Enter category name:</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/editvideometadata.cpp" line="663"/>
+ <source>No image found</source>
+- <translation>No image found</translation>
++ <translation>No Image Found</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/editvideometadata.cpp" line="663"/>
+@@ -5545,22 +5813,22 @@
+ <message>
+ <location filename="../programs/mythfrontend/editvideometadata.cpp" line="682"/>
+ <source>Downloading selected artwork...</source>
+- <translation>Downloading selected artwork...</translation>
++ <translation>Downloading Selected Artwork...</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/editvideometadata.cpp" line="738"/>
+ <source>Searching for available artwork...</source>
+- <translation>Searching for available artwork...</translation>
++ <translation>Searching for Available Artwork...</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/editvideometadata.cpp" line="1061"/>
+ <source>Failed to retrieve image</source>
+- <translation>Failed to retrieve image</translation>
++ <translation>Failed to Retrieve Image</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/editvideometadata.cpp" line="1063"/>
+ <source>Check logs</source>
+- <translation>Check logs</translation>
++ <translation>Check Logs</translation>
+ </message>
+ </context>
+ <context>
+@@ -5611,7 +5879,7 @@
+ <message>
+ <location filename="../programs/mythfrontend/exitprompt.cpp" line="227"/>
+ <source>Yes, Exit now</source>
+- <translation>Yes, Exit now</translation>
++ <translation>Yes, Exit</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/exitprompt.cpp" line="229"/>
+@@ -5644,12 +5912,12 @@
+ <message>
+ <location filename="../programs/mythtv-setup/exitprompt.cpp" line="85"/>
+ <source>Yes please</source>
+- <translation>Yes please</translation>
++ <translation>Yes, Fix</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythtv-setup/exitprompt.cpp" line="86"/>
+ <source>No, I know what I am doing</source>
+- <translation>No, I know what I am doing</translation>
++ <translation>No, Do Not Fix</translation>
+ </message>
+ </context>
+ <context>
+@@ -5668,32 +5936,32 @@
+ <context>
+ <name>ExternalConfigurationGroup</name>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="2611"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="2547"/>
+ <source>A &apos;black box&apos; application controlled via stdin, status on stderr and TransportStream read from stdout</source>
+- <translation>A &apos;black box&apos; application controlled via stdin, status on stderr and TransportStream read from stdout</translation>
++ <translation>A &apos;black box&apos; application controlled via stdin, status on stderr and TransportStream read from stdout.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="2616"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="2552"/>
+ <source>File info</source>
+- <translation>File info</translation>
++ <translation>File Info</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="2638"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="2572"/>
+ <source>&apos;%1&apos; is valid.</source>
+ <translation>&apos;%1&apos; is valid.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="2640"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="2574"/>
+ <source>&apos;%1&apos; is not readable.</source>
+ <translation>&apos;%1&apos; is not readable.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="2642"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="2576"/>
+ <source>&apos;%1&apos; is not executable.</source>
+ <translation>&apos;%1&apos; is not executable.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="2646"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="2580"/>
+ <source>&apos;%1&apos; does not exist.</source>
+ <translation>&apos;%1&apos; does not exist.</translation>
+ </message>
+@@ -5708,22 +5976,22 @@
+ <message>
+ <location filename="../programs/mythfrontend/videofileassoc.cpp" line="375"/>
+ <source>The command to use when playing this kind of file. To use MythTV&apos;s Internal player, use &quot;Internal&quot; as the player. For all other players, you can use %s to substitute the filename.</source>
+- <translation>The command to use when playing this kind of file. To use MythTV&apos;s Internal player, use &quot;Internal&quot; as the player. For all other players, you can use %s to substitute the filename.</translation>
++ <translation>The command to use when playing this kind of file. To use MythTV&apos;s Internal player, use &quot;Internal&quot; as the player. For all other players, you can use %s to substitute the filename.</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/videofileassoc.cpp" line="379"/>
+ <source>When checked, this will cause the file extension to be ignored in scans of your library.</source>
+- <translation>When checked, this will cause the file extension to be ignored in scans of your library.</translation>
++ <translation>When enabled, this will cause the file extension to be ignored in scans of your library.</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/videofileassoc.cpp" line="381"/>
+ <source>When checked, this will cause the global player settings to override this one.</source>
+- <translation>When checked, this will cause the global player settings to override this one.</translation>
++ <translation>When enabled, this will cause the global player settings to override this one.</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/videofileassoc.cpp" line="383"/>
+ <source>Save and exit this screen.</source>
+- <translation>Save and exit this screen.</translation>
++ <translation>Save and Exit</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/videofileassoc.cpp" line="384"/>
+@@ -5738,7 +6006,7 @@
+ <message>
+ <location filename="../programs/mythfrontend/videofileassoc.cpp" line="444"/>
+ <source>Enter the new extension:</source>
+- <translation>Enter the new extension:</translation>
++ <translation>Enter new extension:</translation>
+ </message>
+ </context>
+ <context>
+@@ -5747,45 +6015,45 @@
+ <location filename="../libs/libmythtv/fileringbuffer.cpp" line="304"/>
+ <source>Could not open %1</source>
+ <extracomment>%1 is the filename</extracomment>
+- <translation>Could not open %1</translation>
++ <translation>Could Not Open %1</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/fileringbuffer.cpp" line="312"/>
+ <source>File too small (%1B)</source>
+ <extracomment>%1 is the file size</extracomment>
+- <translation>File too small (%1B)</translation>
++ <translation>File Too Small (%1B)</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/fileringbuffer.cpp" line="319"/>
+ <source>Improper permissions</source>
+- <translation>Improper permissions</translation>
++ <translation>Improper Permissions</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/fileringbuffer.cpp" line="325"/>
+ <source>Cannot seek in file</source>
+- <translation>Cannot seek in file</translation>
++ <translation>Cannot Seek in File</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/fileringbuffer.cpp" line="374"/>
+ <source>Failed to open remote file %1</source>
+ <extracomment>%1 is the filename</extracomment>
+- <translation>Failed to open remote file %1</translation>
++ <translation>Failed to Open Remote File %1</translation>
+ </message>
+ </context>
+ <context>
+ <name>FileTransferWorker</name>
+ <message>
+- <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="67"/>
++ <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="70"/>
+ <source>Moving</source>
+ <translation>Moving</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="67"/>
++ <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="70"/>
+ <source>Copying</source>
+ <translation>Copying</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="113"/>
++ <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="116"/>
+ <source>Complete</source>
+ <translation>Complete</translation>
+ </message>
+@@ -5793,15 +6061,88 @@
+ <context>
+ <name>FirewireDesc</name>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="1255"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="1294"/>
+ <source>Description</source>
+ <translation>Description</translation>
+ </message>
+ </context>
+ <context>
++ <name>GUIStartup</name>
++ <message>
++ <location filename="../libs/libmyth/guistartup.cpp" line="192"/>
++ <source>Do you really want to exit MythTV?</source>
++ <translation>Do you really want to exit MythTV?</translation>
++ </message>
++</context>
++<context>
++ <name>GalleryDbSettings</name>
++ <message>
++ <location filename="../programs/mythfrontend/galleryconfig.cpp" line="155"/>
++ <source>Database Settings</source>
++ <translation>Database Settings</translation>
++ </message>
++ <message>
++ <location filename="../programs/mythfrontend/galleryconfig.cpp" line="155"/>
++ <source> (Requires edit privileges)</source>
++ <translation>(Requires Edit Privileges)</translation>
++ </message>
++ <message>
++ <location filename="../programs/mythfrontend/galleryconfig.cpp" line="164"/>
++ <source>Scanner Exclusions</source>
++ <translation>Scanner Exclusions</translation>
++ </message>
++ <message>
++ <location filename="../programs/mythfrontend/galleryconfig.cpp" line="165"/>
++ <source>Comma-separated list of filenames/directory names to be ignored when scanning. Glob wildcards * and ? are valid.</source>
++ <translation>Comma-separated list of file/directory names to be ignored when scanning. Glob wildcards * and ? are valid.</translation>
++ </message>
++ <message>
++ <location filename="../programs/mythfrontend/galleryconfig.cpp" line="176"/>
++ <source>Start Gallery when media inserted</source>
++ <translation>Start Gallery when Media Inserted</translation>
++ </message>
++ <message>
++ <location filename="../programs/mythfrontend/galleryconfig.cpp" line="177"/>
++ <source>Set to automatically start Gallery when media (USB/CD&apos;s containing images) are inserted.</source>
++ <translation>Set to automatically start Gallery when media (USB/CD&apos;s containing images) are inserted.</translation>
++ </message>
++ <message>
++ <location filename="../programs/mythfrontend/galleryconfig.cpp" line="187"/>
++ <source>Password</source>
++ <translation>Password</translation>
++ </message>
++ <message>
++ <location filename="../programs/mythfrontend/galleryconfig.cpp" line="189"/>
++ <source>When set all actions that modify the filesystem or database are protected (copy, move, transform, hiding, covers). Hidden items cannot be viewed. Applies to all frontends.
++Disabled by an empty password. Privileges persist until Gallery exits to main menu.</source>
++ <translation>When set all actions that modify the filesystem or database are protected (copy, move, transform, hiding, covers). Hidden items cannot be viewed. Applies to all frontends.
++Disabled by an empty password. Privileges persist until Gallery exits to main menu.</translation>
++ </message>
++ <message>
++ <location filename="../programs/mythfrontend/galleryconfig.cpp" line="204"/>
++ <source>Reset Image Database</source>
++ <translation>Reset Image Database</translation>
++ </message>
++ <message>
++ <location filename="../programs/mythfrontend/galleryconfig.cpp" line="205"/>
++ <source>Clears the database and thumbnails for the Image Storage Group. A rescan will be required. Images for local media will persist.</source>
++ <translation>Clears the database and thumbnails for the Image Storage Group. A rescan will be required. Images for local media will persist.</translation>
++ </message>
++ <message>
++ <location filename="../programs/mythfrontend/galleryconfig.cpp" line="213"/>
++ <source>Clear Now!</source>
++ <translation>Clear Now!</translation>
++ </message>
++ <message>
++ <location filename="../programs/mythfrontend/galleryconfig.cpp" line="214"/>
++ <source>Warning! This will erase settings for: hidden images, directory covers and re-orientations. You will have to set them again after re-scanning.</source>
++ <translation>Warning! This will erase settings for: hidden images, directory covers and re-orientations. You will have to set them again after re-scanning.</translation>
++ </message>
++</context>
++<context>
+ <name>GallerySettings</name>
+ <message>
+- <location filename="../programs/mythfrontend/galleryconfig.cpp" line="109"/>
++ <location filename="../programs/mythfrontend/galleryconfig.cpp" line="120"/>
+ <source>Gallery Settings</source>
+ <translation>Gallery Settings</translation>
+ </message>
+@@ -5809,135 +6150,135 @@
+ <context>
+ <name>GallerySlideView</name>
+ <message>
+- <location filename="../programs/mythfrontend/galleryslideview.cpp" line="100"/>
+- <location filename="../programs/mythfrontend/galleryslideview.cpp" line="524"/>
++ <location filename="../programs/mythfrontend/galleryslideview.cpp" line="106"/>
++ <location filename="../programs/mythfrontend/galleryslideview.cpp" line="533"/>
+ <source>Hide</source>
+ <translation>Hide</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/galleryslideview.cpp" line="258"/>
++ <location filename="../programs/mythfrontend/galleryslideview.cpp" line="268"/>
+ <source>Slideshow Options</source>
+ <translation>Slideshow Options</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/galleryslideview.cpp" line="262"/>
++ <location filename="../programs/mythfrontend/galleryslideview.cpp" line="272"/>
+ <source>Play Video</source>
+ <translation>Play Video</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/galleryslideview.cpp" line="265"/>
++ <location filename="../programs/mythfrontend/galleryslideview.cpp" line="275"/>
+ <source>Stop</source>
+ <translation>Stop</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/galleryslideview.cpp" line="267"/>
++ <location filename="../programs/mythfrontend/galleryslideview.cpp" line="277"/>
+ <source>Start SlideShow</source>
+ <translation>Start SlideShow</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/galleryslideview.cpp" line="270"/>
++ <location filename="../programs/mythfrontend/galleryslideview.cpp" line="280"/>
+ <source>Turn Repeat Off</source>
+ <translation>Turn Repeat Off</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/galleryslideview.cpp" line="272"/>
++ <location filename="../programs/mythfrontend/galleryslideview.cpp" line="282"/>
+ <source>Turn Repeat On</source>
+ <translation>Turn Repeat On</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/galleryslideview.cpp" line="279"/>
++ <location filename="../programs/mythfrontend/galleryslideview.cpp" line="289"/>
+ <source>Hide Captions</source>
+ <translation>Hide Captions</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/galleryslideview.cpp" line="281"/>
++ <location filename="../programs/mythfrontend/galleryslideview.cpp" line="291"/>
+ <source>Show Captions</source>
+ <translation>Show Captions</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/galleryslideview.cpp" line="287"/>
++ <location filename="../programs/mythfrontend/galleryslideview.cpp" line="297"/>
+ <source>More Details</source>
+ <translation>More Details</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/galleryslideview.cpp" line="288"/>
++ <location filename="../programs/mythfrontend/galleryslideview.cpp" line="298"/>
+ <source>Less Details</source>
+ <translation>Less Details</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/galleryslideview.cpp" line="290"/>
++ <location filename="../programs/mythfrontend/galleryslideview.cpp" line="300"/>
+ <source>Show Details</source>
+ <translation>Show Details</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/galleryslideview.cpp" line="295"/>
++ <location filename="../programs/mythfrontend/galleryslideview.cpp" line="305"/>
+ <source>Hide Details</source>
+ <translation>Hide Details</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/galleryslideview.cpp" line="315"/>
++ <location filename="../programs/mythfrontend/galleryslideview.cpp" line="325"/>
+ <source>Transform Options</source>
+ <translation>Transform Options</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/galleryslideview.cpp" line="319"/>
++ <location filename="../programs/mythfrontend/galleryslideview.cpp" line="329"/>
+ <source>Rotate CW</source>
+ <translation>Rotate CW</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/galleryslideview.cpp" line="320"/>
++ <location filename="../programs/mythfrontend/galleryslideview.cpp" line="330"/>
+ <source>Rotate CCW</source>
+ <translation>Rotate CCW</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/galleryslideview.cpp" line="321"/>
++ <location filename="../programs/mythfrontend/galleryslideview.cpp" line="331"/>
+ <source>Flip Horizontal</source>
+ <translation>Flip Horizontal</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/galleryslideview.cpp" line="322"/>
++ <location filename="../programs/mythfrontend/galleryslideview.cpp" line="332"/>
+ <source>Flip Vertical</source>
+ <translation>Flip Vertical</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/galleryslideview.cpp" line="323"/>
++ <location filename="../programs/mythfrontend/galleryslideview.cpp" line="333"/>
+ <source>Reset to Exif</source>
+ <translation>Reset to Exif</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/galleryslideview.cpp" line="327"/>
++ <location filename="../programs/mythfrontend/galleryslideview.cpp" line="337"/>
+ <source>Zoom In</source>
+ <translation>Zoom In</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/galleryslideview.cpp" line="330"/>
++ <location filename="../programs/mythfrontend/galleryslideview.cpp" line="340"/>
+ <source>Zoom Out</source>
+ <translation>Zoom Out</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/galleryslideview.cpp" line="332"/>
++ <location filename="../programs/mythfrontend/galleryslideview.cpp" line="342"/>
+ <source>Transforms</source>
+ <translation>Transforms</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/galleryslideview.cpp" line="409"/>
++ <location filename="../programs/mythfrontend/galleryslideview.cpp" line="419"/>
+ <source>Stopped</source>
+ <translation>Stopped</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/galleryslideview.cpp" line="425"/>
++ <location filename="../programs/mythfrontend/galleryslideview.cpp" line="434"/>
+ <source>Playing</source>
+ <translation>Playing</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/galleryslideview.cpp" line="547"/>
++ <location filename="../programs/mythfrontend/galleryslideview.cpp" line="556"/>
+ <source>Loading</source>
+ <translation>Loading</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/galleryslideview.cpp" line="585"/>
++ <location filename="../programs/mythfrontend/galleryslideview.cpp" line="759"/>
+ <source>Failed to load %1</source>
+- <translation>Failed to load %1</translation>
++ <translation>Failed to Load %1</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/galleryslideview.cpp" line="654"/>
+@@ -5950,7 +6291,7 @@
+ <translation>Start</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/galleryslideview.cpp" line="689"/>
++ <location filename="../programs/mythfrontend/galleryslideview.cpp" line="692"/>
+ <source>End</source>
+ <extracomment>Slideshow has reached last slide</extracomment>
+ <translation>End</translation>
+@@ -5959,12 +6300,12 @@
+ <context>
+ <name>GalleryThumbView</name>
+ <message>
+- <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="467"/>
++ <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="483"/>
+ <source>Invalid Name</source>
+ <translation>Invalid Name</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="617"/>
++ <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="636"/>
+ <source>No images found.
+ Scan storage group using menu,
+ or insert/mount local media.
+@@ -5975,477 +6316,477 @@
+ </translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="896"/>
++ <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="921"/>
+ <source>%L1 of %L3</source>
+ <translation>%L1 of %L3</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="953"/>
++ <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="980"/>
+ <source>Hidden</source>
+ <translation>Hidden</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="962"/>
++ <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="989"/>
+ <source>Pictures</source>
+ <translation>Pictures</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="963"/>
++ <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="990"/>
+ <source>Videos</source>
+ <translation>Videos</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="984"/>
++ <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1011"/>
+ <source>Gallery Options</source>
+ <translation>Gallery Options</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1001"/>
++ <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1028"/>
+ <source>Enable Edits</source>
+ <translation>Enable Edits</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1006"/>
++ <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1033"/>
+ <source>Stop Scan</source>
+ <translation>Stop Scan</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1008"/>
++ <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1035"/>
+ <source>Scan Storage Group</source>
+ <translation>Scan Storage Group</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1010"/>
++ <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1037"/>
+ <source>Settings</source>
+ <translation>Settings</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1031"/>
+- <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1090"/>
+- <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1111"/>
+- <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1150"/>
++ <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1058"/>
++ <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1117"/>
++ <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1138"/>
++ <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1177"/>
+ <source>%L1 marked</source>
+- <translation>%L1 marked</translation>
++ <translation>%L1 Marked</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1038"/>
++ <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1065"/>
+ <source>Unmark File</source>
+ <translation>Unmark File</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1040"/>
++ <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1067"/>
+ <source>Mark File</source>
+ <translation>Mark File</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1047"/>
++ <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1074"/>
+ <source>Unmark Directory</source>
+ <translation>Unmark Directory</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1049"/>
++ <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1076"/>
+ <source>Mark Directory</source>
+ <translation>Mark Directory</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1056"/>
++ <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1083"/>
+ <source>Mark All</source>
+ <translation>Mark All</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1061"/>
++ <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1088"/>
+ <source>Unmark All</source>
+ <translation>Unmark All</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1062"/>
++ <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1089"/>
+ <source>Invert Marked</source>
+ <translation>Invert Marked</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1069"/>
++ <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1096"/>
+ <source>Mark</source>
+ <translation>Mark</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1094"/>
++ <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1121"/>
+ <source>Move Marked Into</source>
+ <translation>Move Marked Into</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1095"/>
++ <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1122"/>
+ <source>Copy Marked Into</source>
+ <translation>Copy Marked Into</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1097"/>
++ <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1124"/>
+ <source>Paste</source>
+ <translation>Paste</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1115"/>
++ <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1142"/>
+ <source>Rotate Marked CW</source>
+ <translation>Rotate Marked CW</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1116"/>
++ <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1143"/>
+ <source>Rotate Marked CCW</source>
+ <translation>Rotate Marked CCW</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1117"/>
++ <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1144"/>
+ <source>Flip Marked Horizontal</source>
+ <translation>Flip Marked Horizontal</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1118"/>
++ <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1145"/>
+ <source>Flip Marked Vertical</source>
+ <translation>Flip Marked Vertical</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1119"/>
++ <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1146"/>
+ <source>Reset Marked to Exif</source>
+ <translation>Reset Marked to Exif</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1121"/>
+- <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1133"/>
++ <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1148"/>
++ <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1160"/>
+ <source>Transforms</source>
+ <translation>Transforms</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1127"/>
++ <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1154"/>
+ <source>Rotate CW</source>
+ <translation>Rotate CW</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1128"/>
++ <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1155"/>
+ <source>Rotate CCW</source>
+ <translation>Rotate CCW</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1129"/>
++ <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1156"/>
+ <source>Flip Horizontal</source>
+ <translation>Flip Horizontal</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1130"/>
++ <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1157"/>
+ <source>Flip Vertical</source>
+ <translation>Flip Vertical</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1131"/>
++ <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1158"/>
+ <source>Reset to Exif</source>
+ <translation>Reset to Exif</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1156"/>
++ <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1183"/>
+ <source>Hide Marked</source>
+ <translation>Hide Marked</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1158"/>
++ <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1185"/>
+ <source>Unhide Marked</source>
+ <translation>Unhide Marked</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1160"/>
++ <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1187"/>
+ <source>Delete Marked</source>
+ <translation>Delete Marked</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1171"/>
++ <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1198"/>
+ <source>Unhide</source>
+ <translation>Unhide</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1173"/>
++ <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1200"/>
+ <source>Hide</source>
+ <translation>Hide</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1175"/>
++ <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1202"/>
+ <source>Use as Cover</source>
+ <translation>Use as Cover</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1176"/>
++ <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1203"/>
+ <source>Delete</source>
+ <translation>Delete</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1177"/>
++ <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1204"/>
+ <source>Rename</source>
+ <translation>Rename</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1180"/>
++ <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1207"/>
+ <source>Reset Cover</source>
+ <translation>Reset Cover</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1186"/>
++ <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1213"/>
+ <source>Create Directory</source>
+ <translation>Create Directory</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1191"/>
++ <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1218"/>
+ <source>Import</source>
+ <translation>Import</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1195"/>
++ <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1222"/>
+ <source>Eject media</source>
+- <translation>Eject media</translation>
++ <translation>Eject Media</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1200"/>
++ <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1227"/>
+ <source>Actions</source>
+ <translation>Actions</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1215"/>
+- <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1241"/>
++ <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1242"/>
++ <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1268"/>
+ <source>Shuffled</source>
+ <translation>Shuffled</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1216"/>
+- <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1242"/>
++ <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1243"/>
++ <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1269"/>
+ <source>Random</source>
+ <translation>Random</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1217"/>
+- <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1243"/>
++ <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1244"/>
++ <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1270"/>
+ <source>Seasonal</source>
+ <translation>Seasonal</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1219"/>
+- <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1240"/>
++ <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1246"/>
++ <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1267"/>
+ <source>Ordered</source>
+ <translation>Ordered</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1222"/>
+- <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1252"/>
++ <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1249"/>
++ <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1279"/>
+ <source>Slideshow</source>
+ <translation>Slideshow</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1229"/>
++ <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1256"/>
+ <source>Directory</source>
+ <translation>Directory</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1232"/>
++ <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1259"/>
+ <source>Recursive</source>
+ <translation>Recursive</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1235"/>
++ <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1262"/>
+ <source>Current Directory</source>
+ <translation>Current Directory</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1237"/>
++ <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1264"/>
+ <source>Slideshow Order</source>
+ <translation>Slideshow Order</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1245"/>
++ <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1272"/>
+ <source>Change Order</source>
+ <translation>Change Order</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1248"/>
++ <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1275"/>
+ <source>Turn Repeat Off</source>
+ <translation>Turn Repeat Off</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1250"/>
++ <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1277"/>
+ <source>Turn Repeat On</source>
+ <translation>Turn Repeat On</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1262"/>
++ <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1289"/>
+ <source>Show Options</source>
+ <translation>Show Options</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1267"/>
++ <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1294"/>
+ <source>Hide Pictures</source>
+ <translation>Hide Pictures</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1268"/>
++ <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1295"/>
+ <source>Hide Videos</source>
+ <translation>Hide Videos</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1271"/>
++ <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1298"/>
+ <source>Show Videos</source>
+ <translation>Show Videos</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1271"/>
++ <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1298"/>
+ <source>Show Pictures</source>
+ <translation>Show Pictures</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1275"/>
+- <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1283"/>
++ <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1302"/>
++ <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1310"/>
+ <source>Image Captions</source>
+ <translation>Image Captions</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1278"/>
+- <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1288"/>
++ <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1305"/>
++ <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1315"/>
+ <source>Name</source>
+ <translation>Name</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1279"/>
+- <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1289"/>
++ <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1306"/>
++ <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1316"/>
+ <source>Date</source>
+ <translation>Date</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1280"/>
++ <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1307"/>
+ <source>Comment</source>
+ <translation>Comment</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1281"/>
+- <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1290"/>
++ <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1308"/>
++ <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1317"/>
+ <source>None</source>
+ <translation>None</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1286"/>
+- <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1292"/>
++ <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1313"/>
++ <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1319"/>
+ <source>Directory Captions</source>
+ <translation>Directory Captions</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1297"/>
++ <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1324"/>
+ <source>Hide Hidden Items</source>
+ <translation>Hide Hidden Items</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1299"/>
++ <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1326"/>
+ <source>Show Hidden Items</source>
+ <translation>Show Hidden Items</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1303"/>
++ <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1330"/>
+ <source>Zoom Out</source>
+ <translation>Zoom Out</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1305"/>
++ <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1332"/>
+ <source>Zoom In</source>
+ <translation>Zoom In</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1308"/>
++ <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1335"/>
+ <source>Show Details</source>
+ <translation>Show Details</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1308"/>
++ <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1335"/>
+ <source>Hide Details</source>
+ <translation>Hide Details</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1312"/>
++ <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1339"/>
+ <source>Show</source>
+ <translation>Show</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1567"/>
++ <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1594"/>
+ <source>Do you want to delete
+ %1 ?</source>
+ <translation>Do you want to delete
+ %1 ?</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1577"/>
++ <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1604"/>
+ <source>Do you want to delete all marked files ?</source>
+ <translation>Do you want to delete all marked files ?</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1675"/>
++ <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1702"/>
+ <source>Enter a new name:</source>
+- <translation>Enter a new name:</translation>
++ <translation>Enter name:</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1703"/>
++ <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1730"/>
+ <source>Enter password:</source>
+ <translation>Enter password:</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1817"/>
++ <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1844"/>
+ <source>Enter name of new directory</source>
+- <translation>Enter name of new directory</translation>
++ <translation>Enter directory name:</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1863"/>
+- <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1990"/>
++ <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1890"/>
++ <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="2017"/>
+ <source>No files specified</source>
+- <translation>No files specified</translation>
++ <translation>No Files Specified</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1874"/>
++ <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1901"/>
+ <source>No images</source>
+- <translation>No images</translation>
++ <translation>No Images</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1901"/>
++ <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1928"/>
+ <source>Copying files</source>
+- <translation>Copying files</translation>
++ <translation>Copying Files</translation>
+ </message>
+ <message numerus="yes">
+- <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1919"/>
++ <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="1946"/>
+ <source>Failed to copy %L1/%Ln file(s)</source>
+ <translation>
+- <numerusform>Failed to copy %L1/%Ln file</numerusform>
+- <numerusform>Failed to copy %L1/%Ln files</numerusform>
++ <numerusform>Failed to Copy %L1/%Ln File</numerusform>
++ <numerusform>Failed to Copy %L1/%Ln Files</numerusform>
+ </translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="2007"/>
++ <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="2034"/>
+ <source>No images specified</source>
+- <translation>No images specified</translation>
++ <translation>No Images Specified</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="2035"/>
++ <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="2062"/>
+ <source>Moving files</source>
+- <translation>Moving files</translation>
++ <translation>Moving Files</translation>
+ </message>
+ <message numerus="yes">
+- <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="2054"/>
++ <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="2081"/>
+ <source>Failed to move %L1/%Ln file(s)</source>
+ <translation>
+- <numerusform>Failed to move %L1/%Ln file</numerusform>
+- <numerusform>Failed to move %L1/%Ln files</numerusform>
++ <numerusform>Failed to Move %L1/%Ln File</numerusform>
++ <numerusform>Failed to Move %L1/%Ln Files</numerusform>
+ </translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="2083"/>
++ <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="2110"/>
+ <source>Failed to create temporary directory.</source>
+ <translation>Failed to create temporary directory.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="2093"/>
++ <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="2120"/>
+ <source>Running Import command.
+ Please wait...</source>
+ <translation>Running Import command.
+ Please wait...</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="2103"/>
++ <location filename="../programs/mythfrontend/gallerythumbview.cpp" line="2130"/>
+ <source>Import command failed.
+ Error: %1</source>
+ <translation>Import command failed.
+@@ -6455,117 +6796,117 @@
+ <context>
+ <name>GeneralRecPrioritiesSettings</name>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="2756"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2745"/>
+ <source>Avoid back to back recordings</source>
+- <translation>Avoid back to back recordings</translation>
++ <translation>Avoid Back to Back Recordings</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="2760"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2749"/>
+ <source>Selects the situations where the scheduler will avoid assigning shows to the same card if their end time and start time match. This will be allowed when necessary in order to resolve conflicts.</source>
+ <translation>Selects the situations where the scheduler will avoid assigning shows to the same card if their end time and start time match. This will be allowed when necessary in order to resolve conflicts.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="2767"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2756"/>
+ <source>Never</source>
+ <translation>Never</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="2768"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2757"/>
+ <source>Different Channels</source>
+ <translation>Different Channels</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="2770"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2759"/>
+ <source>Always</source>
+ <translation>Always</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="2781"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2770"/>
+ <source>Preferred input priority</source>
+- <translation>Preferred input priority</translation>
++ <translation>Preferred Input Priority</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="2783"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2772"/>
+ <source>Additional priority when a showing matches the preferred input selected in the &apos;Scheduling Options&apos; section of the recording rule.</source>
+ <translation>Additional priority when a showing matches the preferred input selected in the &apos;Scheduling Options&apos; section of the recording rule.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="2798"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2787"/>
+ <source>HDTV recording priority</source>
+- <translation>HDTV recording priority</translation>
++ <translation>HDTV Recording Priority</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="2800"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2789"/>
+ <source>Additional priority when a showing is marked as an HDTV broadcast in the TV listings.</source>
+ <translation>Additional priority when a showing is marked as an HDTV broadcast in the TV listings.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="2814"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2803"/>
+ <source>Widescreen recording priority</source>
+- <translation>Widescreen recording priority</translation>
++ <translation>Widescreen Recording Priority</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="2817"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2806"/>
+ <source>Additional priority when a showing is marked as widescreen in the TV listings.</source>
+ <translation>Additional priority when a showing is marked as widescreen in the TV listings.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="2832"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2821"/>
+ <source>Sign language recording priority</source>
+- <translation>Sign language recording priority</translation>
++ <translation>Sign Language Recording Priority</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="2835"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2824"/>
+ <source>Additional priority when a showing is marked as having in-vision sign language.</source>
+ <translation>Additional priority when a showing is marked as having in-vision sign language.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="2851"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2840"/>
+ <source>In-vision Subtitles Recording Priority</source>
+ <translation>In-vision Subtitles Recording Priority</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="2854"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2843"/>
+ <source>Additional priority when a showing is marked as having in-vision subtitles.</source>
+ <translation>Additional priority when a showing is marked as having in-vision subtitles.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="2869"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2858"/>
+ <source>Subtitles/CC recording priority</source>
+- <translation>Subtitles/CC recording priority</translation>
++ <translation>Subtitles/CC Recording Priority</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="2872"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2861"/>
+ <source>Additional priority when a showing is marked as having subtitles or closed captioning (CC) available.</source>
+ <translation>Additional priority when a showing is marked as having subtitles or closed captioning (CC) available.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="2888"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2877"/>
+ <source>Hard of hearing priority</source>
+- <translation>Hard of hearing priority</translation>
++ <translation>Hard of Hearing Priority</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="2890"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2879"/>
+ <source>Additional priority when a showing is marked as having support for viewers with impaired hearing.</source>
+ <translation>Additional priority when a showing is marked as having support for viewers with impaired hearing.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="2906"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2895"/>
+ <source>Audio described priority</source>
+- <translation>Audio described priority</translation>
++ <translation>Audio Described Priority</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="2908"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2897"/>
+ <source>Additional priority when a showing is marked as being Audio Described.</source>
+ <translation>Additional priority when a showing is marked as being Audio Described.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="4175"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="4193"/>
+ <source>Scheduler Options</source>
+ <translation>Scheduler Options</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="4186"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="4204"/>
+ <source>Accessibility Options</source>
+ <translation>Accessibility Options</translation>
+ </message>
+@@ -6573,270 +6914,271 @@
+ <context>
+ <name>GeneralSettings</name>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="205"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="209"/>
+ <source>Commercial detection method</source>
+- <translation>Commercial detection method</translation>
++ <translation>Commercial Detection Method</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="207"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="211"/>
+ <source>This determines the method used by MythTV to detect when commercials start and end.</source>
+ <translation>This determines the method used by MythTV to detect when commercials start and end.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="223"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="227"/>
+ <source>Enable experimental speedup of commercial detection</source>
+- <translation>Enable experimental speedup of commercial detection</translation>
++ <translation>Experimental Speedup of Commercial Detection</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="228"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="232"/>
+ <source>If enabled, experimental commercial detection speedups will be enabled.</source>
+ <translation>If enabled, experimental commercial detection speedups will be enabled.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="258"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="262"/>
+ <source>Deferral days for auto transcode jobs</source>
+- <translation>Deferral days for auto transcode jobs</translation>
++ <translation>Deferral Days for Auto Transcode Jobs</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="260"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="264"/>
+ <source>If non-zero, automatic transcode jobs will be scheduled to run this many days after a recording completes instead of immediately afterwards.</source>
+ <translation>If non-zero, automatic transcode jobs will be scheduled to run this many days after a recording completes instead of immediately afterwards.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="274"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="278"/>
+ <source>Strict commercial detection</source>
+- <translation>Strict commercial detection</translation>
++ <translation>Strict Commercial Detection</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="278"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="282"/>
+ <source>Enable stricter commercial detection code. Disable if some commercials are not being detected.</source>
+ <translation>Enable stricter commercial detection code. Disable if some commercials are not being detected.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="357"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="361"/>
+ <source>Extra disk space (GB)</source>
+- <translation>Extra disk space (GB)</translation>
++ <translation>Extra Disk Space (GB)</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="359"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="363"/>
+ <source>Extra disk space (in gigabytes) beyond what MythTV requires that you want to keep free on the recording file systems.</source>
+ <translation>Extra disk space (in gigabytes) beyond what MythTV requires that you want to keep free on the recording file systems.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="389"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="393"/>
+ <source>Time to retain deleted recordings (days)</source>
+- <translation>Time to retain deleted recordings (days)</translation>
++ <translation>Time to Retain Deleted Recordings (days)</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="392"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="396"/>
+ <source>Determines the maximum number of days before undeleting a recording will become impossible. A value of zero means the recording will be permanently deleted between 5 and 20 minutes later. A value of minus one means recordings will be retained until space is required. A recording will always be removed before this time if the space is needed for a new recording.</source>
+ <translation>Determines the maximum number of days before undeleting a recording will become impossible. A value of zero means the recording will be permanently deleted between 5 and 20 minutes later. A value of minus one means recordings will be retained until space is required. A recording will always be removed before this time if the space is needed for a new recording.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="435"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="439"/>
+ <source>Auto-Expire method</source>
+- <translation>Auto-Expire method</translation>
++ <translation>Auto-Expire Method</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="437"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="441"/>
+ <source>Oldest show first</source>
+- <translation>Oldest show first</translation>
++ <translation>Oldest Show First</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="438"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="442"/>
+ <source>Lowest priority first</source>
+- <translation>Lowest priority first</translation>
++ <translation>Lowest Priority First</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="439"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="443"/>
+ <source>Weighted time/priority combination</source>
+- <translation>Weighted time/priority combination</translation>
++ <translation>Weighted Time/Priority Combination</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="442"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="446"/>
+ <source>Method used to determine which recorded shows to delete first. Live TV recordings will always expire before normal recordings.</source>
+ <translation>Method used to determine which recorded shows to delete first. Live TV recordings will always expire before normal recordings.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="455"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="459"/>
+ <source>Watched before unwatched</source>
+- <translation>Watched before unwatched</translation>
++ <translation>Watched Before Unwatched</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="459"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="463"/>
+ <source>If enabled, programs that have been marked as watched will be expired before programs that have not been watched.</source>
+ <translation>If enabled, programs that have been marked as watched will be expired before programs that have not been watched.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="470"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="474"/>
+ <source>Priority weight</source>
+- <translation>Priority weight</translation>
++ <translation>Priority Weight</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="472"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="476"/>
+ <source>The number of days bonus a program gets for each priority point. This is only used when the Weighted time/priority Auto-Expire method is selected.</source>
+- <translation>The number of days bonus a program gets for each priority point. This is only used when the Weighted time/priority Auto-Expire method is selected.</translation>
++ <translation>The number of days bonus a program gets for each priority point. This is only used when the Weighted time/priority Auto-expire method is selected.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="486"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="490"/>
+ <source>Live TV max age (days)</source>
+- <translation>Live TV max age (days)</translation>
++ <translation>Live TV Max Age (days)</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="488"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="492"/>
+ <source>Auto-Expire will force expiration of Live TV recordings when they are this many days old. Live TV recordings may also be expired early if necessary to free up disk space.</source>
+ <translation>Auto-Expire will force expiration of Live TV recordings when they are this many days old. Live TV recordings may also be expired early if necessary to free up disk space.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="518"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="522"/>
+ <source>Re-record watched</source>
+- <translation>Re-record watched</translation>
++ <translation>Re-record Watched</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="522"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="526"/>
+ <source>If enabled, programs that have been marked as watched and are Auto-Expired will be re-recorded if they are shown again.</source>
+ <translation>If enabled, programs that have been marked as watched and are Auto-Expired will be re-recorded if they are shown again.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="533"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="537"/>
+ <source>Time to record before start of show (secs)</source>
+- <translation>Time to record before start of show (secs)</translation>
++ <translation>Time to Record Before Start of Show (secs)</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="536"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="540"/>
+ <source>This global setting allows the recorder to start before the scheduled start time. It does not affect the scheduler. It is ignored when two shows have been scheduled without enough time in between.</source>
+ <translatorcomment>Temporary fix</translatorcomment>
+ <translation>This global setting allows the recorder to start before the scheduled start time. It does not affect the scheduler. It is ignored when two shows have been scheduled without enough time in-between.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="551"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="555"/>
+ <source>Time to record past end of show (secs)</source>
+- <translation>Time to record past end of show (secs)</translation>
++ <translation>Time to Record Past End of Show (secs)</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="555"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="559"/>
+ <source>This global setting allows the recorder to record beyond the scheduled end time. It does not affect the scheduler. It is ignored when two shows have been scheduled without enough time in between.</source>
+ <translatorcomment>Temporary fix</translatorcomment>
+ <translation>This global setting allows the recorder to record beyond the scheduled end time. It does not affect the scheduler. It is ignored when two shows have been scheduled without enough time in-between.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="568"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="572"/>
+ <source>Category of shows to be extended</source>
+- <translation>Category of shows to be extended</translation>
++ <translation>Category of Shows to be Extended</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="570"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="574"/>
+ <source>For a special category (e.g. &quot;Sports event&quot;), request that shows be autoextended. Only works if a show&apos;s category can be determined.</source>
+- <translation>For a special category (e.g. &quot;Sports event&quot;), request that shows be autoextended. Only works if a show&apos;s category can be determined.</translation>
++ <translation>For a special category (e.g. &quot;Sports Event&quot;), request that shows be autoextended. Only works if a show&apos;s category can be determined.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="599"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="603"/>
+ <source>Record past end of show (mins)</source>
+- <translation>Record past end of show (mins)</translation>
++ <translation>Record Past End of Show (mins)</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="603"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="607"/>
+ <source>For the specified category, an attempt will be made to extend the recording by the specified number of minutes. It is ignored when two shows have been scheduled without enough time in-between.</source>
+ <translation>For the specified category, an attempt will be made to extend the recording by the specified number of minutes. It is ignored when two shows have been scheduled without enough time in-between.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="617"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="620"/>
+ <source>Category record over-time</source>
+- <translation>Category record over-time</translation>
++ <translation>Category Record Over Time</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="1521"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1497"/>
+ <source>Channel ordering</source>
+- <translation>Channel ordering</translation>
++ <translation>Channel Ordering</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="1523"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1499"/>
+ <source>channel number</source>
+ <translation>channel number</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="1524"/>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="2642"/>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="2661"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1500"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2650"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2669"/>
+ <source>callsign</source>
+ <translation>callsign</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="2637"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2645"/>
+ <source>Channel format</source>
+- <translation>Channel format</translation>
++ <translation>Channel Format</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="2639"/>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="2658"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2647"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2666"/>
+ <source>number</source>
+ <translation>number</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="2640"/>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="2659"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2648"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2667"/>
+ <source>number callsign</source>
+ <translation>number callsign</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="2641"/>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="2660"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2649"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2668"/>
+ <source>number name</source>
+ <translation>number name</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="2643"/>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="2662"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2651"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2670"/>
+ <source>name</source>
+ <translation>name</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="2645"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2653"/>
+ <source>Your preferred channel format.</source>
+ <translation>Your preferred channel format.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="2656"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2664"/>
+ <source>Long channel format</source>
+- <translation>Long channel format</translation>
++ <translation>Long Channel Format</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="2664"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2672"/>
+ <source>Your preferred long channel format.</source>
+ <translation>Your preferred long channel format.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="2718"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2726"/>
+ <source>Browse/change channels from Channel Group</source>
+- <translation>Browse/change channels from Channel Group</translation>
++ <translation>Browse/Change Channels from Channel Group</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="2721"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2729"/>
+ <source>If enabled, Live TV will browse or change channels from the selected channel group. The &quot;All Channels&quot; channel group may be selected to browse all channels.</source>
+ <translation>If enabled, Live TV will browse or change channels from the selected channel group. The &quot;All Channels&quot; channel group may be selected to browse all channels.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="4090"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="4123"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="4125"/>
+ <source>General (Basic)</source>
+ <translation>General (Basic)</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="4099"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="4134"/>
+ <source>General (Auto-Expire)</source>
+ <translation>General (Auto-Expire)</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="4130"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="4152"/>
+ <source>General (Jobs)</source>
+ <translation>General (Jobs)</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="4141"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="4163"/>
+ <source>General (Advanced)</source>
+ <translation>General (Advanced)</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="4150"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="4172"/>
+ <source>General (Channel Groups)</source>
+ <translation>General (Channel Groups)</translation>
+ </message>
+@@ -6866,7 +7208,7 @@
+ <message>
+ <location filename="../programs/mythfrontend/setupwizard_general.cpp" line="66"/>
+ <source>Exit this wizard, save no changes.</source>
+- <translation>Exit this wizard, save no changes.</translation>
++ <translation>Exit Without Saving</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/setupwizard_general.cpp" line="133"/>
+@@ -6876,7 +7218,7 @@
+ <message>
+ <location filename="../programs/mythfrontend/setupwizard_general.cpp" line="151"/>
+ <source>Submitting your hardware profile...</source>
+- <translation>Submitting your hardware profile...</translation>
++ <translation>Submitting Your Hardware Profile...</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/setupwizard_general.cpp" line="159"/>
+@@ -6911,7 +7253,7 @@
+ <message>
+ <location filename="../programs/mythfrontend/setupwizard_general.cpp" line="253"/>
+ <source>Deleting your hardware profile...</source>
+- <translation>Deleting your hardware profile...</translation>
++ <translation>Deleting Your Hardware Profile...</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/setupwizard_general.cpp" line="261"/>
+@@ -6944,12 +7286,12 @@
+ <message>
+ <location filename="../programs/mythfrontend/grabbersettings.cpp" line="62"/>
+ <source>Save your changes and close this window.</source>
+- <translation>Save your changes and close this window.</translation>
++ <translation>Save and Exit</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/grabbersettings.cpp" line="63"/>
+ <source>Discard your changes and close this window.</source>
+- <translation>Discard your changes and close this window.</translation>
++ <translation>Exit Without Saving</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/grabbersettings.cpp" line="65"/>
+@@ -6959,159 +7301,159 @@
+ <message>
+ <location filename="../programs/mythfrontend/grabbersettings.cpp" line="76"/>
+ <source>Searching for data sources...</source>
+- <translation>Searching for data sources...</translation>
++ <translation>Searching for Data Sources...</translation>
+ </message>
+ </context>
+ <context>
+ <name>GuideGrid</name>
+ <message>
+- <location filename="../programs/mythfrontend/guidegrid.cpp" line="441"/>
++ <location filename="../programs/mythfrontend/guidegrid.cpp" line="442"/>
+ <source>You don&apos;t have any channels defined in the database.
+ The program guide will have nothing to show you.</source>
+ <translation>You don&apos;t have any channels defined in the database.
+ The program guide will have nothing to show you.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/guidegrid.cpp" line="446"/>
++ <location filename="../programs/mythfrontend/guidegrid.cpp" line="447"/>
+ <source>Channel group &apos;%1&apos; doesn&apos;t have any channels defined.
+ The program guide will have nothing to show you.</source>
+ <translation>Channel group &apos;%1&apos; doesn&apos;t have any channels defined.
+ The program guide will have nothing to show you.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/guidegrid.cpp" line="1091"/>
++ <location filename="../programs/mythfrontend/guidegrid.cpp" line="1096"/>
+ <source>Guide Options</source>
+ <translation>Guide Options</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/guidegrid.cpp" line="1102"/>
+- <location filename="../programs/mythfrontend/guidegrid.cpp" line="1924"/>
++ <location filename="../programs/mythfrontend/guidegrid.cpp" line="1107"/>
++ <location filename="../programs/mythfrontend/guidegrid.cpp" line="1940"/>
+ <source>Change to Channel</source>
+ <translation>Change to Channel</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/guidegrid.cpp" line="1104"/>
++ <location filename="../programs/mythfrontend/guidegrid.cpp" line="1109"/>
+ <location filename="../programs/mythfrontend/guidegrid.cpp" line="1928"/>
+ <source>Watch This Channel</source>
+ <translation>Watch This Channel</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/guidegrid.cpp" line="1106"/>
+- <location filename="../programs/mythfrontend/guidegrid.cpp" line="1920"/>
++ <location filename="../programs/mythfrontend/guidegrid.cpp" line="1111"/>
++ <location filename="../programs/mythfrontend/guidegrid.cpp" line="1936"/>
+ <source>Record This</source>
+ <translation>Record This</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/guidegrid.cpp" line="1108"/>
+- <location filename="../programs/mythfrontend/guidegrid.cpp" line="1138"/>
+- <location filename="../programs/mythfrontend/guidegrid.cpp" line="1961"/>
++ <location filename="../programs/mythfrontend/guidegrid.cpp" line="1113"/>
++ <location filename="../programs/mythfrontend/guidegrid.cpp" line="1143"/>
++ <location filename="../programs/mythfrontend/guidegrid.cpp" line="1971"/>
+ <source>Recording Options</source>
+ <translation>Recording Options</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/guidegrid.cpp" line="1112"/>
+- <location filename="../programs/mythfrontend/guidegrid.cpp" line="1965"/>
++ <location filename="../programs/mythfrontend/guidegrid.cpp" line="1117"/>
++ <location filename="../programs/mythfrontend/guidegrid.cpp" line="1975"/>
+ <source>Jump to Time</source>
+ <translation>Jump to Time</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/guidegrid.cpp" line="1116"/>
+- <location filename="../programs/mythfrontend/guidegrid.cpp" line="1944"/>
++ <location filename="../programs/mythfrontend/guidegrid.cpp" line="1121"/>
++ <location filename="../programs/mythfrontend/guidegrid.cpp" line="1954"/>
+ <source>Channel Search</source>
+ <translation>Channel Search</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/guidegrid.cpp" line="1151"/>
+- <location filename="../programs/mythfrontend/guidegrid.cpp" line="1972"/>
++ <location filename="../programs/mythfrontend/guidegrid.cpp" line="1156"/>
++ <location filename="../programs/mythfrontend/guidegrid.cpp" line="1982"/>
+ <source>Edit Recording Status</source>
+ <translation>Edit Recording Status</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/guidegrid.cpp" line="1152"/>
+- <location filename="../programs/mythfrontend/guidegrid.cpp" line="1976"/>
++ <location filename="../programs/mythfrontend/guidegrid.cpp" line="1157"/>
++ <location filename="../programs/mythfrontend/guidegrid.cpp" line="1986"/>
+ <source>Edit Schedule</source>
+ <translation>Edit Schedule</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/guidegrid.cpp" line="1154"/>
+- <location filename="../programs/mythfrontend/guidegrid.cpp" line="1984"/>
++ <location filename="../programs/mythfrontend/guidegrid.cpp" line="1159"/>
++ <location filename="../programs/mythfrontend/guidegrid.cpp" line="1994"/>
+ <source>Previously Recorded</source>
+ <translation>Previously Recorded</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/guidegrid.cpp" line="1696"/>
+- <location filename="../programs/mythfrontend/guidegrid.cpp" line="1863"/>
+- <location filename="../programs/mythfrontend/guidegrid.cpp" line="2235"/>
+- <location filename="../programs/mythfrontend/guidegrid.cpp" line="2236"/>
++ <location filename="../programs/mythfrontend/guidegrid.cpp" line="1704"/>
++ <location filename="../programs/mythfrontend/guidegrid.cpp" line="1871"/>
++ <location filename="../programs/mythfrontend/guidegrid.cpp" line="2242"/>
++ <location filename="../programs/mythfrontend/guidegrid.cpp" line="2243"/>
+ <source>Unknown</source>
+ <comment>Unknown program title</comment>
+ <translation>Unknown</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/guidegrid.cpp" line="2730"/>
++ <location filename="../programs/mythfrontend/guidegrid.cpp" line="2737"/>
+ <source>Jump to a specific date and time in the guide</source>
+- <translation>Jump to a specific date and time in the guide</translation>
++ <translation>Jump to a Specific Date and Time in the Guide</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/guidegrid.cpp" line="1110"/>
+- <location filename="../programs/mythfrontend/guidegrid.cpp" line="1934"/>
++ <location filename="../programs/mythfrontend/guidegrid.cpp" line="1115"/>
++ <location filename="../programs/mythfrontend/guidegrid.cpp" line="1944"/>
+ <source>Program Details</source>
+ <translation>Program Details</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/guidegrid.cpp" line="1153"/>
+- <location filename="../programs/mythfrontend/guidegrid.cpp" line="1980"/>
++ <location filename="../programs/mythfrontend/guidegrid.cpp" line="1158"/>
++ <location filename="../programs/mythfrontend/guidegrid.cpp" line="1990"/>
+ <source>Show Upcoming</source>
+ <translation>Show Upcoming</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/guidegrid.cpp" line="1155"/>
+- <location filename="../programs/mythfrontend/guidegrid.cpp" line="1988"/>
++ <location filename="../programs/mythfrontend/guidegrid.cpp" line="1160"/>
++ <location filename="../programs/mythfrontend/guidegrid.cpp" line="1998"/>
+ <source>Custom Edit</source>
+ <translation>Custom Edit</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/guidegrid.cpp" line="1158"/>
+- <location filename="../programs/mythfrontend/guidegrid.cpp" line="1992"/>
++ <location filename="../programs/mythfrontend/guidegrid.cpp" line="1163"/>
++ <location filename="../programs/mythfrontend/guidegrid.cpp" line="2002"/>
+ <source>Delete Rule</source>
+ <translation>Delete Rule</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/guidegrid.cpp" line="1114"/>
+- <location filename="../programs/mythfrontend/guidegrid.cpp" line="1938"/>
++ <location filename="../programs/mythfrontend/guidegrid.cpp" line="1119"/>
++ <location filename="../programs/mythfrontend/guidegrid.cpp" line="1948"/>
+ <source>Reverse Channel Order</source>
+ <translation>Reverse Channel Order</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/guidegrid.cpp" line="1123"/>
+- <location filename="../programs/mythfrontend/guidegrid.cpp" line="1948"/>
++ <location filename="../programs/mythfrontend/guidegrid.cpp" line="1128"/>
++ <location filename="../programs/mythfrontend/guidegrid.cpp" line="1958"/>
+ <source>Add To Channel Group</source>
+- <translation>Add To Channel Group</translation>
++ <translation>Add to Channel Group</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/guidegrid.cpp" line="1125"/>
+- <location filename="../programs/mythfrontend/guidegrid.cpp" line="1953"/>
++ <location filename="../programs/mythfrontend/guidegrid.cpp" line="1130"/>
++ <location filename="../programs/mythfrontend/guidegrid.cpp" line="1963"/>
+ <source>Remove from Channel Group</source>
+ <translation>Remove from Channel Group</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/guidegrid.cpp" line="1120"/>
+- <location filename="../programs/mythfrontend/guidegrid.cpp" line="1957"/>
++ <location filename="../programs/mythfrontend/guidegrid.cpp" line="1125"/>
++ <location filename="../programs/mythfrontend/guidegrid.cpp" line="1967"/>
+ <source>Choose Channel Group</source>
+ <translation>Choose Channel Group</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/guidegrid.cpp" line="2289"/>
++ <location filename="../programs/mythfrontend/guidegrid.cpp" line="2296"/>
+ <source>You don&apos;t have any channel groups defined</source>
+ <translation>You don&apos;t have any channel groups defined</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/guidegrid.cpp" line="2303"/>
++ <location filename="../programs/mythfrontend/guidegrid.cpp" line="2310"/>
+ <source>Select Channel Group</source>
+ <translation>Select Channel Group</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/guidegrid.cpp" line="2588"/>
++ <location filename="../programs/mythfrontend/guidegrid.cpp" line="2595"/>
+ <source>Delete &apos;%1&apos; %2 rule?</source>
+ <translation>Delete &apos;%1&apos; %2 rule?</translation>
+ </message>
+@@ -7119,12 +7461,12 @@
+ <context>
+ <name>HDHomeRunConfigurationGroup</name>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="2067"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="2064"/>
+ <source>Description</source>
+ <translation>Description</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="2082"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="2079"/>
+ <source>Recording Options</source>
+ <translation>Recording Options</translation>
+ </message>
+@@ -7132,22 +7474,22 @@
+ <context>
+ <name>HDHomeRunDeviceID</name>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="1415"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="1441"/>
+ <source>Device ID</source>
+ <translation>Device ID</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="1416"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="1442"/>
+ <source>Device ID of HDHomeRun device</source>
+- <translation>Device ID of HDHomeRun device</translation>
++ <translation>Device ID of HDHomeRun Device</translation>
+ </message>
+ </context>
+ <context>
+ <name>HDHomeRunDeviceIDList</name>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="1509"/>
+- <location filename="../libs/libmythtv/videosource.cpp" line="1565"/>
+- <location filename="../libs/libmythtv/videosource.cpp" line="1575"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="1535"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="1591"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="1601"/>
+ <source>Manually Enter IP Address</source>
+ <translation>Manually Enter IP Address</translation>
+ </message>
+@@ -7155,122 +7497,122 @@
+ <context>
+ <name>HDPVRConfigurationGroup</name>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="2662"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="2598"/>
+ <source>Probed info</source>
+- <translation>Probed info</translation>
++ <translation>Probed Info</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="2679"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="2616"/>
+ <source>Failed to open</source>
+- <translation>Failed to open</translation>
++ <translation>Failed to Open</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="2685"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="2622"/>
+ <source>Failed to probe</source>
+- <translation>Failed to probe</translation>
++ <translation>Failed to Probe</translation>
+ </message>
+ </context>
+ <context>
+ <name>HelpPopup</name>
+ <message>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="5516"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="5544"/>
+ <source>Commercials are flagged</source>
+- <translation>Commercials are flagged</translation>
++ <translation>Commercials are Flagged</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="5517"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="5545"/>
+ <source>An editing cutlist is present</source>
+- <translation>An editing cutlist is present</translation>
++ <translation>Editing Cutlist is Present</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="5518"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="5546"/>
+ <source>The program is able to auto-expire</source>
+- <translation>The program is able to auto-expire</translation>
++ <translation>Program Is Set to Auto-expire</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="5519"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="5547"/>
+ <source>Commercials are being flagged</source>
+- <translation>Commercials are being flagged</translation>
++ <translation>Commercials are Being Flagged</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="5520"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="5548"/>
+ <source>A bookmark is set</source>
+- <translation>A bookmark is set</translation>
++ <translation>Bookmark is Set</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="5522"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="5550"/>
+ <source>Recording is in use</source>
+- <translation>Recording is in use</translation>
++ <translation>Recording is In Use</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="5523"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="5551"/>
+ <source>Recording has been transcoded</source>
+- <translation>Recording has been transcoded</translation>
++ <translation>Recording has been Transcoded</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="5526"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="5554"/>
+ <source>Recording is in Mono</source>
+ <translation>Recording is in Mono</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="5527"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="5555"/>
+ <source>Recording is in Stereo</source>
+ <translation>Recording is in Stereo</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="5528"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="5556"/>
+ <source>Recording is in Surround Sound</source>
+ <translation>Recording is in Surround Sound</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="5529"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="5557"/>
+ <source>Recording is in Dolby Surround Sound</source>
+ <translation>Recording is in Dolby Surround Sound</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="5531"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="5559"/>
+ <source>Recording is Closed Captioned</source>
+ <translation>Recording is Closed Captioned</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="5532"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="5560"/>
+ <source>Recording has Subtitles Available</source>
+ <translation>Recording has Subtitles Available</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="5533"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="5561"/>
+ <source>Recording is Subtitled</source>
+ <translation>Recording is Subtitled</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="5535"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="5563"/>
+ <source>Recording is in 1080i/p High Definition</source>
+ <translation>Recording is in 1080i/p High Definition</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="5536"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="5564"/>
+ <source>Recording is in 720p High Definition</source>
+ <translation>Recording is in 720p High Definition</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="5537"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="5565"/>
+ <source>Recording is in High Definition</source>
+ <translation>Recording is in High Definition</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="5538"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="5566"/>
+ <source>Recording is Widescreen</source>
+ <translation>Recording is Widescreen</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="5539"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="5567"/>
+ <source>Recording is in HD using H.264 codec</source>
+- <translation>Recording is in HD using H.264 codec</translation>
++ <translation>Recording is in HD Using H.264 Codec</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="5541"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="5569"/>
+ <source>Recording has been watched</source>
+- <translation>Recording has been watched</translation>
++ <translation>Recording has been Watched</translation>
+ </message>
+ </context>
+ <context>
+@@ -7296,7 +7638,7 @@
+ <message>
+ <location filename="../html/htmlstrings.h" line="24"/>
+ <source>Package installed</source>
+- <translation>Package installed</translation>
++ <translation>Package Installed</translation>
+ </message>
+ <message>
+ <location filename="../html/htmlstrings.h" line="25"/>
+@@ -7747,7 +8089,7 @@
+ <message>
+ <location filename="../html/htmlstrings.h" line="163"/>
+ <source>Use Link-Local</source>
+- <translation>Use Link-Local</translation>
++ <translation>Use Link-local</translation>
+ </message>
+ <message>
+ <location filename="../html/htmlstrings.h" line="165"/>
+@@ -8060,7 +8402,7 @@
+ <message>
+ <location filename="../html/htmlstrings.h" line="240"/>
+ <source>Auto-Expire</source>
+- <translation>Auto-Expire</translation>
++ <translation>Auto-expire</translation>
+ </message>
+ <message>
+ <location filename="../html/htmlstrings.h" line="241"/>
+@@ -8080,7 +8422,7 @@
+ <message>
+ <location filename="../html/htmlstrings.h" line="245"/>
+ <source>Delete and Re-Record</source>
+- <translation>Delete and Re-Record</translation>
++ <translation>Delete and Re-record</translation>
+ </message>
+ <message>
+ <location filename="../html/htmlstrings.h" line="246"/>
+@@ -8165,7 +8507,7 @@
+ <message>
+ <location filename="../html/htmlstrings.h" line="272"/>
+ <source>Allow Auto-Expire</source>
+- <translation>Allow Auto-Expire</translation>
++ <translation>Allow Auto-expire</translation>
+ </message>
+ <message>
+ <location filename="../html/htmlstrings.h" line="275"/>
+@@ -8449,7 +8791,7 @@
+ <message>
+ <location filename="../html/htmlstrings.h" line="12"/>
+ <source>Loading ...</source>
+- <translation>Loading ...</translation>
++ <translation>Loading...</translation>
+ </message>
+ <message>
+ <location filename="../html/htmlstrings.h" line="14"/>
+@@ -8661,7 +9003,7 @@
+ <message>
+ <location filename="../libs/libmythtv/channelscan/iptvchannelfetcher.cpp" line="335"/>
+ <source>Encountered malformed channel</source>
+- <translation>Encountered malformed channel</translation>
++ <translation>Encountered Malformed Channel</translation>
+ </message>
+ </context>
+ <context>
+@@ -8691,34 +9033,34 @@
+ <context>
+ <name>ImportConfigurationGroup</name>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="1980"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="1986"/>
+ <source>A local file used to simulate a recording. Leave empty to use MythEvents to trigger an external program to import recording files.</source>
+ <translation>A local file used to simulate a recording. Leave empty to use MythEvents to trigger an external program to import recording files.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="1988"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="1994"/>
+ <source>File info</source>
+- <translation>File info</translation>
++ <translation>File Info</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="1991"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="1998"/>
+ <source>File size</source>
+- <translation>File size</translation>
++ <translation>File Size</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="2014"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="2022"/>
+ <source>%1 MB</source>
+ <translation>%1 MB</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="2017"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="2025"/>
+ <source>File not readable</source>
+- <translation>File not readable</translation>
++ <translation>File Not Readable</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="2021"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="2029"/>
+ <source>File %1 does not exist</source>
+- <translation>File %1 does not exist</translation>
++ <translation>File %1 Does Not Exist</translation>
+ </message>
+ </context>
+ <context>
+@@ -8726,27 +9068,27 @@
+ <message>
+ <location filename="../programs/mythtv-setup/importicons.cpp" line="94"/>
+ <source>Name of the icon file</source>
+- <translation>Name of the icon file</translation>
++ <translation>Name of the Icon File</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythtv-setup/importicons.cpp" line="95"/>
+ <source>List of possible icon files</source>
+- <translation>List of possible icon files</translation>
++ <translation>List of Possible Icon Files</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythtv-setup/importicons.cpp" line="96"/>
+ <source>Enter text here for the manual search</source>
+- <translation>Enter text here for the manual search</translation>
++ <translation>Enter search text:</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythtv-setup/importicons.cpp" line="97"/>
+ <source>Manually search for the text</source>
+- <translation>Manually search for the text</translation>
++ <translation>Manually Search for the Text</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythtv-setup/importicons.cpp" line="98"/>
+ <source>Skip this icon</source>
+- <translation>Skip this icon</translation>
++ <translation>Skip This Icon</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythtv-setup/importicons.cpp" line="139"/>
+@@ -8761,7 +9103,7 @@
+ <message>
+ <location filename="../programs/mythtv-setup/importicons.cpp" line="173"/>
+ <source>No matches found for &quot;%1&quot;</source>
+- <translation>No matches found for &quot;%1&quot;</translation>
++ <translation>No Matches Found for &quot;%1&quot;</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythtv-setup/importicons.cpp" line="411"/>
+@@ -8772,7 +9114,7 @@
+ <message>
+ <location filename="../programs/mythtv-setup/importicons.cpp" line="483"/>
+ <source>No matches found for %1</source>
+- <translation>No matches found for %1</translation>
++ <translation>No Matches Found for %1</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythtv-setup/importicons.cpp" line="218"/>
+@@ -8787,12 +9129,12 @@
+ <message>
+ <location filename="../programs/mythtv-setup/importicons.cpp" line="319"/>
+ <source>Initializing, please wait...</source>
+- <translation>Initializing, please wait...</translation>
++ <translation>Initializing, Please Wait...</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythtv-setup/importicons.cpp" line="393"/>
+ <source>Downloading, please wait...</source>
+- <translation>Downloading, please wait...</translation>
++ <translation>Downloading, Please Wait...</translation>
+ </message>
+ <message numerus="yes">
+ <location filename="../programs/mythtv-setup/importicons.cpp" line="423"/>
+@@ -8805,7 +9147,7 @@
+ <message>
+ <location filename="../programs/mythtv-setup/importicons.cpp" line="479"/>
+ <source>Choose icon for channel %1</source>
+- <translation>Choose icon for channel %1</translation>
++ <translation>Choose Icon for Channel %1</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythtv-setup/importicons.cpp" line="762"/>
+@@ -8826,17 +9168,17 @@
+ <context>
+ <name>ImportSettings</name>
+ <message>
+- <location filename="../programs/mythfrontend/galleryconfig.cpp" line="122"/>
++ <location filename="../programs/mythfrontend/galleryconfig.cpp" line="133"/>
+ <source>Import</source>
+ <translation>Import</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/galleryconfig.cpp" line="126"/>
++ <location filename="../programs/mythfrontend/galleryconfig.cpp" line="137"/>
+ <source>Import Command</source>
+ <translation>Import Command</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/galleryconfig.cpp" line="127"/>
++ <location filename="../programs/mythfrontend/galleryconfig.cpp" line="138"/>
+ <source>Command/script that can be run from the menu.
+ %TMPDIR% will be replaced by a new temporary directory, which the import dialog will show automatically. The directory will be removed when Gallery exits.</source>
+ <translation>Command/script that can be run from the menu.
+@@ -8877,7 +9219,7 @@
+ <message>
+ <location filename="../programs/mythfrontend/galleryinfo.cpp" line="168"/>
+ <source>Dir size</source>
+- <translation>Dir size</translation>
++ <translation>Dir Size</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/galleryinfo.cpp" line="176"/>
+@@ -8913,7 +9255,7 @@
+ <message>
+ <location filename="../programs/mythfrontend/galleryinfo.cpp" line="243"/>
+ <source>Last scan</source>
+- <translation>Last scan</translation>
++ <translation>Last Scan</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/galleryinfo.cpp" line="251"/>
+@@ -8923,7 +9265,7 @@
+ <message>
+ <location filename="../programs/mythfrontend/galleryinfo.cpp" line="257"/>
+ <source>File size</source>
+- <translation>File size</translation>
++ <translation>File Size</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/galleryinfo.cpp" line="258"/>
+@@ -8940,6 +9282,14 @@
+ </message>
+ </context>
+ <context>
++ <name>IpAddressSettings</name>
++ <message>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="131"/>
++ <source>Allow this backend to receive connections on any IP Address assigned to it. Recommended for most users for ease and reliability.</source>
++ <translation>Allow this backend to receive connections on any IP Address assigned to it. Recommended for most users for ease and reliability.</translation>
++ </message>
++</context>
++<context>
+ <name>JobQueue</name>
+ <message>
+ <location filename="../libs/libmythtv/jobqueue.cpp" line="1109"/>
+@@ -8954,7 +9304,7 @@
+ <message>
+ <location filename="../libs/libmythtv/jobqueue.cpp" line="1111"/>
+ <source>Look up Metadata</source>
+- <translation>Look up Metadata</translation>
++ <translation>Look Up Metadata</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/jobqueue.cpp" line="1121"/>
+@@ -8969,12 +9319,12 @@
+ <message>
+ <location filename="../libs/libmythtv/jobqueue.cpp" line="1678"/>
+ <source>Unable to retrieve program info from database</source>
+- <translation>Unable to retrieve program info from database</translation>
++ <translation>Unable to Retrieve Program Info from Database</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/jobqueue.cpp" line="1708"/>
+ <source>Program has been deleted</source>
+- <translation>Program has been deleted</translation>
++ <translation>Program has been Deleted</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/jobqueue.cpp" line="1733"/>
+@@ -8989,7 +9339,7 @@
+ <message>
+ <location filename="../libs/libmythtv/jobqueue.cpp" line="2028"/>
+ <source>Finished.</source>
+- <translation>Finished.</translation>
++ <translation>Finished</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/jobqueue.cpp" line="2040"/>
+@@ -9005,12 +9355,12 @@
+ <message>
+ <location filename="../libs/libmythtv/jobqueue.cpp" line="2096"/>
+ <source>Retry limit exceeded</source>
+- <translation>Retry limit exceeded</translation>
++ <translation>Retry Limit Exceeded</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/jobqueue.cpp" line="2148"/>
+ <source>Could not open new database connection for metadata lookup.</source>
+- <translation>Could not open new database connection for metadata lookup.</translation>
++ <translation>Could Not Open New Database Connection for Metadata Lookup</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/jobqueue.cpp" line="2155"/>
+@@ -9020,12 +9370,12 @@
+ <message>
+ <location filename="../libs/libmythtv/jobqueue.cpp" line="2181"/>
+ <source>Unable to find mythmetadatalookup</source>
+- <translation>Unable to find mythmetadatalookup</translation>
++ <translation>Unable to Find mythmetadatalookup</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/jobqueue.cpp" line="2205"/>
+ <source>Metadata Lookup Complete.</source>
+- <translation>Metadata Lookup Complete.</translation>
++ <translation>Metadata Lookup Complete</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/jobqueue.cpp" line="2211"/>
+@@ -9036,7 +9386,7 @@
+ <message>
+ <location filename="../libs/libmythtv/jobqueue.cpp" line="2273"/>
+ <source>Could not open new database connection for commercial detector.</source>
+- <translation>Could not open new database connection for commercial detector.</translation>
++ <translation>Could Not Open New Database Connection for Commercial Detector</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/jobqueue.cpp" line="2280"/>
+@@ -9046,7 +9396,7 @@
+ <message>
+ <location filename="../libs/libmythtv/jobqueue.cpp" line="2318"/>
+ <source>Unable to find mythcommflag</source>
+- <translation>Unable to find mythcommflag</translation>
++ <translation>Unable to Find mythcommflag</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/jobqueue.cpp" line="2440"/>
+@@ -9061,32 +9411,32 @@
+ <message>
+ <location filename="../libs/libmythtv/jobqueue.cpp" line="2464"/>
+ <source>Successfully Completed.</source>
+- <translation>Successfully Completed.</translation>
++ <translation>Successfully Completed</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/jobqueue.cpp" line="2187"/>
+ <location filename="../libs/libmythtv/jobqueue.cpp" line="2324"/>
+ <source>Aborted by user</source>
+- <translation>Aborted by user</translation>
++ <translation>Aborted by User</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/jobqueue.cpp" line="2193"/>
+ <location filename="../libs/libmythtv/jobqueue.cpp" line="2330"/>
+ <source>Unable to open file or init decoder</source>
+- <translation>Unable to open file or init decoder</translation>
++ <translation>Unable to Open File or Initialize Decoder</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/jobqueue.cpp" line="2199"/>
+ <location filename="../libs/libmythtv/jobqueue.cpp" line="2336"/>
+ <source>Failed with exit status %1</source>
+- <translation>Failed with exit status %1</translation>
++ <translation>Failed with Exit Status %1</translation>
+ </message>
+ <message numerus="yes">
+ <location filename="../libs/libmythtv/jobqueue.cpp" line="2342"/>
+ <source>%n commercial break(s)</source>
+ <translation>
+- <numerusform>%n commercial break</numerusform>
+- <numerusform>%n commercial breaks</numerusform>
++ <numerusform>%n Commercial Break</numerusform>
++ <numerusform>%n Commercial Breaks</numerusform>
+ </translation>
+ </message>
+ <message>
+@@ -9181,43 +9531,43 @@
+ <message>
+ <location filename="../programs/mythfrontend/keygrabber.cpp" line="49"/>
+ <source>Waiting for key press</source>
+- <translation>Waiting for key press</translation>
++ <translation>Waiting for Key Press</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/keygrabber.cpp" line="113"/>
+ <source>Pressed key not recognized</source>
+- <translation>Pressed key not recognized</translation>
++ <translation>Pressed Key Not Recognized</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/keygrabber.cpp" line="119"/>
+ <source>Add key &apos;%1&apos;?</source>
+- <translation>Add key &apos;%1&apos;?</translation>
++ <translation>Add Key &apos;%1&apos;?</translation>
+ </message>
+ </context>
+ <context>
+ <name>LCDProcClient</name>
+ <message>
+- <location filename="../programs/mythlcdserver/lcdprocclient.cpp" line="1933"/>
++ <location filename="../programs/mythlcdserver/lcdprocclient.cpp" line="1934"/>
+ <source>RECORDING</source>
+ <translation>RECORDING</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythlcdserver/lcdprocclient.cpp" line="2026"/>
++ <location filename="../programs/mythlcdserver/lcdprocclient.cpp" line="2027"/>
+ <source>R </source>
+ <translation>R </translation>
+ </message>
+ <message>
+- <location filename="../programs/mythlcdserver/lcdprocclient.cpp" line="2031"/>
++ <location filename="../programs/mythlcdserver/lcdprocclient.cpp" line="2032"/>
+ <source>E </source>
+ <translation>E </translation>
+ </message>
+ <message>
+- <location filename="../programs/mythlcdserver/lcdprocclient.cpp" line="2038"/>
++ <location filename="../programs/mythlcdserver/lcdprocclient.cpp" line="2039"/>
+ <source>C </source>
+ <translation>C </translation>
+ </message>
+ <message>
+- <location filename="../programs/mythlcdserver/lcdprocclient.cpp" line="2064"/>
++ <location filename="../programs/mythlcdserver/lcdprocclient.cpp" line="2065"/>
+ <source>RECORDING|</source>
+ <translation>RECORDING|</translation>
+ </message>
+@@ -9227,170 +9577,169 @@
+ <message>
+ <location filename="../libs/libmyth/langsettings.cpp" line="76"/>
+ <source>Preferred language</source>
+- <translation>Preferred language</translation>
++ <translation>Preferred Language</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmyth/langsettings.cpp" line="77"/>
+ <source>Your location</source>
+- <translation>Your location</translation>
++ <translation>Your Location</translation>
+ </message>
+ </context>
+ <context>
+ <name>LcdSettings</name>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="3335"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="3325"/>
+ <source>Display time</source>
+- <translation>Display time</translation>
++ <translation>Display Time</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="3337"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="3327"/>
+ <source>Display current time on idle LCD display.</source>
+ <translation>Display current time on idle LCD display.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="3349"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="3339"/>
+ <source>Display recording status</source>
+- <translation>Display recording status</translation>
++ <translation>Display Recording Status</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="3351"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="3341"/>
+ <source>Display current recordings information on LCD display.</source>
+ <translation>Display current recordings information on LCD display.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="3363"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="3353"/>
+ <source>Display menus</source>
+- <translation>Display menus</translation>
++ <translation>Display Menus</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="3365"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="3355"/>
+ <source>Display selected menu on LCD display. </source>
+ <translation>Display selected menu on LCD display. </translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="3376"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="3366"/>
+ <source>Menu pop-up time</source>
+- <translation>Menu pop-up time</translation>
++ <translation>Menu Pop-up Time</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="3378"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="3368"/>
+ <source>How many seconds the menu will remain visible after navigation.</source>
+ <translation>How many seconds the menu will remain visible after navigation.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="3390"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="3380"/>
+ <source>Display music artist and title</source>
+ <translation>Display music artist and title</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="3392"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="3382"/>
+ <source>Display playing artist and song title in MythMusic on LCD display.</source>
+ <translation>Display playing artist and song title in MythMusic on LCD display.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="3404"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="3394"/>
+ <source>Items</source>
+ <translation>Items</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="3406"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="3396"/>
+ <source>Artist - Title</source>
+ <translation>Artist - Title</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="3407"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="3397"/>
+ <source>Artist [Album] Title</source>
+ <translation>Artist [Album] Title</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="3410"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="3400"/>
+ <source>Which items to show when playing music.</source>
+ <translation>Which items to show when playing music.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="3419"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="3409"/>
+ <source>Display channel information</source>
+- <translation>Display channel information</translation>
++ <translation>Display Channel Information</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="3421"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="3411"/>
+ <source>Display tuned channel information on LCD display.</source>
+ <translation>Display tuned channel information on LCD display.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="3433"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="3423"/>
+ <source>Display volume information</source>
+- <translation>Display volume information</translation>
++ <translation>Display Volume Information</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="3435"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="3425"/>
+ <source>Display volume level information on LCD display.</source>
+ <translation>Display volume level information on LCD display.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="3447"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="3437"/>
+ <source>Display generic information</source>
+- <translation>Display generic information</translation>
++ <translation>Display Generic Information</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="3449"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="3439"/>
+ <source>Display generic information on LCD display.</source>
+ <translation>Display generic information on LCD display.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="3460"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="3450"/>
+ <source>Backlight always on</source>
+- <translation>Backlight always on</translation>
++ <translation>Backlight Always On</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="3462"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="3452"/>
+ <source>Turn on the backlight permanently on the LCD display.</source>
+ <translation>Turn on the backlight permanently on the LCD display.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="3473"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="3463"/>
+ <source>Heartbeat always on</source>
+- <translation>Heartbeat always on</translation>
++ <translation>Heartbeat Always On</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="3475"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="3465"/>
+ <source>Turn on the LCD heartbeat.</source>
+ <translation>Turn on the LCD heartbeat.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="3486"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="3476"/>
+ <source>Display large clock</source>
+- <translation>Display large clock</translation>
++ <translation>Display Large Clock</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="3488"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="3478"/>
+ <source>On multiline displays try and display the time as large as possible.</source>
+ <translation>On multiline displays try and display the time as large as possible.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="3500"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="3490"/>
+ <source>LCD key order</source>
+- <translation>LCD key order</translation>
++ <translation>LCD Key Order</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="3505"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="3495"/>
+ <source>Enter the 6 Keypad Return Codes for your LCD keypad in the order in which you want the functions up/down/left/right/yes/no to operate. (See lcdproc/server/drivers/hd44780.c/keyMapMatrix[] or the matrix for your display)</source>
+ <translation>Enter the 6 Keypad Return Codes for your LCD keypad in the order in which you want the functions up/down/left/right/yes/no to operate. (See lcdproc/server/drivers/hd44780.c/keyMapMatrix[] or the matrix for your display)</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="3517"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="3507"/>
+ <source>Enable LCD device</source>
+- <translation>Enable LCD device</translation>
++ <translation>Enable LCD Device</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="3519"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="3509"/>
+ <source>Use an LCD display to view MythTV status information.</source>
+ <translation>Use an LCD display to view MythTV status information.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="3532"/>
+ <source>LCD device display</source>
+- <translation>LCD device display</translation>
++ <translation type="vanished">LCD device display</translation>
+ </message>
+ </context>
+ <context>
+@@ -9405,47 +9754,46 @@
+ <location filename="../libs/libmythmetadata/lyricsdata.cpp" line="95"/>
+ <location filename="../libs/libmythmetadata/lyricsdata.cpp" line="230"/>
+ <source>No lyrics found for this track</source>
+- <translation>No lyrics found for this track</translation>
++ <translation>No Lyrics Found for This Track</translation>
+ </message>
+ </context>
+ <context>
+ <name>MPEGConfigurationGroup</name>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="2513"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="2454"/>
+ <source>Probed info</source>
+- <translation>Probed info</translation>
++ <translation>Probed Info</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="2528"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="2470"/>
+ <source>Failed to open</source>
+- <translation>Failed to open</translation>
++ <translation>Failed to Open</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="2535"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="2477"/>
+ <source>Failed to probe</source>
+- <translation>Failed to probe</translation>
++ <translation>Failed to Probe</translation>
+ </message>
+ </context>
+ <context>
+ <name>MacDesktopSettings</name>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="3799"/>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="3830"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="3706"/>
+ <source>Video on the desktop</source>
+- <translation>Video on the desktop</translation>
++ <translation>Video on the Desktop</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="3803"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="3710"/>
+ <source>If enabled, video will be displayed on the desktop, behind the Finder icons. Only valid when &quot;Use GUI size for TV playback&quot; and &quot;Run the frontend in a window&quot; are checked.</source>
+ <translation>If enabled, video will be displayed on the desktop, behind the Finder icons. Only valid when &quot;Use GUI size for TV playback&quot; and &quot;Run the frontend in a window&quot; are checked.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="3817"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="3724"/>
+ <source>Frames to skip</source>
+- <translation>Frames to skip</translation>
++ <translation>Frames to Skip</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="3821"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="3728"/>
+ <source>Video on the desktop will skip this many frames for each frame drawn. Set to 0 to show every frame.</source>
+ <translation>Video on the desktop will skip this many frames for each frame drawn. Set to 0 to show every frame.</translation>
+ </message>
+@@ -9453,23 +9801,22 @@
+ <context>
+ <name>MacDockSettings</name>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="3755"/>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="3783"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="3676"/>
+ <source>Video in the dock</source>
+- <translation>Video in the dock</translation>
++ <translation>Video in the Dock</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="3759"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="3680"/>
+ <source>If enabled, video will be displayed in the application&apos;s dock icon. Only valid when &quot;Use GUI size for TV playback&quot; and &quot;Run the frontend in a window&quot; are checked.</source>
+ <translation>If enabled, video will be displayed in the application&apos;s dock icon. Only valid when &quot;Use GUI size for TV playback&quot; and &quot;Run the frontend in a window&quot; are checked.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="3771"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="3692"/>
+ <source>Frames to skip</source>
+- <translation>Frames to skip</translation>
++ <translation>Frames to Skip</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="3775"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="3696"/>
+ <source>Video in the dock icon will skip this many frames for each frame drawn. Set to 0 to show every frame.</source>
+ <translation>Video in the dock icon will skip this many frames for each frame drawn. Set to 0 to show every frame.</translation>
+ </message>
+@@ -9477,33 +9824,32 @@
+ <context>
+ <name>MacFloatSettings</name>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="3690"/>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="3734"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="3630"/>
+ <source>Video in floating window</source>
+- <translation>Video in floating window</translation>
++ <translation>Video in Floating Window</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="3694"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="3634"/>
+ <source>If enabled, video will be displayed in a floating window. Only valid when &quot;Use GUI size for TV playback&quot; and &quot;Run the frontend in a window&quot; are checked.</source>
+ <translation>If enabled, video will be displayed in a floating window. Only valid when &quot;Use GUI size for TV playback&quot; and &quot;Run the frontend in a window&quot; are checked.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="3706"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="3646"/>
+ <source>Frames to skip</source>
+- <translation>Frames to skip</translation>
++ <translation>Frames to Skip</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="3710"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="3650"/>
+ <source>Video in the floating window will skip this many frames for each frame drawn. Set to 0 to show every frame.</source>
+ <translation>Video in the floating window will skip this many frames for each frame drawn. Set to 0 to show every frame.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="3721"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="3661"/>
+ <source>Opacity</source>
+ <translation>Opacity</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="3725"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="3665"/>
+ <source>The opacity of the floating window. Set to 100 for completely opaque, set to 0 for completely transparent.</source>
+ <translation>The opacity of the floating window. Set to 100 for completely opaque, set to 0 for completely transparent.</translation>
+ </message>
+@@ -9511,33 +9857,32 @@
+ <context>
+ <name>MacMainSettings</name>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="3625"/>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="3670"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="3583"/>
+ <source>Video in main window</source>
+- <translation>Video in main window</translation>
++ <translation>Video in Main Window</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="3629"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="3587"/>
+ <source>If enabled, video will be displayed in the main GUI window. Disable this when you only want video on the desktop or in a floating window. Only valid when &quot;Use GUI size for TV playback&quot; and &quot;Run the frontend in a window&quot; are checked.</source>
+ <translation>If enabled, video will be displayed in the main GUI window. Disable this when you only want video on the desktop or in a floating window. Only valid when &quot;Use GUI size for TV playback&quot; and &quot;Run the frontend in a window&quot; are checked.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="3643"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="3601"/>
+ <source>Frames to skip</source>
+- <translation>Frames to skip</translation>
++ <translation>Frames to Skip</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="3647"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="3605"/>
+ <source>Video in the main window will skip this many frames for each frame drawn. Set to 0 to show every frame.</source>
+ <translation>Video in the main window will skip this many frames for each frame drawn. Set to 0 to show every frame.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="3658"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="3616"/>
+ <source>Opacity</source>
+ <translation>Opacity</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="3662"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="3620"/>
+ <source>The opacity of the main window. Set to 100 for completely opaque, set to 0 for completely transparent.</source>
+ <translation>The opacity of the main window. Set to 100 for completely opaque, set to 0 for completely transparent.</translation>
+ </message>
+@@ -9545,252 +9890,269 @@
+ <context>
+ <name>MainGeneralSettings</name>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="1834"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1810"/>
+ <source>Use line edit virtual keyboards</source>
+- <translation>Use line edit virtual keyboards</translation>
++ <translation>Use Line Edit Virtual Keyboards</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="1838"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1814"/>
+ <source>If enabled, you can use a virtual keyboard in MythTV&apos;s line edit boxes. To use, hit SELECT (Enter or Space) while a line edit is in focus.</source>
+ <translation>If enabled, you can use a virtual keyboard in MythTV&apos;s line edit boxes. To use, hit SELECT (Enter or Space) while a line edit is in focus.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="1850"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1826"/>
+ <source>Idle time before entering standby mode (minutes)</source>
+- <translation>Idle time before entering standby mode (minutes)</translation>
++ <translation>Idle Time Before Entering Standby Mode (minutes)</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="1855"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1831"/>
+ <source>Number of minutes to wait when the frontend is idle before entering standby mode. Standby mode allows the backend to power down if configured to do so. Any remote or mouse input will cause the countdown to start again and/or exit idle mode. Video playback suspends the countdown. A value of zero prevents the frontend automatically entering standby.</source>
+ <translation>Number of minutes to wait when the frontend is idle before entering standby mode. Standby mode allows the backend to power down if configured to do so. Any remote or mouse input will cause the countdown to start again and/or exit idle mode. Video playback suspends the countdown. A value of zero prevents the frontend automatically entering standby.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="1874"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1850"/>
+ <source>Customize exit menu options</source>
+- <translation>Customize exit menu options</translation>
++ <translation>Customize Exit Menu Options</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="1876"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1852"/>
+ <source>Default</source>
+ <translation>Default</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="1877"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1853"/>
+ <source>Show quit</source>
+- <translation>Show quit</translation>
++ <translation>Show Quit</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="1878"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1854"/>
+ <source>Show quit and shutdown</source>
+- <translation>Show quit and shutdown</translation>
++ <translation>Show Quit and Shutdown</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="1879"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1855"/>
+ <source>Show quit, reboot and shutdown</source>
+- <translation>Show quit, reboot and shutdown</translation>
++ <translation>Show Quit, Reboot and Shutdown</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="1881"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1857"/>
+ <source>Show shutdown</source>
+- <translation>Show shutdown</translation>
++ <translation>Show Shutdown</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="1882"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1858"/>
+ <source>Show reboot</source>
+- <translation>Show reboot</translation>
++ <translation>Show Reboot</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="1883"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1859"/>
+ <source>Show reboot and shutdown</source>
+- <translation>Show reboot and shutdown</translation>
++ <translation>Show Reboot and Shutdown</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="1884"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1860"/>
+ <source>Show standby</source>
+- <translation>Show standby</translation>
++ <translation>Show Standby</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="1887"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1863"/>
+ <source>By default, only remote frontends are shown the shutdown option on the exit menu. Here you can force specific shutdown and reboot options to be displayed.</source>
+ <translation>By default, only remote frontends are shown the shutdown option on the exit menu. Here you can force specific shutdown and reboot options to be displayed.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="1898"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1874"/>
+ <source>Reboot command</source>
+- <translation>Reboot command</translation>
++ <translation>Reboot Command</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="1902"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1878"/>
+ <source>Optional. Script to run if you select the reboot option from the exit menu, if the option is displayed. You must configure an exit key to display the exit menu.</source>
+ <translation>Optional. Script to run if you select the reboot option from the exit menu, if the option is displayed. You must configure an exit key to display the exit menu.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="1915"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1891"/>
+ <source>Halt command</source>
+- <translation>Halt command</translation>
++ <translation>Halt Command</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="1919"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1895"/>
+ <source>Optional. Script to run if you select the shutdown option from the exit menu, if the option is displayed. You must configure an exit key to display the exit menu.</source>
+ <translation>Optional. Script to run if you select the shutdown option from the exit menu, if the option is displayed. You must configure an exit key to display the exit menu.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="1932"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1908"/>
+ <source>LIRC daemon socket</source>
+- <translation>LIRC daemon socket</translation>
++ <translation>LIRC Daemon Socket</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="1942"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1918"/>
+ <source>UNIX socket or IP address[:port] to connect in order to communicate with the LIRC Daemon.</source>
+ <translation>UNIX socket or IP address[:port] to connect in order to communicate with the LIRC Daemon.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="1954"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1930"/>
+ <source>Screen shot path</source>
+- <translation>Screen shot path</translation>
++ <translation>Screenshot Path</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="1958"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1934"/>
+ <source>Path to screenshot storage location. Should be writable by the frontend</source>
+ <translation>Path to screenshot storage location. Should be writable by the frontend</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="1969"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1945"/>
+ <source>Setup PIN code</source>
+- <translation>Setup PIN code</translation>
++ <translation>Setup PIN Code</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="1971"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1947"/>
+ <source>This PIN is used to control access to the setup menus. If you want to use this feature, then setting the value to all numbers will make your life much easier. Set it to blank to disable. If enabled, you will not be able to return to this screen and reset the Setup PIN without first entering the current PIN.</source>
+ <translation>This PIN is used to control access to the setup menus. If you want to use this feature, then setting the value to all numbers will make your life much easier. Set it to blank to disable. If enabled, you will not be able to return to this screen and reset the Setup PIN without first entering the current PIN.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="3022"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="3011"/>
+ <source>Enable Network Remote Control interface</source>
+- <translation>Enable Network Remote Control interface</translation>
++ <translation>Enable Network Remote Control Interface</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="3025"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="3014"/>
+ <source>This enables support for controlling MythFrontend over the network.</source>
+ <translation>This enables support for controlling MythFrontend over the network.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="3038"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="3027"/>
+ <source>Network Remote Control port</source>
+- <translation>Network Remote Control port</translation>
++ <translation>Network Remote Control Port</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="3042"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="3031"/>
+ <source>This specifies what port the Network Remote Control interface will listen on for new connections.</source>
+ <translation>This specifies what port the Network Remote Control interface will listen on for new connections.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="3053"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="3042"/>
+ <source>UDP notify port</source>
+- <translation>UDP notify port</translation>
++ <translation>UDP Notify Port</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="3057"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="3046"/>
+ <source>MythTV will listen for connections from the &quot;mythutil&quot; program on this port.</source>
+ <translation>MythTV will listen for connections from the &quot;mythutil&quot; program on this port.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="3070"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="3059"/>
+ <source>Enable AirPlay</source>
+ <translation>Enable AirPlay</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="3072"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="3061"/>
+ <source>AirPlay lets you wirelessly view content on your TV from your iPhone, iPad, iPod Touch, or iTunes on your computer.</source>
+ <translation>AirPlay lets you wirelessly view content on your TV from your iPhone, iPad, iPod Touch, or iTunes on your computer.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="3086"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="3075"/>
+ <source>Only support AirTunes (no video)</source>
+- <translation>Only support AirTunes (no video)</translation>
++ <translation>Only Support AirTunes (no video)</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="3088"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="3077"/>
+ <source>Only stream audio from your iPhone, iPad, iPod Touch, or iTunes on your computer</source>
+- <translation>Only stream audio from your iPhone, iPad, iPod Touch, or iTunes on your computer</translation>
++ <translation>Only stream audio from your iPhone, iPad, iPod Touch, or iTunes on your computer.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="3101"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="3090"/>
+ <source>Require password</source>
+- <translation>Require password</translation>
++ <translation>Require Password</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="3105"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="3094"/>
+ <source>Require a password to use AirPlay. Your iPhone, iPad, iPod Touch, or iTunes on your computer will prompt you when required</source>
+ <translation>Require a password to use AirPlay. Your iPhone, iPad, iPod Touch, or iTunes on your computer will prompt you when required</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="3118"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="3105"/>
++ <source>Password</source>
++ <translation>Password</translation>
++ </message>
++ <message>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="3109"/>
+ <source>Your iPhone, iPad, iPod Touch, or iTunes on your computer will prompt you for this password when required</source>
+- <translation>Your iPhone, iPad, iPod Touch, or iTunes on your computer will prompt you for this password when required</translation>
++ <translation>Your iPhone, iPad, iPod Touch, or iTunes on your computer will prompt you for this password when required.</translation>
++ </message>
++ <message>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="3120"/>
++ <source>AirPlay - Password</source>
++ <translation>AirPlay - Password</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="3140"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="3131"/>
+ <source>AirPlay full screen playback</source>
+- <translation>AirPlay full screen playback</translation>
++ <translation>AirPlay Fullscreen Playback</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="3144"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="3135"/>
+ <source>During music playback, displays album cover and various media information in full screen mode</source>
+ <translation>During music playback, displays album cover and various media information in full screen mode</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="3154"/>
+ <source>All AirPlay settings take effect when you restart MythFrontend.</source>
+- <translation>All AirPlay settings take effect when you restart MythFrontend.</translation>
++ <translation type="vanished">All AirPlay settings take effect when you restart MythFrontend.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="3165"/>
+ <source>AirTunes RSA key couldn&apos;t be loaded. Check http://www.mythtv.org/wiki/AirTunes/AirPlay. Last Error: %1</source>
+- <translation>AirTunes RSA key couldn&apos;t be loaded. Check http://www.mythtv.org/wiki/AirTunes/AirPlay. Last Error: %1</translation>
++ <translation type="vanished">AirTunes RSA key couldn&apos;t be loaded. Check http://www.mythtv.org/wiki/AirTunes/AirPlay. Last Error: %1</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="3172"/>
+ <source>AirTunes RSA key successfully loaded.</source>
+- <translation>AirTunes RSA key successfully loaded.</translation>
++ <translation type="vanished">AirTunes RSA key successfully loaded.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="3200"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="3191"/>
+ <source>Ignore devices</source>
+- <translation>Ignore devices</translation>
++ <translation>Ignore Devices</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="3204"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="3195"/>
+ <source>If there are any devices that you do not want to be monitored, list them here with commas in-between. The plugins will ignore them. Requires restart.</source>
+- <translation>If there are any devices that you do not want to be monitored, list them here with commas in-between. The plugins will ignore them. Requires restart.</translation>
++ <translation>If there are any devices that you do not want to be monitored, list them here with commas in between. The plugins will ignore them. Requires restart.</translation>
++ </message>
++ <message>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="3308"/>
++ <source>This enables support for monitoring your CD/DVD drives for new disks and launching the proper plugin to handle them. Requires restart.</source>
++ <translation>This enables support for monitoring your CD/DVD drives for new disks and launching the proper plugin to handle them. Requires restart.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="3848"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="3791"/>
++ <source>Main Settings</source>
++ <translation>Main Settings</translation>
++ </message>
++ <message>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="3796"/>
+ <source>Settings Access</source>
+ <translation>Settings Access</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="3854"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="3801"/>
+ <source>General</source>
+ <translation>General</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="3861"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="3306"/>
+ <source>Media Monitor</source>
+ <translation>Media Monitor</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="3867"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="3811"/>
+ <source>Remote Control</source>
+ <translation>Remote Control</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="3877"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="3820"/>
+ <source>AirPlay Settings</source>
+ <translation>AirPlay Settings</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="3889"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="3752"/>
+ <source>Shutdown/Reboot Settings</source>
+ <translation>Shutdown/Reboot Settings</translation>
+ </message>
+@@ -9800,135 +10162,132 @@
+ <message>
+ <location filename="../programs/mythfrontend/manualschedule.cpp" line="93"/>
+ <source>5 weekdays if daily</source>
+- <translation>5 weekdays if daily</translation>
++ <translation>5 Weekdays if Daily</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/manualschedule.cpp" line="95"/>
+ <source>7 days per week if daily</source>
+- <translation>7 days per week if daily</translation>
++ <translation>7 Days Per Week if Daily</translation>
+ </message>
+ </context>
+ <context>
+ <name>MediaMonitor</name>
+ <message>
+- <location filename="../libs/libmyth/mythmediamonitor.cpp" line="197"/>
+- <location filename="../libs/libmyth/mythmediamonitor.cpp" line="673"/>
++ <location filename="../libs/libmyth/mythmediamonitor.cpp" line="212"/>
+ <source>Cancel</source>
+ <translation>Cancel</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/mythmediamonitor.cpp" line="230"/>
++ <location filename="../libs/libmyth/mythmediamonitor.cpp" line="245"/>
+ <source>Select removable media to eject or insert</source>
+- <translation>Select removable media to eject or insert</translation>
++ <translation>Select Removable Media to Eject or Insert</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/mythmediamonitor.cpp" line="239"/>
++ <location filename="../libs/libmyth/mythmediamonitor.cpp" line="254"/>
+ <source>No devices to eject</source>
+- <translation>No devices to eject</translation>
++ <translation>No Devices to Eject</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/mythmediamonitor.cpp" line="284"/>
++ <location filename="../libs/libmyth/mythmediamonitor.cpp" line="299"/>
+ <source>Failed to unmount %1</source>
+- <translation>Failed to unmount %1</translation>
++ <translation>Failed to Unmount %1</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/mythmediamonitor.cpp" line="301"/>
++ <location filename="../libs/libmyth/mythmediamonitor.cpp" line="316"/>
+ <source>You may safely remove %1</source>
+- <translation>You may safely remove %1</translation>
++ <translation>You May Safely Remove %1</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/mythmediamonitor.cpp" line="305"/>
++ <location filename="../libs/libmyth/mythmediamonitor.cpp" line="320"/>
+ <source>Failed to eject %1</source>
+- <translation>Failed to eject %1</translation>
++ <translation>Failed to Eject %1</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/mythmediamonitor.cpp" line="679"/>
+ <source>Media Handler Selection</source>
+- <translation>Media Handler Selection</translation>
++ <translation type="vanished">Media Handler Selection</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/mythmediamonitor.cpp" line="680"/>
+ <source>The new media contains mixed content that can be rendered in different ways. Select your preferred method.</source>
+- <translation>The new media contains mixed content that can be rendered in different ways. Select your preferred method.</translation>
++ <translation type="vanished">The new media contains mixed content that can be rendered in different ways. Select your preferred method.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/mythmediamonitor.cpp" line="872"/>
++ <location filename="../libs/libmyth/mythmediamonitor.cpp" line="864"/>
+ <source>Select a CD drive</source>
+- <translation>Select a CD drive</translation>
++ <translation>Select a CD Drive</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/mythmediamonitor.cpp" line="881"/>
++ <location filename="../libs/libmyth/mythmediamonitor.cpp" line="873"/>
+ <source>Select a VCD drive</source>
+- <translation>Select a VCD drive</translation>
++ <translation>Select a VCD Drive</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/mythmediamonitor.cpp" line="890"/>
++ <location filename="../libs/libmyth/mythmediamonitor.cpp" line="882"/>
+ <source>Select a DVD drive</source>
+- <translation>Select a DVD drive</translation>
++ <translation>Select a DVD Drive</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/mythmediamonitor.cpp" line="899"/>
++ <location filename="../libs/libmyth/mythmediamonitor.cpp" line="891"/>
+ <source>Select a CD writer</source>
+- <translation>Select a CD writer</translation>
++ <translation>Select a CD Writer</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/mythmediamonitor.cpp" line="911"/>
++ <location filename="../libs/libmyth/mythmediamonitor.cpp" line="903"/>
+ <source>Select a DVD writer</source>
+- <translation>Select a DVD writer</translation>
++ <translation>Select a DVD Writer</translation>
+ </message>
+ </context>
+ <context>
+ <name>MetadataOptions</name>
+ <message>
+- <location filename="../programs/mythfrontend/scheduleeditor.cpp" line="1420"/>
++ <location filename="../programs/mythfrontend/scheduleeditor.cpp" line="1421"/>
+ <source>Trying to manually find this recording online...</source>
+- <translation>Trying to manually find this recording online...</translation>
++ <translation>Trying to Manually Find This Recording Online...</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/scheduleeditor.cpp" line="1437"/>
++ <location filename="../programs/mythfrontend/scheduleeditor.cpp" line="1438"/>
+ <source>Downloading selected artwork...</source>
+- <translation>Downloading selected artwork...</translation>
++ <translation>Downloading Selected Artwork...</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/scheduleeditor.cpp" line="1585"/>
++ <location filename="../programs/mythfrontend/scheduleeditor.cpp" line="1586"/>
+ <source>You must set a reference number on this rule to set artwork. For items without a metadata source, you can set any unique value.</source>
+- <translation>You must set a reference number on this rule to set artwork. For items without a metadata source, you can set any unique value.</translation>
++ <translation>You must set a reference number on this rule to set artwork. For items without a metadata source, you can set any unique value.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/scheduleeditor.cpp" line="1638"/>
++ <location filename="../programs/mythfrontend/scheduleeditor.cpp" line="1639"/>
+ <source>Searching for available artwork...</source>
+- <translation>Searching for available artwork...</translation>
++ <translation>Searching for Available Artwork...</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/scheduleeditor.cpp" line="1664"/>
++ <location filename="../programs/mythfrontend/scheduleeditor.cpp" line="1665"/>
+ <source>No image found</source>
+- <translation>No image found</translation>
++ <translation>No Image Found</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/scheduleeditor.cpp" line="1664"/>
+- <location filename="../programs/mythfrontend/scheduleeditor.cpp" line="1914"/>
++ <location filename="../programs/mythfrontend/scheduleeditor.cpp" line="1665"/>
++ <location filename="../programs/mythfrontend/scheduleeditor.cpp" line="1915"/>
+ <source>Schedule Editor</source>
+ <translation>Schedule Editor</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/scheduleeditor.cpp" line="1833"/>
++ <location filename="../programs/mythfrontend/scheduleeditor.cpp" line="1834"/>
+ <source>No match found for this recording. You can try entering a TVDB/TMDB number, season, and episode manually.</source>
+ <translation>No match found for this recording. You can try entering a TVDB/TMDB number, season, and episode manually.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/scheduleeditor.cpp" line="1877"/>
++ <location filename="../programs/mythfrontend/scheduleeditor.cpp" line="1878"/>
+ <source>This number, season, and episode combination does not appear to be valid (or the site may be down). Check your information and try again.</source>
+ <translation>This number, season, and episode combination does not appear to be valid (or the site may be down). Check your information and try again.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/scheduleeditor.cpp" line="1913"/>
++ <location filename="../programs/mythfrontend/scheduleeditor.cpp" line="1914"/>
+ <source>Failed to retrieve image(s)</source>
+- <translation>Failed to retrieve image(s)</translation>
++ <translation>Failed to Retrieve Image(s)</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/scheduleeditor.cpp" line="1915"/>
++ <location filename="../programs/mythfrontend/scheduleeditor.cpp" line="1916"/>
+ <source>Check logs</source>
+- <translation>Check logs</translation>
++ <translation>Check Logs</translation>
+ </message>
+ </context>
+ <context>
+@@ -9961,12 +10320,12 @@
+ <message>
+ <location filename="../programs/mythfrontend/videometadatasettings.cpp" line="114"/>
+ <source>Exit without saving settings</source>
+- <translation>Exit without saving settings</translation>
++ <translation>Exit Without Saving</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/videometadatasettings.cpp" line="115"/>
+ <source>Save settings and Exit</source>
+- <translation>Save settings and Exit</translation>
++ <translation>Save and Exit</translation>
+ </message>
+ </context>
+ <context>
+@@ -10014,7 +10373,7 @@
+ <message>
+ <location filename="../libs/libmythtv/AirPlay/mythairplayserver.cpp" line="593"/>
+ <source>Client disconnected</source>
+- <translation>Client disconnected</translation>
++ <translation>Client Disconnected</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/AirPlay/mythairplayserver.cpp" line="593"/>
+@@ -10050,1505 +10409,1509 @@
+ <context>
+ <name>MythControls</name>
+ <message>
+- <location filename="../libs/libmythui/mythmainwindow.cpp" line="1269"/>
++ <location filename="../libs/libmythui/mythmainwindow.cpp" line="1274"/>
+ <source>Page Up</source>
+ <translation>Page Up</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythui/mythmainwindow.cpp" line="1271"/>
++ <location filename="../libs/libmythui/mythmainwindow.cpp" line="1276"/>
+ <source>Page Down</source>
+ <translation>Page Down</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="541"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="543"/>
+ <source>Play Program</source>
+ <translation>Play Program</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="543"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="545"/>
+ <source>Stop Program</source>
+ <translation>Stop Program</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="545"/>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="653"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="547"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="655"/>
+ <source>Toggle recording status of current program</source>
+- <translation>Toggle recording status of current program</translation>
++ <translation>Toggle Recording Status of Current Program</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="547"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="549"/>
+ <source>Page the program guide back one day</source>
+- <translation>Page the program guide back one day</translation>
++ <translation>Page the Program Guide Back One Day</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="549"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="551"/>
+ <source>Page the program guide forward one day</source>
+- <translation>Page the program guide forward one day</translation>
++ <translation>Page the Program Guide Forward One Day</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="551"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="553"/>
+ <source>Page the program guide left</source>
+- <translation>Page the program guide left</translation>
++ <translation>Page the Program Guide Left</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="553"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="555"/>
+ <source>Page the program guide right</source>
+- <translation>Page the program guide right</translation>
++ <translation>Page the Program Guide Right</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="555"/>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="655"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="557"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="657"/>
+ <source>Toggle the current channel as a favorite</source>
+- <translation>Toggle the current channel as a favorite</translation>
++ <translation>Toggle the Current Channel as a Favorite</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="557"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="559"/>
+ <source>Reverse the channel order in the program guide</source>
+- <translation>Reverse the channel order in the program guide</translation>
++ <translation>Reverse the Channel Order in the Program Guide</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="559"/>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="813"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="561"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="815"/>
+ <source>Show the Program Guide</source>
+ <translation>Show the Program Guide</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="561"/>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="815"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="563"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="817"/>
+ <source>Show the Program Finder</source>
+ <translation>Show the Program Finder</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="563"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="565"/>
+ <source>Show the Channel Search</source>
+ <translation>Show the Channel Search</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="565"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="567"/>
+ <source>Cycle through channel groups and all channels in the program guide.</source>
+- <translation>Cycle through channel groups and all channels in the program guide.</translation>
+- </message>
+- <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="568"/>
+- <source>Switch channels without exiting guide in Live TV mode.</source>
+- <translation>Switch channels without exiting guide in Live TV mode.</translation>
++ <translation>Cycle Through Channel Groups and All Channels in the Program Guide</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/tv_play.cpp" line="570"/>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="657"/>
+- <source>Volume down</source>
+- <translation>Volume down</translation>
++ <source>Switch channels without exiting guide in Live TV mode.</source>
++ <translation>Switch Channels Without Exiting Guide in Live TV Mode</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/tv_play.cpp" line="572"/>
+ <location filename="../libs/libmythtv/tv_play.cpp" line="659"/>
+- <source>Volume up</source>
+- <translation>Volume up</translation>
++ <source>Volume down</source>
++ <translation>Volume Down</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/tv_play.cpp" line="574"/>
+ <location filename="../libs/libmythtv/tv_play.cpp" line="661"/>
++ <source>Volume up</source>
++ <translation>Volume Up</translation>
++ </message>
++ <message>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="576"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="663"/>
+ <source>Mute</source>
+ <translation>Mute</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="576"/>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="665"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="578"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="667"/>
+ <source>Cycle audio channels</source>
+- <translation>Cycle audio channels</translation>
++ <translation>Cycle Audio Channels</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="578"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="580"/>
+ <source>Increase program or channel rank</source>
+- <translation>Increase program or channel rank</translation>
++ <translation>Increase Program or Channel Rank</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="580"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="582"/>
+ <source>Decrease program or channel rank</source>
+- <translation>Decrease program or channel rank</translation>
++ <translation>Decrease Program or Channel Rank</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="582"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="584"/>
+ <source>List upcoming episodes</source>
+- <translation>List upcoming episodes</translation>
++ <translation>List Upcoming Episodes</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="584"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="586"/>
+ <source>List scheduled upcoming episodes</source>
+- <translation>List scheduled upcoming episodes</translation>
++ <translation>List Scheduled Upcoming Episodes</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="586"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="588"/>
+ <source>List previously recorded episodes</source>
+- <translation>List previously recorded episodes</translation>
++ <translation>List Previously Recorded Episodes</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="588"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="590"/>
+ <source>Show details</source>
+- <translation>Show details</translation>
++ <translation>Show Details</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="592"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="594"/>
+ <source>Edit Custom Record Rule</source>
+ <translation>Edit Custom Record Rule</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="594"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="596"/>
+ <source>Change Recording Group</source>
+ <translation>Change Recording Group</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="596"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="598"/>
+ <source>Change Group View</source>
+ <translation>Change Group View</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="598"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="600"/>
+ <source>List recorded episodes</source>
+- <translation>List recorded episodes</translation>
++ <translation>List Recorded Episodes</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="601"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="603"/>
+ <source>Exit or return to DVD menu</source>
+- <translation>Exit or return to DVD menu</translation>
++ <translation>Exit or Return to DVD Menu</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="603"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="605"/>
+ <source>Playback Compact Menu</source>
+ <translation>Playback Compact Menu</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="605"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="607"/>
+ <source>Clear OSD</source>
+ <translation>Clear OSD</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="607"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="609"/>
+ <source>Pause</source>
+ <translation>Pause</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="609"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="611"/>
+ <source>Fast Forward</source>
+ <translation>Fast Forward</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="611"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="613"/>
+ <source>Rewind</source>
+ <translation>Rewind</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="613"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="615"/>
+ <source>Arbitrary Seek</source>
+ <translation>Arbitrary Seek</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="615"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="617"/>
+ <source>Seek to a position in seconds</source>
+- <translation>Seek to a position in seconds</translation>
++ <translation>Seek to a Position in Seconds</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="617"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="619"/>
+ <source>Channel up</source>
+- <translation>Channel up</translation>
++ <translation>Channel Up</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="619"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="621"/>
+ <source>Channel down</source>
+- <translation>Channel down</translation>
++ <translation>Channel Down</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="621"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="623"/>
+ <source>Switch to the next favorite channel</source>
+- <translation>Switch to the next favorite channel</translation>
++ <translation>Switch to the Next Favorite Channel</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="623"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="625"/>
+ <source>Switch to the previous channel</source>
+- <translation>Switch to the previous channel</translation>
++ <translation>Switch to the Previous Channel</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="625"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="627"/>
+ <source>Jump ahead</source>
+- <translation>Jump ahead</translation>
++ <translation>Jump Ahead</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="627"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="629"/>
+ <source>Jump back</source>
+- <translation>Jump back</translation>
++ <translation>Jump Back</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="629"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="631"/>
+ <source>Info utilizing cutlist</source>
+- <translation>Info utilizing cutlist</translation>
++ <translation>Info Utilizing Cutlist</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="631"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="633"/>
+ <source>Jump to bookmark</source>
+- <translation>Jump to bookmark</translation>
++ <translation>Jump to Bookmark</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="637"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="639"/>
+ <source>Next Video Source</source>
+ <translation>Next Video Source</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="639"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="641"/>
+ <source>Previous Video Source</source>
+ <translation>Previous Video Source</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="641"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="643"/>
+ <source>Next Input</source>
+ <translation>Next Input</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="643"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="645"/>
+ <source>Next Card</source>
+ <translation>Next Card</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="645"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="647"/>
+ <source>Skip Commercial</source>
+ <translation>Skip Commercial</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="647"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="649"/>
+ <source>Skip Commercial (Reverse)</source>
+ <translation>Skip Commercial (Reverse)</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="649"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="651"/>
+ <source>Jump to the start of the recording.</source>
+- <translation>Jump to the start of the recording.</translation>
++ <translation>Jump to the Start of the Recording</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="651"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="653"/>
+ <source>Toggle channel browse mode</source>
+- <translation>Toggle channel browse mode</translation>
++ <translation>Toggle Channel Browse Mode</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="663"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="665"/>
+ <source>Set the volume</source>
+- <translation>Set the volume</translation>
++ <translation>Set the Volume</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="667"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="669"/>
+ <source>Toggle audio upmixer</source>
+- <translation>Toggle audio upmixer</translation>
++ <translation>Toggle Audio Upmixer</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="669"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="671"/>
+ <source>Toggle Picture-in-Picture view</source>
+- <translation>Toggle Picture-in-Picture view</translation>
++ <translation>Toggle Picture-in-Picture View</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="671"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="673"/>
+ <source>Toggle Picture-by-Picture view</source>
+- <translation>Toggle Picture-by-Picture view</translation>
++ <translation>Toggle Picture-by-Picture View</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="673"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="675"/>
+ <source>Create Picture-in-Picture view</source>
+- <translation>Create Picture-in-Picture view</translation>
++ <translation>Create Picture-in-Picture View</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="675"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="677"/>
+ <source>Create Picture-by-Picture view</source>
+- <translation>Create Picture-by-Picture view</translation>
++ <translation>Create Picture-by-Picture View</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="677"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="679"/>
+ <source>Toggle active PIP/PBP window</source>
+- <translation>Toggle active PIP/PBP window</translation>
++ <translation>Toggle Active PIP/PBP Window</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="679"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="681"/>
+ <source>Swap PBP/PIP Windows</source>
+ <translation>Swap PBP/PIP Windows</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="681"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="683"/>
+ <source>Change PxP view</source>
+- <translation>Change PxP view</translation>
++ <translation>Change PxP View</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="683"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="685"/>
+ <source>Toggle the video aspect ratio</source>
+- <translation>Toggle the video aspect ratio</translation>
++ <translation>Toggle the Video Aspect Ratio</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="685"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="687"/>
+ <source>Next Preconfigured Zoom mode</source>
+- <translation>Next Preconfigured Zoom mode</translation>
++ <translation>Next Preconfigured Zoom Mode</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="687"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="689"/>
+ <source>Toggle any captions</source>
+- <translation>Toggle any captions</translation>
++ <translation>Toggle any Captions</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="689"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="691"/>
+ <source>Enable any captions</source>
+- <translation>Enable any captions</translation>
++ <translation>Enable any Captions</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="691"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="693"/>
+ <source>Disable any captions</source>
+- <translation>Disable any captions</translation>
++ <translation>Disable any Captions</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="693"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="695"/>
+ <source>Toggle Teletext Captions</source>
+ <translation>Toggle Teletext Captions</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="695"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="697"/>
+ <source>Toggle Subtitles</source>
+ <translation>Toggle Subtitles</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="697"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="699"/>
+ <source>Toggle VBI CC</source>
+ <translation>Toggle VBI CC</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="699"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="701"/>
+ <source>Toggle ATSC CC</source>
+ <translation>Toggle ATSC CC</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="701"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="703"/>
+ <source>Toggle Teletext Menu</source>
+ <translation>Toggle Teletext Menu</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="703"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="705"/>
+ <source>Toggle External Subtitles</source>
+ <translation>Toggle External Subtitles</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="705"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="707"/>
+ <source>Enable External Subtitles</source>
+ <translation>Enable External Subtitles</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="707"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="709"/>
+ <source>Disable External Subtitles</source>
+ <translation>Disable External Subtitles</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="709"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="711"/>
+ <source>Toggle Text Subtitles</source>
+ <translation>Toggle Text Subtitles</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="712"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="714"/>
+ <source>Play audio track 1</source>
+- <translation>Play audio track 1</translation>
++ <translation>Play Audio Track 1</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="714"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="716"/>
+ <source>Play audio track 2</source>
+- <translation>Play audio track 2</translation>
++ <translation>Play Audio Track 2</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="716"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="718"/>
+ <source>Display subtitle 1</source>
+- <translation>Display subtitle 1</translation>
++ <translation>Display Subtitle 1</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="718"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="720"/>
+ <source>Display subtitle 2</source>
+- <translation>Display subtitle 2</translation>
++ <translation>Display Subtitle 2</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="720"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="722"/>
+ <source>Display Text Subtitle 1</source>
+ <translation>Display Text Subtitle 1</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="722"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="724"/>
+ <source>Display VBI CC1</source>
+ <translation>Display VBI CC1</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="724"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="726"/>
+ <source>Display VBI CC2</source>
+ <translation>Display VBI CC2</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="726"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="728"/>
+ <source>Display VBI CC3</source>
+ <translation>Display VBI CC3</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="728"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="730"/>
+ <source>Display VBI CC4</source>
+ <translation>Display VBI CC4</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="730"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="732"/>
+ <source>Display ATSC CC1</source>
+ <translation>Display ATSC CC1</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="732"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="734"/>
+ <source>Display ATSC CC2</source>
+ <translation>Display ATSC CC2</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="734"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="736"/>
+ <source>Display ATSC CC3</source>
+ <translation>Display ATSC CC3</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="736"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="738"/>
+ <source>Display ATSC CC4</source>
+ <translation>Display ATSC CC4</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="738"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="740"/>
+ <source>Enable Forced Subtitles</source>
+ <translation>Enable Forced Subtitles</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="740"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="742"/>
+ <source>Disable Forced Subtitles</source>
+ <translation>Disable Forced Subtitles</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="743"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="745"/>
+ <source>Next audio track</source>
+- <translation>Next audio track</translation>
++ <translation>Next Audio Track</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="745"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="747"/>
+ <source>Previous audio track</source>
+- <translation>Previous audio track</translation>
++ <translation>Previous Audio Track</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="747"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="749"/>
+ <source>Next subtitle track</source>
+- <translation>Next subtitle track</translation>
++ <translation>Next Subtitle Track</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="749"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="751"/>
+ <source>Previous subtitle track</source>
+- <translation>Previous subtitle track</translation>
++ <translation>Previous Subtitle Track</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="751"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="753"/>
+ <source>Next Text track</source>
+- <translation>Next Text track</translation>
++ <translation>Next Text Track</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="753"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="755"/>
+ <source>Previous Text track</source>
+- <translation>Previous Text track</translation>
++ <translation>Previous Text Track</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="755"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="757"/>
+ <source>Next VBI CC track</source>
+- <translation>Next VBI CC track</translation>
++ <translation>Next VBI CC Track</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="757"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="759"/>
+ <source>Previous VBI CC track</source>
+- <translation>Previous VBI CC track</translation>
++ <translation>Previous VBI CC Track</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="759"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="761"/>
+ <source>Next ATSC CC track</source>
+- <translation>Next ATSC CC track</translation>
++ <translation>Next ATSC CC Track</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="761"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="763"/>
+ <source>Previous ATSC CC track</source>
+- <translation>Previous ATSC CC track</translation>
++ <translation>Previous ATSC CC Track</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="763"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="765"/>
+ <source>Next of any captions</source>
+- <translation>Next of any captions</translation>
++ <translation>Next of any Captions</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="766"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="768"/>
+ <source>Next video scan overidemode</source>
+- <translation>Next video scan overidemode</translation>
++ <translation>Next Video Scan Overide Mode</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="768"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="770"/>
+ <source>Queue the current recording for transcoding</source>
+- <translation>Queue the current recording for transcoding</translation>
++ <translation>Queue the Current Recording for Transcoding</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="770"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="772"/>
+ <source>Increase the playback speed</source>
+- <translation>Increase the playback speed</translation>
++ <translation>Increase the Playback Speed</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="772"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="774"/>
+ <source>Decrease the playback speed</source>
+- <translation>Decrease the playback speed</translation>
++ <translation>Decrease the Playback Speed</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="774"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="776"/>
+ <source>Turn on time stretch control</source>
+- <translation>Turn on time stretch control</translation>
++ <translation>Turn on Time Stretch Control</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="776"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="778"/>
+ <source>Increase time stretch speed</source>
+- <translation>Increase time stretch speed</translation>
++ <translation>Increase Time Stretch Speed</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="778"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="780"/>
+ <source>Decrease time stretch speed</source>
+- <translation>Decrease time stretch speed</translation>
++ <translation>Decrease Time Stretch Speed</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="780"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="782"/>
+ <source>Toggle time stretch speed</source>
+- <translation>Toggle time stretch speed</translation>
++ <translation>Toggle Time Stretch Speed</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="783"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="785"/>
+ <source>Turn on audio sync adjustment controls</source>
+- <translation>Turn on audio sync adjustment controls</translation>
++ <translation>Turn on Audio Sync Adjustment Controls</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="786"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="788"/>
+ <source>Set the audio sync adjustment</source>
+- <translation>Set the audio sync adjustment</translation>
++ <translation>Set the Audio Sync Adjustment</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="789"/>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="802"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="791"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="804"/>
+ <source>Playback picture adjustments</source>
+- <translation>Playback picture adjustments</translation>
++ <translation>Playback Picture Adjustments</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="792"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="794"/>
+ <source>Toggle night mode</source>
+- <translation>Toggle night mode</translation>
++ <translation>Toggle Night Mode</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="794"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="796"/>
+ <source>Set the picture brightness</source>
+- <translation>Set the picture brightness</translation>
++ <translation>Set the Picture Brightness</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="796"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="798"/>
+ <source>Set the picture contrast</source>
+- <translation>Set the picture contrast</translation>
++ <translation>Set the Picture Contrast</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="798"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="800"/>
+ <source>Set the picture color</source>
+- <translation>Set the picture color</translation>
++ <translation>Set the Picture Color</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="800"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="802"/>
+ <source>Set the picture hue</source>
+- <translation>Set the picture hue</translation>
++ <translation>Set the Picture Hue</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="805"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="807"/>
+ <source>Recording picture adjustments for this channel</source>
+- <translation>Recording picture adjustments for this channel</translation>
++ <translation>Recording Picture Adjustments for This Channel</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="808"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="810"/>
+ <source>Recording picture adjustments for this recorder</source>
+- <translation>Recording picture adjustments for this recorder</translation>
++ <translation>Recording Picture Adjustments for This Recorder</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="811"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="813"/>
+ <source>Cycle Commercial Skip mode</source>
+- <translation>Cycle Commercial Skip mode</translation>
++ <translation>Cycle Commercial Skip Mode</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="817"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="819"/>
+ <source>Toggle the Sleep Timer</source>
+ <translation>Toggle the Sleep Timer</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="819"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="821"/>
+ <source>Play</source>
+ <translation>Play</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="821"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="823"/>
+ <source>Jump to previously played recording</source>
+- <translation>Jump to previously played recording</translation>
++ <translation>Jump to Previously Played Recording</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="823"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="825"/>
+ <source>Display menu of recorded programs to jump to</source>
+- <translation>Display menu of recorded programs to jump to</translation>
++ <translation>Display Menu of Recorded Programs to Jump to</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="825"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="827"/>
+ <source>Display scheduled recording list</source>
+- <translation>Display scheduled recording list</translation>
++ <translation>Display Scheduled Recording List</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="827"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="829"/>
+ <source>Display previously recorded episodes</source>
+- <translation>Display previously recorded episodes</translation>
++ <translation>Display Previously Recorded Episodes</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="829"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="831"/>
+ <source>Monitor Signal Quality</source>
+ <translation>Monitor Signal Quality</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="832"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="834"/>
+ <source>Jump to the DVD Root Menu</source>
+ <translation>Jump to the DVD Root Menu</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="834"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="836"/>
+ <source>Jump to the Popup Menu</source>
+ <translation>Jump to the Popup Menu</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="836"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="838"/>
+ <source>Jump to the DVD Chapter Menu</source>
+ <translation>Jump to the DVD Chapter Menu</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="838"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="840"/>
+ <source>Jump to the DVD Title Menu</source>
+ <translation>Jump to the DVD Title Menu</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="840"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="842"/>
+ <source>Exit Show without any prompts</source>
+- <translation>Exit Show without any prompts</translation>
++ <translation>Exit Show Without any Prompts</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="842"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="844"/>
+ <source>Jump to a chapter</source>
+- <translation>Jump to a chapter</translation>
++ <translation>Jump to a Chapter</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="844"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="846"/>
+ <source>Switch title</source>
+- <translation>Switch title</translation>
++ <translation>Switch Title</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="846"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="848"/>
+ <source>Switch angle</source>
+- <translation>Switch angle</translation>
++ <translation>Switch Angle</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="848"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="850"/>
+ <source>Zoom mode - shift up</source>
+- <translation>Zoom mode - shift up</translation>
++ <translation>Zoom Mode - Shift Up</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="850"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="852"/>
+ <source>Zoom mode - shift down</source>
+- <translation>Zoom mode - shift down</translation>
++ <translation>Zoom Mode - Shift Down</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="852"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="854"/>
+ <source>Zoom mode - shift left</source>
+- <translation>Zoom mode - shift left</translation>
++ <translation>Zoom Mode - Shift Left</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="854"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="856"/>
+ <source>Zoom mode - shift right</source>
+- <translation>Zoom mode - shift right</translation>
++ <translation>Zoom Mode - Shift Right</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="857"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="859"/>
+ <source>Zoom mode - increase aspect ratio</source>
+- <translation>Zoom mode - increase aspect ratio</translation>
++ <translation>Zoom Mode - Increase Aspect Ratio</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="860"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="862"/>
+ <source>Zoom mode - decrease aspect ratio</source>
+- <translation>Zoom mode - decrease aspect ratio</translation>
++ <translation>Zoom Mode - Decrease Aspect Ratio</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="862"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="864"/>
+ <source>Zoom mode - zoom in</source>
+- <translation>Zoom mode - zoom in</translation>
++ <translation>Zoom Mode - Zoom In</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="864"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="866"/>
+ <source>Zoom mode - zoom out</source>
+- <translation>Zoom mode - zoom out</translation>
++ <translation>Zoom Mode - Zoom Out</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="867"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="869"/>
+ <source>Zoom mode - vertical zoom in</source>
+- <translation>Zoom mode - vertical zoom in</translation>
++ <translation>Zoom Mode - Vertical Zoom in</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="870"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="872"/>
+ <source>Zoom mode - vertical zoom out</source>
+- <translation>Zoom mode - vertical zoom out</translation>
++ <translation>Zoom Mode - Vertical Zoom Out</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="873"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="875"/>
+ <source>Zoom mode - horizontal zoom in</source>
+- <translation>Zoom mode - horizontal zoom in</translation>
++ <translation>Zoom Mode - Horizontal Zoom in</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="876"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="878"/>
+ <source>Zoom mode - horizontal zoom out</source>
+- <translation>Zoom mode - horizontal zoom out</translation>
++ <translation>Zoom Mode - Horizontal Zoom Out</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="878"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="880"/>
+ <source>Zoom mode - quit and abandon changes</source>
+- <translation>Zoom mode - quit and abandon changes</translation>
++ <translation>Zoom Mode - Quit and Abandon Changes</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="880"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="882"/>
+ <source>Zoom mode - commit changes</source>
+- <translation>Zoom mode - commit changes</translation>
++ <translation>Zoom Mode - Commit Changes</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="904"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="906"/>
+ <source>Save cuts</source>
+- <translation>Save cuts</translation>
++ <translation>Save Cuts</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="906"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="908"/>
+ <source>Load cuts from detected commercials</source>
+- <translation>Load cuts from detected commercials</translation>
++ <translation>Load Cuts From Detected Commercials</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="916"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="918"/>
+ <source>Cut point editor compact menu</source>
+- <translation>Cut point editor compact menu</translation>
++ <translation>Cut Point Editor Compact Menu</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="947"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="949"/>
+ <source>Toggle audio visualisation</source>
+- <translation>Toggle audio visualisation</translation>
++ <translation>Toggle Audio Visualisation</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="951"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="953"/>
+ <source>Toggle OSD playback information</source>
+- <translation>Toggle OSD playback information</translation>
++ <translation>Toggle Osd Playback Information</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="955"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="957"/>
+ <source>No 3D</source>
+ <translation>No 3D</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="957"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="959"/>
+ <source>3D Side by Side</source>
+ <translation>3D Side by Side</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="959"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="961"/>
+ <source>Discard 3D Side by Side</source>
+ <translation>Discard 3D Side by Side</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="961"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="963"/>
+ <source>3D Top and Bottom</source>
+ <translation>3D Top and Bottom</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="963"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="965"/>
+ <source>Discard 3D Top and Bottom</source>
+ <translation>Discard 3D Top and Bottom</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="884"/>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="930"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="886"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="932"/>
+ <source>Menu Red</source>
+ <translation>Menu Red</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="590"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="592"/>
+ <source>Switch Recording Input view</source>
+- <translation>Switch Recording Input view</translation>
++ <translation>Switch Recording Input View</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="633"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="635"/>
+ <source>Fast Forward (Sticky) or Forward one second while paused</source>
+- <translation>Fast Forward (Sticky) or Forward one second while paused</translation>
++ <translation>Fast Forward (Sticky) or Forward One Second While Paused</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="635"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="637"/>
+ <source>Rewind (Sticky) or Rewind one second while paused</source>
+- <translation>Rewind (Sticky) or Rewind one second while paused</translation>
++ <translation>Rewind (Sticky) or Rewind One Second While Paused</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="886"/>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="932"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="888"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="934"/>
+ <source>Menu Green</source>
+ <translation>Menu Green</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="888"/>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="934"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="890"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="936"/>
+ <source>Menu Yellow</source>
+ <translation>Menu Yellow</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="890"/>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="936"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="892"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="938"/>
+ <source>Menu Blue</source>
+ <translation>Menu Blue</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="892"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="894"/>
+ <source>Menu Exit</source>
+ <translation>Menu Exit</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="894"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="896"/>
+ <source>Menu Text</source>
+ <translation>Menu Text</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="896"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="898"/>
+ <source>Menu EPG</source>
+ <translation>Menu EPG</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="900"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="902"/>
+ <source>Clear editing cut points</source>
+- <translation>Clear editing cut points</translation>
++ <translation>Clear Editing Cut Points</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="902"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="904"/>
+ <source>Invert Begin/End cut points</source>
+- <translation>Invert Begin/End cut points</translation>
++ <translation>Invert Begin/End Cut Points</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="908"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="910"/>
+ <source>Jump to the next cut point</source>
+- <translation>Jump to the next cut point</translation>
++ <translation>Jump to the Next Cut Point</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="910"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="912"/>
+ <source>Jump to the previous cut point</source>
+- <translation>Jump to the previous cut point</translation>
++ <translation>Jump to the Previous Cut Point</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="912"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="914"/>
+ <source>Jump back 10x the normal amount</source>
+- <translation>Jump back 10x the normal amount</translation>
++ <translation>Jump Back 10x the Normal Amount</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="914"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="916"/>
+ <source>Jump forward 10x the normal amount</source>
+- <translation>Jump forward 10x the normal amount</translation>
++ <translation>Jump Forward 10x the Normal Amount</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="920"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="922"/>
+ <source>Next Page</source>
+ <translation>Next Page</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="922"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="924"/>
+ <source>Previous Page</source>
+ <translation>Previous Page</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="924"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="926"/>
+ <source>Next Subpage</source>
+ <translation>Next Subpage</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="926"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="928"/>
+ <source>Previous Subpage</source>
+ <translation>Previous Subpage</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="928"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="930"/>
+ <source>Toggle Teletext</source>
+ <translation>Toggle Teletext</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="938"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="940"/>
+ <source>Menu White</source>
+ <translation>Menu White</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="941"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="943"/>
+ <source>Toggle Background</source>
+ <translation>Toggle Background</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="942"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="944"/>
+ <source>Reveal hidden Text</source>
+- <translation>Reveal hidden Text</translation>
++ <translation>Reveal Hidden Text</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythui/mythmainwindow.cpp" line="1238"/>
++ <location filename="../libs/libmythui/mythmainwindow.cpp" line="1243"/>
+ <source>Up Arrow</source>
+ <translation>Up Arrow</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythui/mythmainwindow.cpp" line="1240"/>
++ <location filename="../libs/libmythui/mythmainwindow.cpp" line="1245"/>
+ <source>Down Arrow</source>
+ <translation>Down Arrow</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythui/mythmainwindow.cpp" line="1242"/>
++ <location filename="../libs/libmythui/mythmainwindow.cpp" line="1247"/>
+ <source>Left Arrow</source>
+ <translation>Left Arrow</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythui/mythmainwindow.cpp" line="1244"/>
++ <location filename="../libs/libmythui/mythmainwindow.cpp" line="1249"/>
+ <source>Right Arrow</source>
+ <translation>Right Arrow</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythui/mythmainwindow.cpp" line="1246"/>
++ <location filename="../libs/libmythui/mythmainwindow.cpp" line="1251"/>
+ <source>Move to next widget</source>
+- <translation>Move to next widget</translation>
++ <translation>Move to Next Widget</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythui/mythmainwindow.cpp" line="1248"/>
++ <location filename="../libs/libmythui/mythmainwindow.cpp" line="1253"/>
+ <source>Move to preview widget</source>
+- <translation>Move to preview widget</translation>
++ <translation>Move to Preview Widget</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythui/mythmainwindow.cpp" line="1250"/>
++ <location filename="../libs/libmythui/mythmainwindow.cpp" line="1255"/>
+ <source>Select</source>
+ <translation>Select</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythui/mythmainwindow.cpp" line="1252"/>
++ <location filename="../libs/libmythui/mythmainwindow.cpp" line="1257"/>
+ <source>Backspace</source>
+ <translation>Backspace</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythui/mythmainwindow.cpp" line="1254"/>
++ <location filename="../libs/libmythui/mythmainwindow.cpp" line="1259"/>
+ <source>Escape</source>
+ <translation>Escape</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythui/mythmainwindow.cpp" line="1256"/>
++ <location filename="../libs/libmythui/mythmainwindow.cpp" line="1261"/>
+ <source>Pop-up menu</source>
+- <translation>Pop-up menu</translation>
++ <translation>Pop-up Menu</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythui/mythmainwindow.cpp" line="1258"/>
++ <location filename="../libs/libmythui/mythmainwindow.cpp" line="1263"/>
+ <source>More information</source>
+- <translation>More information</translation>
++ <translation>More Information</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythui/mythmainwindow.cpp" line="1260"/>
++ <location filename="../libs/libmythui/mythmainwindow.cpp" line="1265"/>
+ <source>Delete</source>
+ <translation>Delete</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythui/mythmainwindow.cpp" line="1262"/>
++ <location filename="../libs/libmythui/mythmainwindow.cpp" line="1267"/>
+ <source>Edit</source>
+ <translation>Edit</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythui/mythmainwindow.cpp" line="1264"/>
++ <location filename="../libs/libmythui/mythmainwindow.cpp" line="1269"/>
+ <source>Save screenshot</source>
+- <translation>Save screenshot</translation>
++ <translation>Save Screenshot</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythui/mythmainwindow.cpp" line="1266"/>
++ <location filename="../libs/libmythui/mythmainwindow.cpp" line="1271"/>
+ <source>Play a media resource</source>
+- <translation>Play a media resource</translation>
++ <translation>Play a Media Resource</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythui/mythmainwindow.cpp" line="1273"/>
++ <location filename="../libs/libmythui/mythmainwindow.cpp" line="1278"/>
+ <source>Page to top of list</source>
+- <translation>Page to top of list</translation>
++ <translation>Page to Top of List</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythui/mythmainwindow.cpp" line="1275"/>
++ <location filename="../libs/libmythui/mythmainwindow.cpp" line="1280"/>
+ <source>Page to middle of list</source>
+- <translation>Page to middle of list</translation>
++ <translation>Page to Middle of List</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythui/mythmainwindow.cpp" line="1277"/>
++ <location filename="../libs/libmythui/mythmainwindow.cpp" line="1282"/>
+ <source>Page to bottom of list</source>
+- <translation>Page to bottom of list</translation>
++ <translation>Page to Bottom of List</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythui/mythmainwindow.cpp" line="1280"/>
++ <location filename="../libs/libmythui/mythmainwindow.cpp" line="1285"/>
+ <source>Previous View</source>
+ <translation>Previous View</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythui/mythmainwindow.cpp" line="1282"/>
++ <location filename="../libs/libmythui/mythmainwindow.cpp" line="1287"/>
+ <source>Next View</source>
+ <translation>Next View</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythui/mythmainwindow.cpp" line="1285"/>
++ <location filename="../libs/libmythui/mythmainwindow.cpp" line="1290"/>
+ <source>Help</source>
+ <translation>Help</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythui/mythmainwindow.cpp" line="1287"/>
++ <location filename="../libs/libmythui/mythmainwindow.cpp" line="1292"/>
+ <source>Eject Removable Media</source>
+ <translation>Eject Removable Media</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythui/mythmainwindow.cpp" line="1290"/>
++ <location filename="../libs/libmythui/mythmainwindow.cpp" line="1295"/>
+ <source>Cut text from textedit</source>
+- <translation>Cut text from textedit</translation>
++ <translation>Cut Text from Textedit</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythui/mythmainwindow.cpp" line="1292"/>
++ <location filename="../libs/libmythui/mythmainwindow.cpp" line="1297"/>
+ <source>Copy text from textedit</source>
+- <translation>Copy text from textedit</translation>
++ <translation>Copy Text from Textedit</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythui/mythmainwindow.cpp" line="1294"/>
++ <location filename="../libs/libmythui/mythmainwindow.cpp" line="1299"/>
+ <source>Paste text into textedit</source>
+- <translation>Paste text into textedit</translation>
++ <translation>Paste Text Into Textedit</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythui/mythmainwindow.cpp" line="1296"/>
++ <location filename="../libs/libmythui/mythmainwindow.cpp" line="1301"/>
+ <source>Insert newline into textedit</source>
+- <translation>Insert newline into textedit</translation>
++ <translation>Insert Newline Into Textedit</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythui/mythmainwindow.cpp" line="1298"/>
++ <location filename="../libs/libmythui/mythmainwindow.cpp" line="1303"/>
+ <source>Undo</source>
+ <translation>Undo</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythui/mythmainwindow.cpp" line="1300"/>
++ <location filename="../libs/libmythui/mythmainwindow.cpp" line="1305"/>
+ <source>Redo</source>
+ <translation>Redo</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythui/mythmainwindow.cpp" line="1302"/>
++ <location filename="../libs/libmythui/mythmainwindow.cpp" line="1307"/>
+ <source>Show incremental search dialog</source>
+- <translation>Show incremental search dialog</translation>
++ <translation>Show Incremental Search Dialog</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythui/mythmainwindow.cpp" line="1305"/>
++ <location filename="../libs/libmythui/mythmainwindow.cpp" line="1310"/>
+ <source>0</source>
+ <translation>0</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythui/mythmainwindow.cpp" line="1306"/>
++ <location filename="../libs/libmythui/mythmainwindow.cpp" line="1311"/>
+ <source>1</source>
+ <translation>1</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythui/mythmainwindow.cpp" line="1307"/>
++ <location filename="../libs/libmythui/mythmainwindow.cpp" line="1312"/>
+ <source>2</source>
+ <translation>2</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythui/mythmainwindow.cpp" line="1308"/>
++ <location filename="../libs/libmythui/mythmainwindow.cpp" line="1313"/>
+ <source>3</source>
+ <translation>3</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythui/mythmainwindow.cpp" line="1309"/>
++ <location filename="../libs/libmythui/mythmainwindow.cpp" line="1314"/>
+ <source>4</source>
+ <translation>4</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythui/mythmainwindow.cpp" line="1310"/>
++ <location filename="../libs/libmythui/mythmainwindow.cpp" line="1315"/>
+ <source>5</source>
+ <translation>5</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythui/mythmainwindow.cpp" line="1311"/>
++ <location filename="../libs/libmythui/mythmainwindow.cpp" line="1316"/>
+ <source>6</source>
+ <translation>6</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythui/mythmainwindow.cpp" line="1312"/>
++ <location filename="../libs/libmythui/mythmainwindow.cpp" line="1317"/>
+ <source>7</source>
+ <translation>7</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythui/mythmainwindow.cpp" line="1313"/>
++ <location filename="../libs/libmythui/mythmainwindow.cpp" line="1318"/>
+ <source>8</source>
+ <translation>8</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythui/mythmainwindow.cpp" line="1314"/>
++ <location filename="../libs/libmythui/mythmainwindow.cpp" line="1319"/>
+ <source>9</source>
+ <translation>9</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythui/mythmainwindow.cpp" line="1316"/>
++ <location filename="../libs/libmythui/mythmainwindow.cpp" line="1321"/>
+ <source>Turn the display on</source>
+- <translation>Turn the display on</translation>
++ <translation>Turn the Display on</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythui/mythmainwindow.cpp" line="1318"/>
++ <location filename="../libs/libmythui/mythmainwindow.cpp" line="1323"/>
+ <source>Turn the display off</source>
+- <translation>Turn the display off</translation>
++ <translation>Turn the Display Off</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythui/mythmainwindow.cpp" line="1321"/>
++ <location filename="../libs/libmythui/mythmainwindow.cpp" line="1326"/>
+ <source>Trigger System Key Event #1</source>
+ <translation>Trigger System Key Event #1</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythui/mythmainwindow.cpp" line="1323"/>
++ <location filename="../libs/libmythui/mythmainwindow.cpp" line="1328"/>
+ <source>Trigger System Key Event #2</source>
+ <translation>Trigger System Key Event #2</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythui/mythmainwindow.cpp" line="1325"/>
++ <location filename="../libs/libmythui/mythmainwindow.cpp" line="1330"/>
+ <source>Trigger System Key Event #3</source>
+ <translation>Trigger System Key Event #3</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythui/mythmainwindow.cpp" line="1327"/>
++ <location filename="../libs/libmythui/mythmainwindow.cpp" line="1332"/>
+ <source>Trigger System Key Event #4</source>
+ <translation>Trigger System Key Event #4</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythui/mythmainwindow.cpp" line="1329"/>
++ <location filename="../libs/libmythui/mythmainwindow.cpp" line="1334"/>
+ <source>Trigger System Key Event #5</source>
+ <translation>Trigger System Key Event #5</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythui/mythmainwindow.cpp" line="1331"/>
++ <location filename="../libs/libmythui/mythmainwindow.cpp" line="1336"/>
+ <source>Trigger System Key Event #6</source>
+ <translation>Trigger System Key Event #6</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythui/mythmainwindow.cpp" line="1333"/>
++ <location filename="../libs/libmythui/mythmainwindow.cpp" line="1338"/>
+ <source>Trigger System Key Event #7</source>
+ <translation>Trigger System Key Event #7</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythui/mythmainwindow.cpp" line="1335"/>
++ <location filename="../libs/libmythui/mythmainwindow.cpp" line="1340"/>
+ <source>Trigger System Key Event #8</source>
+ <translation>Trigger System Key Event #8</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythui/mythmainwindow.cpp" line="1337"/>
++ <location filename="../libs/libmythui/mythmainwindow.cpp" line="1342"/>
+ <source>Trigger System Key Event #9</source>
+ <translation>Trigger System Key Event #9</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythui/mythmainwindow.cpp" line="1339"/>
++ <location filename="../libs/libmythui/mythmainwindow.cpp" line="1344"/>
+ <source>Trigger System Key Event #10</source>
+ <translation>Trigger System Key Event #10</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythui/mythmainwindow.cpp" line="1343"/>
++ <location filename="../libs/libmythui/mythmainwindow.cpp" line="1348"/>
+ <source>Zoom in on browser window</source>
+- <translation>Zoom in on browser window</translation>
++ <translation>Zoom in on Browser Window</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythui/mythmainwindow.cpp" line="1345"/>
++ <location filename="../libs/libmythui/mythmainwindow.cpp" line="1350"/>
+ <source>Zoom out on browser window</source>
+- <translation>Zoom out on browser window</translation>
++ <translation>Zoom Out on Browser Window</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythui/mythmainwindow.cpp" line="1347"/>
++ <location filename="../libs/libmythui/mythmainwindow.cpp" line="1352"/>
+ <source>Toggle where keyboard input goes to</source>
+- <translation>Toggle where keyboard input goes to</translation>
++ <translation>Toggle Where Keyboard Input Goes to</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythui/mythmainwindow.cpp" line="1350"/>
++ <location filename="../libs/libmythui/mythmainwindow.cpp" line="1355"/>
+ <source>Move mouse pointer up</source>
+- <translation>Move mouse pointer up</translation>
++ <translation>Move Mouse Pointer Up</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythui/mythmainwindow.cpp" line="1352"/>
++ <location filename="../libs/libmythui/mythmainwindow.cpp" line="1357"/>
+ <source>Move mouse pointer down</source>
+- <translation>Move mouse pointer down</translation>
++ <translation>Move Mouse Pointer Down</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythui/mythmainwindow.cpp" line="1354"/>
++ <location filename="../libs/libmythui/mythmainwindow.cpp" line="1359"/>
+ <source>Move mouse pointer left</source>
+- <translation>Move mouse pointer left</translation>
++ <translation>Move Mouse Pointer Left</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythui/mythmainwindow.cpp" line="1356"/>
++ <location filename="../libs/libmythui/mythmainwindow.cpp" line="1361"/>
+ <source>Move mouse pointer right</source>
+- <translation>Move mouse pointer right</translation>
++ <translation>Move Mouse Pointer Right</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythui/mythmainwindow.cpp" line="1358"/>
++ <location filename="../libs/libmythui/mythmainwindow.cpp" line="1363"/>
+ <source>Mouse Left button click</source>
+- <translation>Mouse Left button click</translation>
++ <translation>Mouse Left Button Click</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythui/mythmainwindow.cpp" line="1361"/>
++ <location filename="../libs/libmythui/mythmainwindow.cpp" line="1366"/>
+ <source>Scroll down half a page</source>
+- <translation>Scroll down half a page</translation>
++ <translation>Scroll Down Half a Page</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythui/mythmainwindow.cpp" line="1363"/>
++ <location filename="../libs/libmythui/mythmainwindow.cpp" line="1368"/>
+ <source>Scroll up half a page</source>
+- <translation>Scroll up half a page</translation>
++ <translation>Scroll Up Half a Page</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythui/mythmainwindow.cpp" line="1365"/>
++ <location filename="../libs/libmythui/mythmainwindow.cpp" line="1370"/>
+ <source>Scroll left half a page</source>
+- <translation>Scroll left half a page</translation>
++ <translation>Scroll Left Half a Page</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythui/mythmainwindow.cpp" line="1367"/>
++ <location filename="../libs/libmythui/mythmainwindow.cpp" line="1372"/>
+ <source>Scroll right half a page</source>
+- <translation>Scroll right half a page</translation>
++ <translation>Scroll Right Half a Page</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythui/mythmainwindow.cpp" line="1370"/>
++ <location filename="../libs/libmythui/mythmainwindow.cpp" line="1375"/>
+ <source>Move selection to next link</source>
+- <translation>Move selection to next link</translation>
++ <translation>Move Selection to Next Link</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythui/mythmainwindow.cpp" line="1372"/>
++ <location filename="../libs/libmythui/mythmainwindow.cpp" line="1377"/>
+ <source>Move selection to previous link</source>
+- <translation>Move selection to previous link</translation>
++ <translation>Move Selection to Previous Link</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythui/mythmainwindow.cpp" line="1374"/>
++ <location filename="../libs/libmythui/mythmainwindow.cpp" line="1379"/>
+ <source>Follow selected link</source>
+- <translation>Follow selected link</translation>
++ <translation>Follow Selected Link</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythui/mythmainwindow.cpp" line="1376"/>
++ <location filename="../libs/libmythui/mythmainwindow.cpp" line="1381"/>
+ <source>Go back to previous page</source>
+- <translation>Go back to previous page</translation>
++ <translation>Go Back to Previous Page</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythui/mythmainwindow.cpp" line="1378"/>
++ <location filename="../libs/libmythui/mythmainwindow.cpp" line="1383"/>
+ <source>Go forward to previous page</source>
+- <translation>Go forward to previous page</translation>
++ <translation>Go Forward to Previous Page</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythui/mythmainwindow.cpp" line="1383"/>
++ <location filename="../libs/libmythui/mythmainwindow.cpp" line="1388"/>
+ <source>System Exit</source>
+ <translation>System Exit</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythui/mythmainwindow.cpp" line="1385"/>
++ <location filename="../libs/libmythui/mythmainwindow.cpp" line="1390"/>
+ <source>Enter Standby Mode</source>
+ <translation>Enter Standby Mode</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythui/mythmainwindow.cpp" line="1381"/>
++ <location filename="../libs/libmythui/mythmainwindow.cpp" line="1386"/>
+ <source>Display System Exit Prompt</source>
+ <translation>Display System Exit Prompt</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/main.cpp" line="1364"/>
++ <location filename="../programs/mythfrontend/main.cpp" line="1453"/>
+ <source>Reload Theme</source>
+ <translation>Reload Theme</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/main.cpp" line="1366"/>
++ <location filename="../programs/mythfrontend/main.cpp" line="1455"/>
+ <source>Main Menu</source>
+ <translation>Main Menu</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/main.cpp" line="1368"/>
++ <location filename="../programs/mythfrontend/main.cpp" line="1457"/>
+ <source>Program Guide</source>
+ <translation>Program Guide</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/main.cpp" line="1370"/>
++ <location filename="../programs/mythfrontend/main.cpp" line="1459"/>
+ <source>Program Finder</source>
+ <translation>Program Finder</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/main.cpp" line="1374"/>
++ <location filename="../programs/mythfrontend/main.cpp" line="1463"/>
+ <source>Manage Recordings / Fix Conflicts</source>
+ <translation>Manage Recordings / Fix Conflicts</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/main.cpp" line="1376"/>
++ <location filename="../programs/mythfrontend/main.cpp" line="1465"/>
+ <source>Manage Recording Rules</source>
+ <translation>Manage Recording Rules</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/main.cpp" line="1378"/>
++ <location filename="../programs/mythfrontend/main.cpp" line="1467"/>
+ <source>Channel Recording Priorities</source>
+ <translation>Channel Recording Priorities</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/main.cpp" line="1380"/>
++ <location filename="../programs/mythfrontend/main.cpp" line="1469"/>
+ <source>TV Recording Playback</source>
+ <translation>TV Recording Playback</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/main.cpp" line="1382"/>
++ <location filename="../programs/mythfrontend/main.cpp" line="1471"/>
+ <source>Live TV</source>
+ <translation>Live TV</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/main.cpp" line="1384"/>
++ <location filename="../programs/mythfrontend/main.cpp" line="1473"/>
+ <source>Status Screen</source>
+ <translation>Status Screen</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/main.cpp" line="1386"/>
++ <location filename="../programs/mythfrontend/main.cpp" line="1475"/>
+ <source>Previously Recorded</source>
+ <translation>Previously Recorded</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/main.cpp" line="1389"/>
++ <location filename="../programs/mythfrontend/main.cpp" line="1478"/>
+ <source>Standby Mode</source>
+ <translation>Standby Mode</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/main.cpp" line="1394"/>
++ <location filename="../programs/mythfrontend/main.cpp" line="1483"/>
+ <source>The Video Default View</source>
+ <translation>The Video Default View</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/main.cpp" line="1396"/>
++ <location filename="../programs/mythfrontend/main.cpp" line="1485"/>
+ <source>The Video Manager</source>
+ <translation>The Video Manager</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/main.cpp" line="1398"/>
++ <location filename="../programs/mythfrontend/main.cpp" line="1487"/>
+ <source>The Video Browser</source>
+ <translation>The Video Browser</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/main.cpp" line="1400"/>
++ <location filename="../programs/mythfrontend/main.cpp" line="1489"/>
+ <source>The Video Listings</source>
+ <translation>The Video Listings</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/main.cpp" line="1402"/>
++ <location filename="../programs/mythfrontend/main.cpp" line="1491"/>
+ <source>The Video Gallery</source>
+ <translation>The Video Gallery</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/main.cpp" line="1404"/>
++ <location filename="../programs/mythfrontend/main.cpp" line="1493"/>
+ <source>Play an Optical Disc</source>
+ <translation>Play an Optical Disc</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/main.cpp" line="1409"/>
++ <location filename="../programs/mythfrontend/main.cpp" line="1498"/>
+ <source>Image Gallery</source>
+ <translation>Image Gallery</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/main.cpp" line="1412"/>
++ <location filename="../programs/mythfrontend/main.cpp" line="1501"/>
+ <source>Toggle Show Widget Borders</source>
+ <translation>Toggle Show Widget Borders</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/main.cpp" line="1414"/>
++ <location filename="../programs/mythfrontend/main.cpp" line="1503"/>
+ <source>Toggle Show Widget Names</source>
+ <translation>Toggle Show Widget Names</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/main.cpp" line="1416"/>
++ <location filename="../programs/mythfrontend/main.cpp" line="1505"/>
+ <source>Reset All Keys</source>
+ <translation>Reset All Keys</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/main.cpp" line="1417"/>
++ <location filename="../programs/mythfrontend/main.cpp" line="1506"/>
+ <source>Reset all keys to defaults</source>
+- <translation>Reset all keys to defaults</translation>
++ <translation>Reset All Keys to Defaults</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/main.cpp" line="1446"/>
++ <location filename="../programs/mythfrontend/main.cpp" line="1535"/>
+ <source>Start/Stop Slideshow</source>
+ <translation>Start/Stop Slideshow</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/main.cpp" line="1448"/>
++ <location filename="../programs/mythfrontend/main.cpp" line="1537"/>
+ <source>Start Recursive Slideshow</source>
+ <translation>Start Recursive Slideshow</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/main.cpp" line="1450"/>
++ <location filename="../programs/mythfrontend/main.cpp" line="1539"/>
+ <source>Rotate image right 90 degrees</source>
+- <translation>Rotate image right 90 degrees</translation>
++ <translation>Rotate Image Right 90 Degrees</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/main.cpp" line="1452"/>
++ <location filename="../programs/mythfrontend/main.cpp" line="1541"/>
+ <source>Rotate image left 90 degrees</source>
+- <translation>Rotate image left 90 degrees</translation>
++ <translation>Rotate Image Left 90 Degrees</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/main.cpp" line="1454"/>
++ <location filename="../programs/mythfrontend/main.cpp" line="1543"/>
+ <source>Flip image horizontally</source>
+- <translation>Flip image horizontally</translation>
++ <translation>Flip Image Horizontally</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/main.cpp" line="1456"/>
++ <location filename="../programs/mythfrontend/main.cpp" line="1545"/>
+ <source>Flip image vertically</source>
+- <translation>Flip image vertically</translation>
++ <translation>Flip Image Vertically</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/main.cpp" line="1458"/>
++ <location filename="../programs/mythfrontend/main.cpp" line="1547"/>
+ <source>Zoom image out</source>
+- <translation>Zoom image out</translation>
++ <translation>Zoom Image Out</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/main.cpp" line="1460"/>
++ <location filename="../programs/mythfrontend/main.cpp" line="1549"/>
+ <source>Zoom image in</source>
+- <translation>Zoom image in</translation>
++ <translation>Zoom Image in</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/main.cpp" line="1462"/>
++ <location filename="../programs/mythfrontend/main.cpp" line="1551"/>
+ <source>Full-size (un-zoom) image</source>
+- <translation>Full-size (un-zoom) image</translation>
++ <translation>Fullsize (Un-zoom) Image</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/main.cpp" line="1464"/>
++ <location filename="../programs/mythfrontend/main.cpp" line="1553"/>
+ <source>Mark image</source>
+- <translation>Mark image</translation>
++ <translation>Mark Image</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/main.cpp" line="1466"/>
++ <location filename="../programs/mythfrontend/main.cpp" line="1555"/>
+ <source>Scroll image up</source>
+- <translation>Scroll image up</translation>
++ <translation>Scroll Image Up</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/main.cpp" line="1468"/>
++ <location filename="../programs/mythfrontend/main.cpp" line="1557"/>
+ <source>Scroll image left</source>
+- <translation>Scroll image left</translation>
++ <translation>Scroll Image Left</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/main.cpp" line="1470"/>
++ <location filename="../programs/mythfrontend/main.cpp" line="1559"/>
+ <source>Scroll image right</source>
+- <translation>Scroll image right</translation>
++ <translation>Scroll Image Right</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/main.cpp" line="1472"/>
++ <location filename="../programs/mythfrontend/main.cpp" line="1561"/>
+ <source>Scroll image down</source>
+- <translation>Scroll image down</translation>
++ <translation>Scroll Image Down</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/main.cpp" line="1474"/>
++ <location filename="../programs/mythfrontend/main.cpp" line="1563"/>
+ <source>Recenter image</source>
+- <translation>Recenter image</translation>
++ <translation>Recenter Image</translation>
++ </message>
++ <message>
++ <location filename="../programs/mythfrontend/main.cpp" line="1565"/>
++ <source>Set or clear cover image</source>
++ <translation>Set or Clear Cover Image</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/main.cpp" line="1530"/>
++ <location filename="../programs/mythfrontend/main.cpp" line="1621"/>
+ <source>MythTV&apos;s native media player.</source>
+- <translation>MythTV&apos;s native media player.</translation>
++ <translation>MythTV&apos;s Native Media Player</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/main.cpp" line="1535"/>
+ <source>MythDVD media</source>
+- <translation>MythDVD media</translation>
++ <translation type="vanished">MythDVD media</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/main.cpp" line="1538"/>
++ <location filename="../programs/mythfrontend/main.cpp" line="1626"/>
+ <source>MythImage Media Handler 1/2</source>
+ <translation>MythImage Media Handler 1/2</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/main.cpp" line="1545"/>
++ <location filename="../programs/mythfrontend/main.cpp" line="1633"/>
+ <source>MythImage Media Handler 2/2</source>
+ <translation>MythImage Media Handler 2/2</translation>
+ </message>
+@@ -11576,12 +11939,12 @@
+ <message>
+ <location filename="../programs/mythfrontend/mythcontrols.cpp" line="234"/>
+ <source>Actions By Context</source>
+- <translation>Actions By Context</translation>
++ <translation>Actions by Context</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/mythcontrols.cpp" line="235"/>
+ <source>Contexts By Key</source>
+- <translation>Contexts By Key</translation>
++ <translation>Contexts by Key</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/mythcontrols.cpp" line="236"/>
+@@ -11642,57 +12005,57 @@
+ <translation>Keys</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythwelcome/main.cpp" line="37"/>
++ <location filename="../programs/mythwelcome/main.cpp" line="38"/>
+ <source>Open an Xterm window</source>
+- <translation>Open an Xterm window</translation>
++ <translation>Open an Xterm Window</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythwelcome/main.cpp" line="39"/>
++ <location filename="../programs/mythwelcome/main.cpp" line="40"/>
+ <source>Show Mythshutdown settings</source>
+- <translation>Show Mythshutdown settings</translation>
++ <translation>Show mythshutdown Settings</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythwelcome/main.cpp" line="41"/>
++ <location filename="../programs/mythwelcome/main.cpp" line="42"/>
+ <source>Start Mythtv-Setup</source>
+- <translation>Start Mythtv-Setup</translation>
++ <translation>Start mythtv-setup</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/main.cpp" line="1430"/>
++ <location filename="../programs/mythfrontend/main.cpp" line="1519"/>
+ <source>Play selected item in alternate player</source>
+- <translation>Play selected item in alternate player</translation>
++ <translation>Play Selected Item in Alternate Player</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/main.cpp" line="1432"/>
++ <location filename="../programs/mythfrontend/main.cpp" line="1521"/>
+ <source>Open video filter dialog</source>
+- <translation>Open video filter dialog</translation>
++ <translation>Open Video Filter Dialog</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/main.cpp" line="1434"/>
++ <location filename="../programs/mythfrontend/main.cpp" line="1523"/>
+ <source>Increase Parental Level</source>
+ <translation>Increase Parental Level</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/main.cpp" line="1436"/>
++ <location filename="../programs/mythfrontend/main.cpp" line="1525"/>
+ <source>Decrease Parental Level</source>
+ <translation>Decrease Parental Level</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/main.cpp" line="1438"/>
++ <location filename="../programs/mythfrontend/main.cpp" line="1527"/>
+ <source>Show Incremental Search Dialog</source>
+ <translation>Show Incremental Search Dialog</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/main.cpp" line="1440"/>
++ <location filename="../programs/mythfrontend/main.cpp" line="1529"/>
+ <source>Download metadata for current item</source>
+- <translation>Download metadata for current item</translation>
++ <translation>Download Metadata for Current Item</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/main.cpp" line="1442"/>
++ <location filename="../programs/mythfrontend/main.cpp" line="1531"/>
+ <source>Display Item Detail Popup</source>
+ <translation>Display Item Detail Popup</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/main.cpp" line="1534"/>
++ <location filename="../programs/mythfrontend/main.cpp" line="1623"/>
+ <source>MythDVD DVD Media Handler</source>
+ <translation>MythDVD DVD Media Handler</translation>
+ </message>
+@@ -11700,9 +12063,9 @@
+ <context>
+ <name>MythCoreContext</name>
+ <message>
+- <location filename="../libs/libmythbase/mythcorecontext.cpp" line="237"/>
++ <location filename="../libs/libmythbase/mythcorecontext.cpp" line="242"/>
+ <source>This application is not compatible with the installed MythTV libraries. Please recompile after a make distclean</source>
+- <translation>This application is not compatible with the installed MythTV libraries. Please recompile after a make distclean</translation>
++ <translation>This application is not compatible with the installed MythTV libraries. Please recompile after a make distclean.</translation>
+ </message>
+ </context>
+ <context>
+@@ -11721,184 +12084,183 @@
+ <context>
+ <name>MythPlayer</name>
+ <message>
+- <location filename="../libs/libmythtv/mythplayer.cpp" line="494"/>
++ <location filename="../libs/libmythtv/mythplayer.cpp" line="506"/>
+ <source>Failed to initialize video output</source>
+- <translation>Failed to initialize video output</translation>
++ <translation>Failed to Initialize Video Output</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/mythplayer.cpp" line="582"/>
+ <source>Need to switch video renderer</source>
+- <translation>Need to switch video renderer</translation>
++ <translation type="vanished">Need to switch video renderer</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/mythplayer.cpp" line="603"/>
++ <location filename="../libs/libmythtv/mythplayer.cpp" line="608"/>
+ <source>Failed to reinitialize video output</source>
+- <translation>Failed to reinitialize video output</translation>
++ <translation>Failed to Reinitialize Video Output</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/mythplayer.cpp" line="948"/>
++ <location filename="../libs/libmythtv/mythplayer.cpp" line="960"/>
+ <source>Could not read first %1 bytes</source>
+- <translation>Could not read first %1 bytes</translation>
++ <translation>Could Not Read First %1 Bytes</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/mythplayer.cpp" line="968"/>
++ <location filename="../libs/libmythtv/mythplayer.cpp" line="980"/>
+ <source>Could not find an A/V decoder</source>
+- <translation>Could not find an A/V decoder</translation>
++ <translation>Could Not Find an A/V Decoder</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/mythplayer.cpp" line="977"/>
++ <location filename="../libs/libmythtv/mythplayer.cpp" line="989"/>
+ <source>Could not initialize A/V decoder</source>
+- <translation>Could not initialize A/V decoder</translation>
++ <translation>Could Not Initialize A/V Decoder</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/mythplayer.cpp" line="1002"/>
++ <location filename="../libs/libmythtv/mythplayer.cpp" line="1014"/>
+ <source>Could not open decoder</source>
+- <translation>Could not open decoder</translation>
++ <translation>Could Not Open Decoder</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/mythplayer.cpp" line="1391"/>
++ <location filename="../libs/libmythtv/mythplayer.cpp" line="1406"/>
+ <source>TXT CAP</source>
+ <translation>TXT CAP</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/mythplayer.cpp" line="1411"/>
+- <location filename="../libs/libmythtv/mythplayer.cpp" line="1439"/>
++ <location filename="../libs/libmythtv/mythplayer.cpp" line="1426"/>
++ <location filename="../libs/libmythtv/mythplayer.cpp" line="1457"/>
+ <source>Text subtitles</source>
+- <translation>Text subtitles</translation>
++ <translation>Text Subtitles</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/mythplayer.cpp" line="1417"/>
++ <location filename="../libs/libmythtv/mythplayer.cpp" line="1432"/>
+ <source>Off</source>
+ <translation>Off</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/mythplayer.cpp" line="1442"/>
++ <location filename="../libs/libmythtv/mythplayer.cpp" line="1460"/>
+ <source>TXT %1</source>
+ <translation>TXT %1</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/mythplayer.cpp" line="1456"/>
++ <location filename="../libs/libmythtv/mythplayer.cpp" line="1474"/>
+ <source>On</source>
+ <translation>On</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/mythplayer.cpp" line="1512"/>
++ <location filename="../libs/libmythtv/mythplayer.cpp" line="1532"/>
+ <source>No captions</source>
+ <comment>CC/Teletext/Subtitle text not available</comment>
+- <translation>No captions</translation>
++ <translation>No Captions</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/mythplayer.cpp" line="1621"/>
++ <location filename="../libs/libmythtv/mythplayer.cpp" line="1641"/>
+ <source>Forced Subtitles On</source>
+ <translation>Forced Subtitles On</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/mythplayer.cpp" line="1622"/>
++ <location filename="../libs/libmythtv/mythplayer.cpp" line="1642"/>
+ <source>Forced Subtitles Off</source>
+ <translation>Forced Subtitles Off</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/mythplayer.cpp" line="1839"/>
++ <location filename="../libs/libmythtv/mythplayer.cpp" line="1876"/>
+ <source>Failed to initialize A/V Sync</source>
+- <translation>Failed to initialize A/V Sync</translation>
++ <translation>Failed to Initialize A/V Sync</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/mythplayer.cpp" line="1942"/>
+- <location filename="../libs/libmythtv/mythplayer.cpp" line="2122"/>
++ <location filename="../libs/libmythtv/mythplayer.cpp" line="1986"/>
++ <location filename="../libs/libmythtv/mythplayer.cpp" line="2168"/>
+ <source>Serious error detected in Video Output</source>
+- <translation>Serious error detected in Video Output</translation>
++ <translation>Serious Error Detected in Video Output</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/mythplayer.cpp" line="2200"/>
++ <location filename="../libs/libmythtv/mythplayer.cpp" line="2263"/>
+ <source>Video frame buffering failed too many times.</source>
+- <translation>Video frame buffering failed too many times.</translation>
++ <translation>Video Frame Buffering Failed Too Many Times</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/mythplayer.cpp" line="2639"/>
++ <location filename="../libs/libmythtv/mythplayer.cpp" line="2692"/>
+ <source>Error opening switch program buffer</source>
+- <translation>Error opening switch program buffer</translation>
++ <translation>Error Opening Switch Program Buffer</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/mythplayer.cpp" line="2664"/>
++ <location filename="../libs/libmythtv/mythplayer.cpp" line="2717"/>
+ <source>Error opening switch program file</source>
+- <translation>Error opening switch program file</translation>
++ <translation>Error Opening Switch Program File</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/mythplayer.cpp" line="2791"/>
++ <location filename="../libs/libmythtv/mythplayer.cpp" line="2842"/>
+ <source>Error opening jump program file buffer</source>
+- <translation>Error opening jump program file buffer</translation>
++ <translation>Error Opening Jump Program File Buffer</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/mythplayer.cpp" line="2801"/>
++ <location filename="../libs/libmythtv/mythplayer.cpp" line="2852"/>
+ <source>Error opening jump program file</source>
+- <translation>Error opening jump program file</translation>
++ <translation>Error Opening Jump Program File</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/mythplayer.cpp" line="2810"/>
++ <location filename="../libs/libmythtv/mythplayer.cpp" line="2861"/>
+ <source>Error reopening video decoder</source>
+- <translation>Error reopening video decoder</translation>
++ <translation>Error Reopening Video Decoder</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/mythplayer.cpp" line="3044"/>
++ <location filename="../libs/libmythtv/mythplayer.cpp" line="3097"/>
+ <source>Irrecoverable recorder error</source>
+- <translation>Irrecoverable recorder error</translation>
++ <translation>Irrecoverable Recorder Error</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/mythplayer.cpp" line="3134"/>
++ <location filename="../libs/libmythtv/mythplayer.cpp" line="3187"/>
+ <source>Not Flagged</source>
+ <extracomment>The commercials/adverts have not been flagged</extracomment>
+ <translation>Not Flagged</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/mythplayer.cpp" line="4035"/>
++ <location filename="../libs/libmythtv/mythplayer.cpp" line="4079"/>
+ <source>Searching</source>
+- <translation>Searching</translation>
++ <translation>Searching...</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/mythplayer.cpp" line="4106"/>
++ <location filename="../libs/libmythtv/mythplayer.cpp" line="4150"/>
+ <source>No Seektable</source>
+ <translation>No Seektable</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/mythplayer.cpp" line="4136"/>
++ <location filename="../libs/libmythtv/mythplayer.cpp" line="4180"/>
+ <source>Using previously auto-saved cuts</source>
+- <translation>Using previously auto-saved cuts</translation>
++ <translation>Using Previously Auto-saved Cuts</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/mythplayer.cpp" line="4185"/>
++ <location filename="../libs/libmythtv/mythplayer.cpp" line="4229"/>
+ <source>Paused</source>
+ <translation>Paused</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/mythplayer.cpp" line="4270"/>
+- <location filename="../libs/libmythtv/mythplayer.cpp" line="4306"/>
++ <location filename="../libs/libmythtv/mythplayer.cpp" line="4314"/>
++ <location filename="../libs/libmythtv/mythplayer.cpp" line="4350"/>
+ <source>New cut added.</source>
+- <translation>New cut added.</translation>
++ <translation>New Cut Added</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/mythplayer.cpp" line="4275"/>
++ <location filename="../libs/libmythtv/mythplayer.cpp" line="4319"/>
+ <source>Delete</source>
+ <translation>Delete</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/mythplayer.cpp" line="4280"/>
++ <location filename="../libs/libmythtv/mythplayer.cpp" line="4324"/>
+ <source>Undo Changes</source>
+ <translation>Undo Changes</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/mythplayer.cpp" line="4311"/>
++ <location filename="../libs/libmythtv/mythplayer.cpp" line="4355"/>
+ <source>Undo - %1</source>
+ <extracomment>%1 is the undo message</extracomment>
+ <translation>Undo - %1</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/mythplayer.cpp" line="4317"/>
++ <location filename="../libs/libmythtv/mythplayer.cpp" line="4361"/>
+ <source>Redo - %1</source>
+ <extracomment>%1 is the redo message</extracomment>
+ <translation>Redo - %1</translation>
+ </message>
+ <message numerus="yes">
+- <location filename="../libs/libmythtv/mythplayer.cpp" line="5122"/>
++ <location filename="../libs/libmythtv/mythplayer.cpp" line="5166"/>
+ <source>%n second(s)</source>
+ <translation>
+ <numerusform>%n second</numerusform>
+@@ -11906,42 +12268,42 @@
+ </translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/mythplayer.cpp" line="5126"/>
++ <location filename="../libs/libmythtv/mythplayer.cpp" line="5170"/>
+ <source>Still Frame</source>
+ <translation>Still Frame</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/mythplayer.cpp" line="5127"/>
++ <location filename="../libs/libmythtv/mythplayer.cpp" line="5171"/>
+ <source>%1 of %2</source>
+ <translation>%1 of %2</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/mythplayer.cpp" line="5353"/>
++ <location filename="../libs/libmythtv/mythplayer.cpp" line="5397"/>
+ <source>Error opening remote stream buffer</source>
+- <translation>Error opening remote stream buffer</translation>
++ <translation>Error Opening Remote Stream Buffer</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/mythplayer.cpp" line="5366"/>
++ <location filename="../libs/libmythtv/mythplayer.cpp" line="5410"/>
+ <source>Error opening remote stream</source>
+- <translation>Error opening remote stream</translation>
++ <translation>Error Opening Remote Stream</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/mythplayer.cpp" line="5532"/>
++ <location filename="../libs/libmythtv/mythplayer.cpp" line="5576"/>
+ <source>Enabled Studio Levels</source>
+ <translation>Enabled Studio Levels</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/mythplayer.cpp" line="5533"/>
++ <location filename="../libs/libmythtv/mythplayer.cpp" line="5577"/>
+ <source>Disabled Studio Levels</source>
+ <translation>Disabled Studio Levels</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/mythplayer.cpp" line="5557"/>
++ <location filename="../libs/libmythtv/mythplayer.cpp" line="5601"/>
+ <source>Enabled Night Mode</source>
+ <translation>Enabled Night Mode</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/mythplayer.cpp" line="5563"/>
++ <location filename="../libs/libmythtv/mythplayer.cpp" line="5607"/>
+ <source>Disabled Night Mode</source>
+ <translation>Disabled Night Mode</translation>
+ </message>
+@@ -11964,7 +12326,7 @@
+ <message>
+ <location filename="../libs/libmythtv/AirPlay/mythraopconnection.cpp" line="1500"/>
+ <source>Failed to read key from: %1</source>
+- <translation>Failed to read key from: %1</translation>
++ <translation>Failed to Read Key From: %1</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/AirPlay/mythraopconnection.cpp" line="1517"/>
+@@ -12019,7 +12381,7 @@
+ <message>
+ <location filename="../programs/mythwelcome/welcomesettings.cpp" line="136"/>
+ <source>Wakeup time format</source>
+- <translation>Wakeup time format</translation>
++ <translation>Wakeup Time Format</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythwelcome/welcomesettings.cpp" line="139"/>
+@@ -12039,7 +12401,7 @@
+ <message>
+ <location filename="../programs/mythwelcome/welcomesettings.cpp" line="163"/>
+ <source>Command to reboot</source>
+- <translation>Command to reboot</translation>
++ <translation>Command to Reboot</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythwelcome/welcomesettings.cpp" line="165"/>
+@@ -12049,7 +12411,7 @@
+ <message>
+ <location filename="../programs/mythwelcome/welcomesettings.cpp" line="172"/>
+ <source>Command to shutdown</source>
+- <translation>Command to shutdown</translation>
++ <translation>Command to Shutdown</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythwelcome/welcomesettings.cpp" line="174"/>
+@@ -12059,7 +12421,7 @@
+ <message>
+ <location filename="../programs/mythwelcome/welcomesettings.cpp" line="181"/>
+ <source>Command to run to start the Frontend</source>
+- <translation>Command to run to start the Frontend</translation>
++ <translation>Command to Start the Frontend</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythwelcome/welcomesettings.cpp" line="184"/>
+@@ -12069,7 +12431,7 @@
+ <message>
+ <location filename="../programs/mythwelcome/welcomesettings.cpp" line="191"/>
+ <source>Command to run Xterm</source>
+- <translation>Command to run Xterm</translation>
++ <translation>Command to Start Xterm</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythwelcome/welcomesettings.cpp" line="193"/>
+@@ -12085,212 +12447,217 @@
+ <context>
+ <name>MythSystemEventEditor</name>
+ <message>
+- <location filename="../libs/libmythtv/mythsystemevent.cpp" line="377"/>
++ <location filename="../libs/libmythtv/mythsystemevent.cpp" line="380"/>
+ <source>System Event Command Editor</source>
+ <translation>System Event Command Editor</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/mythsystemevent.cpp" line="383"/>
++ <location filename="../libs/libmythtv/mythsystemevent.cpp" line="386"/>
+ <source>Recording pending</source>
+- <translation>Recording pending</translation>
++ <translation>Recording Pending</translation>
++ </message>
++ <message>
++ <location filename="../libs/libmythtv/mythsystemevent.cpp" line="388"/>
++ <source>Recording about to fail</source>
++ <translation>Recording About to Fail</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/mythsystemevent.cpp" line="385"/>
++ <location filename="../libs/libmythtv/mythsystemevent.cpp" line="390"/>
+ <source>Recording failing</source>
+- <translation>Recording failing</translation>
++ <translation>Recording Failing</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/mythsystemevent.cpp" line="387"/>
++ <location filename="../libs/libmythtv/mythsystemevent.cpp" line="392"/>
+ <source>Recording started</source>
+- <translation>Recording started</translation>
++ <translation>Recording Started</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/mythsystemevent.cpp" line="389"/>
++ <location filename="../libs/libmythtv/mythsystemevent.cpp" line="394"/>
+ <source>Recording started writing</source>
+- <translation>Recording started writing</translation>
++ <translation>Recording Started Writing</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/mythsystemevent.cpp" line="391"/>
++ <location filename="../libs/libmythtv/mythsystemevent.cpp" line="396"/>
+ <source>Recording finished</source>
+- <translation>Recording finished</translation>
++ <translation>Recording Finished</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/mythsystemevent.cpp" line="393"/>
++ <location filename="../libs/libmythtv/mythsystemevent.cpp" line="398"/>
+ <source>Recording deleted</source>
+- <translation>Recording deleted</translation>
++ <translation>Recording Deleted</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/mythsystemevent.cpp" line="395"/>
++ <location filename="../libs/libmythtv/mythsystemevent.cpp" line="400"/>
+ <source>Recording expired</source>
+- <translation>Recording expired</translation>
++ <translation>Recording Expired</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/mythsystemevent.cpp" line="397"/>
++ <location filename="../libs/libmythtv/mythsystemevent.cpp" line="402"/>
+ <source>LiveTV started</source>
+- <translation>LiveTV started</translation>
++ <translation>LiveTV Started</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/mythsystemevent.cpp" line="399"/>
++ <location filename="../libs/libmythtv/mythsystemevent.cpp" line="404"/>
+ <source>LiveTV ended</source>
+- <translation>LiveTV ended</translation>
++ <translation>LiveTV Ended</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/mythsystemevent.cpp" line="401"/>
++ <location filename="../libs/libmythtv/mythsystemevent.cpp" line="406"/>
+ <source>Playback started</source>
+- <translation>Playback started</translation>
++ <translation>Playback Started</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/mythsystemevent.cpp" line="403"/>
++ <location filename="../libs/libmythtv/mythsystemevent.cpp" line="408"/>
+ <source>Playback stopped</source>
+- <translation>Playback stopped</translation>
++ <translation>Playback Stopped</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/mythsystemevent.cpp" line="405"/>
++ <location filename="../libs/libmythtv/mythsystemevent.cpp" line="410"/>
+ <source>Playback paused</source>
+- <translation>Playback paused</translation>
++ <translation>Playback Paused</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/mythsystemevent.cpp" line="407"/>
++ <location filename="../libs/libmythtv/mythsystemevent.cpp" line="412"/>
+ <source>Playback unpaused</source>
+- <translation>Playback unpaused</translation>
++ <translation>Playback Unpaused</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/mythsystemevent.cpp" line="409"/>
++ <location filename="../libs/libmythtv/mythsystemevent.cpp" line="414"/>
+ <source>Playback program changed</source>
+- <translation>Playback program changed</translation>
++ <translation>Playback Program Changed</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/mythsystemevent.cpp" line="411"/>
++ <location filename="../libs/libmythtv/mythsystemevent.cpp" line="416"/>
+ <source>Tuning signal waiting</source>
+- <translation>Tuning signal waiting</translation>
++ <translation>Tuning Signal Waiting</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/mythsystemevent.cpp" line="413"/>
++ <location filename="../libs/libmythtv/mythsystemevent.cpp" line="418"/>
+ <source>Master backend started</source>
+- <translation>Master backend started</translation>
++ <translation>Master Backend Started</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/mythsystemevent.cpp" line="415"/>
++ <location filename="../libs/libmythtv/mythsystemevent.cpp" line="420"/>
+ <source>Master backend shutdown</source>
+- <translation>Master backend shutdown</translation>
++ <translation>Master Backend Shutdown</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/mythsystemevent.cpp" line="417"/>
++ <location filename="../libs/libmythtv/mythsystemevent.cpp" line="422"/>
+ <source>Client connected to master backend</source>
+- <translation>Client connected to master backend</translation>
++ <translation>Client Connected to Master Backend</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/mythsystemevent.cpp" line="419"/>
++ <location filename="../libs/libmythtv/mythsystemevent.cpp" line="424"/>
+ <source>Client disconnected from master backend</source>
+- <translation>Client disconnected from master backend</translation>
++ <translation>Client Disconnected from Master Backend</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/mythsystemevent.cpp" line="421"/>
++ <location filename="../libs/libmythtv/mythsystemevent.cpp" line="426"/>
+ <source>Slave backend connected to master</source>
+- <translation>Slave backend connected to master</translation>
++ <translation>Slave Backend Connected to Master</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/mythsystemevent.cpp" line="423"/>
++ <location filename="../libs/libmythtv/mythsystemevent.cpp" line="428"/>
+ <source>Slave backend disconnected from master</source>
+- <translation>Slave backend disconnected from master</translation>
++ <translation>Slave Backend Disconnected from Master</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/mythsystemevent.cpp" line="425"/>
++ <location filename="../libs/libmythtv/mythsystemevent.cpp" line="430"/>
+ <source>Network Control client connected</source>
+- <translation>Network Control client connected</translation>
++ <translation>Network Control Client Connected</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/mythsystemevent.cpp" line="427"/>
++ <location filename="../libs/libmythtv/mythsystemevent.cpp" line="432"/>
+ <source>Network Control client disconnected</source>
+- <translation>Network Control client disconnected</translation>
++ <translation>Network Control Client Disconnected</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/mythsystemevent.cpp" line="429"/>
++ <location filename="../libs/libmythtv/mythsystemevent.cpp" line="434"/>
+ <source>mythfilldatabase ran</source>
+- <translation>mythfilldatabase ran</translation>
++ <translation>mythfilldatabase Ran</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/mythsystemevent.cpp" line="431"/>
++ <location filename="../libs/libmythtv/mythsystemevent.cpp" line="436"/>
+ <source>Scheduler ran</source>
+- <translation>Scheduler ran</translation>
++ <translation>Scheduler Ran</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/mythsystemevent.cpp" line="433"/>
++ <location filename="../libs/libmythtv/mythsystemevent.cpp" line="438"/>
+ <source>Settings cache cleared</source>
+- <translation>Settings cache cleared</translation>
++ <translation>Settings Cache Cleared</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/mythsystemevent.cpp" line="435"/>
++ <location filename="../libs/libmythtv/mythsystemevent.cpp" line="440"/>
+ <source>Screen created or destroyed</source>
+- <translation>Screen created or destroyed</translation>
++ <translation>Screen Created or Destroyed</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/mythsystemevent.cpp" line="437"/>
++ <location filename="../libs/libmythtv/mythsystemevent.cpp" line="442"/>
+ <source>Keystroke event #1</source>
+- <translation>Keystroke event #1</translation>
++ <translation>Keystroke Event #1</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/mythsystemevent.cpp" line="439"/>
++ <location filename="../libs/libmythtv/mythsystemevent.cpp" line="444"/>
+ <source>Keystroke event #2</source>
+- <translation>Keystroke event #2</translation>
++ <translation>Keystroke Event #2</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/mythsystemevent.cpp" line="441"/>
++ <location filename="../libs/libmythtv/mythsystemevent.cpp" line="446"/>
+ <source>Keystroke event #3</source>
+- <translation>Keystroke event #3</translation>
++ <translation>Keystroke Event #3</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/mythsystemevent.cpp" line="443"/>
++ <location filename="../libs/libmythtv/mythsystemevent.cpp" line="448"/>
+ <source>Keystroke event #4</source>
+- <translation>Keystroke event #4</translation>
++ <translation>Keystroke Event #4</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/mythsystemevent.cpp" line="445"/>
++ <location filename="../libs/libmythtv/mythsystemevent.cpp" line="450"/>
+ <source>Keystroke event #5</source>
+- <translation>Keystroke event #5</translation>
++ <translation>Keystroke Event #5</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/mythsystemevent.cpp" line="447"/>
++ <location filename="../libs/libmythtv/mythsystemevent.cpp" line="452"/>
+ <source>Keystroke event #6</source>
+- <translation>Keystroke event #6</translation>
++ <translation>Keystroke Event #6</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/mythsystemevent.cpp" line="449"/>
++ <location filename="../libs/libmythtv/mythsystemevent.cpp" line="454"/>
+ <source>Keystroke event #7</source>
+- <translation>Keystroke event #7</translation>
++ <translation>Keystroke Event #7</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/mythsystemevent.cpp" line="451"/>
++ <location filename="../libs/libmythtv/mythsystemevent.cpp" line="456"/>
+ <source>Keystroke event #8</source>
+- <translation>Keystroke event #8</translation>
++ <translation>Keystroke Event #8</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/mythsystemevent.cpp" line="453"/>
++ <location filename="../libs/libmythtv/mythsystemevent.cpp" line="458"/>
+ <source>Keystroke event #9</source>
+- <translation>Keystroke event #9</translation>
++ <translation>Keystroke Event #9</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/mythsystemevent.cpp" line="455"/>
++ <location filename="../libs/libmythtv/mythsystemevent.cpp" line="460"/>
+ <source>Keystroke event #10</source>
+- <translation>Keystroke event #10</translation>
++ <translation>Keystroke Event #10</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/mythsystemevent.cpp" line="457"/>
++ <location filename="../libs/libmythtv/mythsystemevent.cpp" line="462"/>
+ <source>CEC command received</source>
+- <translation>CEC command received</translation>
++ <translation>CEC Command Received</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/mythsystemevent.cpp" line="459"/>
++ <location filename="../libs/libmythtv/mythsystemevent.cpp" line="464"/>
+ <source>Any event</source>
+- <translation>Any event</translation>
++ <translation>Any Event</translation>
+ </message>
+ </context>
+ <context>
+ <name>MythTerminal</name>
+ <message>
+- <location filename="../libs/libmyth/mythterminal.cpp" line="158"/>
++ <location filename="../libs/libmyth/mythterminal.cpp" line="134"/>
+ <source>*** Exited with status: %1 ***</source>
+- <translation>*** Exited with status: %1 ***</translation>
++ <translation>*** Exited with Status: %1 ***</translation>
+ </message>
+ </context>
+ <context>
+@@ -12303,12 +12670,12 @@
+ <message>
+ <location filename="../libs/libmythui/myththemedmenu.cpp" line="322"/>
+ <source>Enter standby mode</source>
+- <translation>Enter standby mode</translation>
++ <translation>Standby</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythui/myththemedmenu.cpp" line="326"/>
+ <source>Exit application</source>
+- <translation>Exit application</translation>
++ <translation>Exit</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythui/myththemedmenu.cpp" line="333"/>
+@@ -12339,12 +12706,12 @@
+ <message>
+ <location filename="../libs/libmythui/myththemedmenu.cpp" line="377"/>
+ <source>Ok</source>
+- <translation>Ok</translation>
++ <translation>OK</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythui/myththemedmenu.cpp" line="609"/>
+ <source>MythTV could not locate the menu file %1</source>
+- <translation>MythTV could not locate the menu file %1</translation>
++ <translation>MythTV Could Not Locate the Menu File %1</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythui/myththemedmenu.cpp" line="626"/>
+@@ -12390,8 +12757,8 @@
+ <context>
+ <name>MythUISearchDialog</name>
+ <message numerus="yes">
+- <location filename="../libs/libmythui/mythdialogbox.cpp" line="798"/>
+- <location filename="../libs/libmythui/mythdialogbox.cpp" line="859"/>
++ <location filename="../libs/libmythui/mythdialogbox.cpp" line="932"/>
++ <location filename="../libs/libmythui/mythdialogbox.cpp" line="993"/>
+ <source>%n match(es)</source>
+ <translation>
+ <numerusform>%n match</numerusform>
+@@ -12402,76 +12769,76 @@
+ <context>
+ <name>MythUIWebBrowser</name>
+ <message>
+- <location filename="../libs/libmythui/mythuiwebbrowser.cpp" line="1193"/>
++ <location filename="../libs/libmythui/mythuiwebbrowser.cpp" line="1199"/>
+ <source>Zoom: %1%</source>
+ <translation>Zoom: %1%</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythui/mythuiwebbrowser.cpp" line="1537"/>
++ <location filename="../libs/libmythui/mythuiwebbrowser.cpp" line="1543"/>
+ <source>Sending key presses to web page</source>
+- <translation>Sending key presses to web page</translation>
++ <translation>Sending Key Presses to Web Page</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythui/mythuiwebbrowser.cpp" line="1539"/>
++ <location filename="../libs/libmythui/mythuiwebbrowser.cpp" line="1545"/>
+ <source>Sending key presses to MythTV</source>
+- <translation>Sending key presses to MythTV</translation>
++ <translation>Sending Key Presses to MythTV</translation>
+ </message>
+ </context>
+ <context>
+ <name>MythWebPage</name>
+ <message>
+- <location filename="../libs/libmythui/mythuiwebbrowser.cpp" line="314"/>
++ <location filename="../libs/libmythui/mythuiwebbrowser.cpp" line="320"/>
+ <source>Error loading page: %1</source>
+- <translation>Error loading page: %1</translation>
++ <translation>Error Loading Page: %1</translation>
+ </message>
+ </context>
+ <context>
+ <name>MythWebView</name>
+ <message>
+- <location filename="../libs/libmythui/mythuiwebbrowser.cpp" line="546"/>
++ <location filename="../libs/libmythui/mythuiwebbrowser.cpp" line="552"/>
+ <source>Enter filename to save file</source>
+- <translation>Enter filename to save file</translation>
++ <translation>Enter filename:</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythui/mythuiwebbrowser.cpp" line="566"/>
++ <location filename="../libs/libmythui/mythuiwebbrowser.cpp" line="572"/>
+ <source>Downloading file. Please wait...</source>
+ <translation>Downloading file. Please wait...</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythui/mythuiwebbrowser.cpp" line="579"/>
++ <location filename="../libs/libmythui/mythuiwebbrowser.cpp" line="585"/>
+ <source>Downloading...</source>
+ <translation>Downloading...</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythui/mythuiwebbrowser.cpp" line="616"/>
+- <location filename="../libs/libmythui/mythuiwebbrowser.cpp" line="708"/>
++ <location filename="../libs/libmythui/mythuiwebbrowser.cpp" line="622"/>
++ <location filename="../libs/libmythui/mythuiwebbrowser.cpp" line="714"/>
+ <source>Play the file</source>
+- <translation>Play the file</translation>
++ <translation>Play the File</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythui/mythuiwebbrowser.cpp" line="639"/>
+- <location filename="../libs/libmythui/mythuiwebbrowser.cpp" line="713"/>
++ <location filename="../libs/libmythui/mythuiwebbrowser.cpp" line="645"/>
++ <location filename="../libs/libmythui/mythuiwebbrowser.cpp" line="719"/>
+ <source>Download the file</source>
+- <translation>Download the file</translation>
++ <translation>Download the File</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythui/mythuiwebbrowser.cpp" line="643"/>
+- <location filename="../libs/libmythui/mythuiwebbrowser.cpp" line="711"/>
++ <location filename="../libs/libmythui/mythuiwebbrowser.cpp" line="649"/>
++ <location filename="../libs/libmythui/mythuiwebbrowser.cpp" line="717"/>
+ <source>Download and play the file</source>
+- <translation>Download and play the file</translation>
++ <translation>Download and Play the File</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythui/mythuiwebbrowser.cpp" line="675"/>
++ <location filename="../libs/libmythui/mythuiwebbrowser.cpp" line="681"/>
+ <source>ERROR downloading file.</source>
+- <translation>ERROR downloading file.</translation>
++ <translation>Error Downloading File</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythui/mythuiwebbrowser.cpp" line="693"/>
++ <location filename="../libs/libmythui/mythuiwebbrowser.cpp" line="699"/>
+ <source>What do you want to do with this file?</source>
+ <translation>What do you want to do with this file?</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythui/mythuiwebbrowser.cpp" line="714"/>
++ <location filename="../libs/libmythui/mythuiwebbrowser.cpp" line="720"/>
+ <source>Cancel</source>
+ <translation>Cancel</translation>
+ </message>
+@@ -12482,7 +12849,7 @@
+ <location filename="../programs/mythwelcome/welcomesettings.cpp" line="14"/>
+ <location filename="../programs/mythwelcome/welcomesettings.cpp" line="34"/>
+ <source>Period %1 start time</source>
+- <translation>Period %1 start time</translation>
++ <translation>Period %1 Start Time</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythwelcome/welcomesettings.cpp" line="15"/>
+@@ -12494,7 +12861,7 @@
+ <location filename="../programs/mythwelcome/welcomesettings.cpp" line="24"/>
+ <location filename="../programs/mythwelcome/welcomesettings.cpp" line="44"/>
+ <source>Period %1 end time</source>
+- <translation>Period %1 end time</translation>
++ <translation>Period %1 End Time</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythwelcome/welcomesettings.cpp" line="25"/>
+@@ -12541,7 +12908,7 @@
+ <location filename="../programs/mythwelcome/welcomesettings.cpp" line="96"/>
+ <location filename="../programs/mythwelcome/welcomesettings.cpp" line="101"/>
+ <source>Daily Wakeup/ShutDown Period %1</source>
+- <translation>Daily Wakeup/ShutDown Period %1</translation>
++ <translation>Daily Wakeup/Shutdown Period %1</translation>
+ </message>
+ </context>
+ <context>
+@@ -12570,7 +12937,7 @@
+ <context>
+ <name>NetworkControl</name>
+ <message>
+- <location filename="../programs/mythfrontend/networkcontrol.cpp" line="1505"/>
++ <location filename="../programs/mythfrontend/networkcontrol.cpp" line="1512"/>
+ <source>Network Control</source>
+ <translation>Network Control</translation>
+ </message>
+@@ -12578,87 +12945,87 @@
+ <context>
+ <name>OSDSettings</name>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="1484"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1460"/>
+ <source>Decode VBI format</source>
+- <translation>Decode VBI format</translation>
++ <translation>Decode VBI Format</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="1486"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1462"/>
+ <source>None</source>
+ <translation>None</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="1488"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1464"/>
+ <source>PAL teletext</source>
+- <translation>PAL teletext</translation>
++ <translation>PAL Teletext</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="1490"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1466"/>
+ <source>NTSC closed caption</source>
+- <translation>NTSC closed caption</translation>
++ <translation>NTSC Closed Caption</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="1494"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1470"/>
+ <source>If enabled, this overrides the mythtv-setup setting used during recording when decoding captions.</source>
+ <translation>If enabled, this overrides the mythtv-setup setting used during recording when decoding captions.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="1504"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1480"/>
+ <source>Subtitle Codec</source>
+ <translation>Subtitle Codec</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="1589"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1565"/>
+ <source>Always display closed captioning or subtitles</source>
+- <translation>Always display closed captioning or subtitles</translation>
++ <translation>Always Display Closed Captioning or Subtitles</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="1594"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1570"/>
+ <source>If enabled, captions will be displayed when playing back recordings or watching Live TV. Closed Captioning can be turned on or off by pressing &quot;T&quot; duringplayback.</source>
+ <translation>If enabled, captions will be displayed when playing back recordings or watching Live TV. Closed Captioning can be turned on or off by pressing &quot;T&quot; duringplayback.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="1606"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1582"/>
+ <source>Enable interactive TV</source>
+- <translation>Enable interactive TV</translation>
++ <translation>Enable Interactive TV</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="1610"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1586"/>
+ <source>If enabled, interactive TV applications (MHEG) will be activated. This is used for teletext and logos for radio and channels that are currently off-air.</source>
+ <translation>If enabled, interactive TV applications (MHEG) will be activated. This is used for teletext and logos for radio and channels that are currently off-air.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="1620"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1596"/>
+ <source>Enable network access for interactive TV</source>
+- <translation>Enable network access for interactive TV</translation>
++ <translation>Enable Network Access for Interactive TV</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="1622"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1598"/>
+ <source>If enabled, interactive TV applications (MHEG) will be able to access interactive content over the Internet. This is used for BBC iPlayer.</source>
+ <translation>If enabled, interactive TV applications (MHEG) will be able to access interactive content over the Internet. This is used, amongst others, for BBC iPlayer.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="1633"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1609"/>
+ <source>Always use browse mode in Live TV</source>
+- <translation>Always use browse mode in Live TV</translation>
++ <translation>Always Use Browse Mode in Live TV</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="1637"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1613"/>
+ <source>If enabled, browse mode will automatically be activated whenever you use channel up/down while watching Live TV.</source>
+ <translation>If enabled, browse mode will automatically be activated whenever you use channel up/down while watching Live TV.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="1648"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1624"/>
+ <source>Browse all channels</source>
+- <translation>Browse all channels</translation>
++ <translation>Browse All Channels</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="1652"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1628"/>
+ <source>If enabled, browse mode will show channels on all available recording devices, instead of showing channels on just the current recorder.</source>
+ <translation>If enabled, browse mode will show channels on all available recording devices, instead of showing channels on just the current recorder.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="4065"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="4102"/>
+ <source>On-screen Display</source>
+ <translation>On-screen Display</translation>
+ </message>
+@@ -12719,7 +13086,7 @@
+ <context>
+ <name>PaneATSC</name>
+ <message>
+- <location filename="../libs/libmythtv/channelscan/paneatsc.h" line="42"/>
++ <location filename="../libs/libmythtv/channelscan/paneatsc.h" line="38"/>
+ <source>Scanning Range</source>
+ <translation>Scanning Range</translation>
+ </message>
+@@ -12727,12 +13094,12 @@
+ <context>
+ <name>PaneDVBUtilsImport</name>
+ <message>
+- <location filename="../libs/libmythtv/channelscan/panedvbutilsimport.h" line="49"/>
++ <location filename="../libs/libmythtv/channelscan/panedvbutilsimport.h" line="48"/>
+ <source>File location</source>
+- <translation>File location</translation>
++ <translation>File Location</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelscan/panedvbutilsimport.h" line="50"/>
++ <location filename="../libs/libmythtv/channelscan/panedvbutilsimport.h" line="49"/>
+ <source>Location of the channels.conf file.</source>
+ <translation>Location of the channels.conf file.</translation>
+ </message>
+@@ -12802,67 +13169,80 @@
+ </message>
+ </context>
+ <context>
++ <name>PlayBackScaling</name>
++ <message>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="3857"/>
++ <source>Scaling</source>
++ <translation>Scaling</translation>
++ </message>
++ <message>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="3880"/>
++ <source>No scaling</source>
++ <translation>No Scaling</translation>
++ </message>
++</context>
++<context>
+ <name>PlayGroupConfig</name>
+ <message>
+- <location filename="../libs/libmythtv/playgroup.cpp" line="55"/>
++ <location filename="../libs/libmythtv/playgroup.cpp" line="42"/>
+ <source>Title match (regex)</source>
+- <translation>Title match (regex)</translation>
++ <translation>Title Match (regex)</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/playgroup.cpp" line="56"/>
++ <location filename="../libs/libmythtv/playgroup.cpp" line="43"/>
+ <source>Automatically set new recording rules to use this group if the title matches this regular expression. For example, &quot;(News|CNN)&quot; would match any title in which &quot;News&quot; or &quot;CNN&quot; appears.</source>
+ <translation>Automatically set new recording rules to use this group if the title matches this regular expression. For example, &quot;(News|CNN)&quot; would match any title in which &quot;News&quot; or &quot;CNN&quot; appears.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/playgroup.cpp" line="69"/>
+- <location filename="../libs/libmythtv/playgroup.cpp" line="82"/>
+- <location filename="../libs/libmythtv/playgroup.cpp" line="95"/>
+- <location filename="../libs/libmythtv/playgroup.cpp" line="110"/>
++ <location filename="../libs/libmythtv/playgroup.cpp" line="57"/>
++ <location filename="../libs/libmythtv/playgroup.cpp" line="71"/>
++ <location filename="../libs/libmythtv/playgroup.cpp" line="84"/>
++ <location filename="../libs/libmythtv/playgroup.cpp" line="99"/>
+ <source>(default)</source>
+ <translation>(default)</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/playgroup.cpp" line="72"/>
++ <location filename="../libs/libmythtv/playgroup.cpp" line="60"/>
+ <source>Skip ahead (seconds)</source>
+- <translation>Skip ahead (seconds)</translation>
++ <translation>Skip Ahead (seconds)</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/playgroup.cpp" line="73"/>
++ <location filename="../libs/libmythtv/playgroup.cpp" line="61"/>
+ <source>How many seconds to skip forward on a fast forward.</source>
+ <translation>How many seconds to skip forward on a fast forward.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/playgroup.cpp" line="85"/>
++ <location filename="../libs/libmythtv/playgroup.cpp" line="73"/>
+ <source>Skip back (seconds)</source>
+- <translation>Skip back (seconds)</translation>
++ <translation>Skip Back (seconds)</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/playgroup.cpp" line="86"/>
++ <location filename="../libs/libmythtv/playgroup.cpp" line="74"/>
+ <source>How many seconds to skip backward on a rewind.</source>
+ <translation>How many seconds to skip backward on a rewind.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/playgroup.cpp" line="98"/>
++ <location filename="../libs/libmythtv/playgroup.cpp" line="86"/>
+ <source>Jump amount (minutes)</source>
+- <translation>Jump amount (minutes)</translation>
++ <translation>Jump Amount (minutes)</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/playgroup.cpp" line="99"/>
++ <location filename="../libs/libmythtv/playgroup.cpp" line="87"/>
+ <source>How many minutes to jump forward or backward when the jump keys are pressed.</source>
+ <translation>How many minutes to jump forward or backward when the jump keys are pressed.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/playgroup.cpp" line="114"/>
++ <location filename="../libs/libmythtv/playgroup.cpp" line="102"/>
+ <source>Time stretch (speed x 100)</source>
+- <translation>Time stretch (speed x 100)</translation>
++ <translation>Time Stretch (speed x 100)</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/playgroup.cpp" line="115"/>
++ <location filename="../libs/libmythtv/playgroup.cpp" line="103"/>
+ <source>Initial playback speed with adjusted audio. Use 100 for normal speed, 50 for half speed and 200 for double speed.</source>
+ <translation>Initial playback speed with adjusted audio. Use 100 for normal speed, 50 for half speed and 200 for double speed.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/playgroup.cpp" line="147"/>
++ <location filename="../libs/libmythtv/playgroup.cpp" line="131"/>
+ <source>%1 Group</source>
+ <comment>Play Group</comment>
+ <extracomment>%1 is the name of the playgroup</extracomment>
+@@ -12872,410 +13252,417 @@
+ <context>
+ <name>PlayGroupEditor</name>
+ <message>
+- <location filename="../libs/libmythtv/playgroup.cpp" line="236"/>
++ <location filename="../libs/libmythtv/playgroup.cpp" line="270"/>
+ <source>Playback Groups</source>
+ <translation>Playback Groups</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/playgroup.cpp" line="249"/>
++ <location filename="../libs/libmythtv/playgroup.cpp" line="271"/>
+ <source>Create New Playback Group</source>
+ <translation>Create New Playback Group</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/playgroup.cpp" line="250"/>
++ <location filename="../libs/libmythtv/playgroup.cpp" line="281"/>
++ <source>Enter new group name</source>
++ <translation>Enter group name:</translation>
++ </message>
++ <message>
++ <location filename="../libs/libmythtv/playgroup.cpp" line="297"/>
++ <source>Sorry, this Playback Group name cannot be blank.</source>
++ <translation>Sorry, the name cannot be blank.</translation>
++ </message>
++ <message>
++ <location filename="../libs/libmythtv/playgroup.cpp" line="315"/>
++ <source>Sorry, this Playback Group name is already in use.</source>
++ <translation>Sorry, this name is already in use.</translation>
++ </message>
++ <message>
+ <source>Enter group name or press SELECT to enter text via the On Screen Keyboard</source>
+- <translation>Enter group name or press SELECT to enter text via the On Screen Keyboard</translation>
++ <translation type="vanished">Enter group name or press SELECT to enter text via the On Screen Keyboard</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/playgroup.cpp" line="283"/>
+ <source>Delete playback group:
+ &apos;%1&apos;?</source>
+- <translation>Delete playback group:
++ <translation type="vanished">Delete playback group:
+ &apos;%1&apos;?</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/playgroup.cpp" line="288"/>
+ <source>Yes, delete group</source>
+- <translation>Yes, delete group</translation>
++ <translation type="vanished">Yes, Delete Group</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/playgroup.cpp" line="289"/>
+ <source>No, Don&apos;t delete group</source>
+- <translation>No, Don&apos;t delete group</translation>
++ <translation type="vanished">No, Keep Group</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/playgroup.cpp" line="312"/>
++ <location filename="../libs/libmythtv/playgroup.cpp" line="326"/>
+ <source>Default</source>
+ <translation>Default</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/playgroup.cpp" line="321"/>
+ <source>(Create new group)</source>
+- <translation>(Create new group)</translation>
++ <translation type="vanished">(Create new group)</translation>
+ </message>
+ </context>
+ <context>
+ <name>PlaybackBox</name>
+ <message>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="413"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="416"/>
+ <source>Watch List</source>
+ <translation>Watch List</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="590"/>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="4485"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="594"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="4512"/>
+ <source>Groups</source>
+ <translation>Groups</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="591"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="595"/>
+ <source>Recordings</source>
+ <translation>Recordings</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="635"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="639"/>
+ <source>Password for group &apos;%1&apos;:</source>
+ <translation>Password for group &apos;%1&apos;:</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="734"/>
+ <source>, which consume %1</source>
+- <translation>, which consume %1</translation>
++ <translation type="vanished">, which consume %1</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="735"/>
+ <source>GB</source>
+ <comment>GigaBytes</comment>
+- <translation>GB</translation>
++ <translation type="vanished">GB</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="1453"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="1460"/>
+ <source>There are no recordings in your current view</source>
+- <translation>There are no recordings in your current view</translation>
++ <translation>There are No Recordings in the Current View</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="1452"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="1459"/>
+ <source>There are no recordings available</source>
+- <translation>There are no recordings available</translation>
++ <translation>There are No Recordings Available</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="1680"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="1734"/>
+ <source>_NO_TITLE_</source>
+ <translation>_NO_TITLE_</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="1692"/>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="4537"/>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="4539"/>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="4543"/>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="4554"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="1675"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="4564"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="4566"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="4570"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="4581"/>
+ <source>Unknown</source>
+ <translation>Unknown</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="2438"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="2466"/>
+ <source>Change Group Filter</source>
+ <translation>Change Group Filter</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="2441"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="2469"/>
+ <source>Change Group View</source>
+ <translation>Change Group View</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="2445"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="2473"/>
+ <source>Change Group Password</source>
+ <translation>Change Group Password</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="2456"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="2484"/>
+ <source>Add this Group to Playlist</source>
+- <translation>Add this Group to Playlist</translation>
++ <translation>Add This Group to Playlist</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="2461"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="2489"/>
+ <source>Add this recording to Playlist</source>
+- <translation>Add this recording to Playlist</translation>
++ <translation>Add This Recording to Playlist</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="2466"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="2494"/>
+ <source>Help (Status Icons)</source>
+ <translation>Help (Status Icons)</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="2588"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="2616"/>
+ <source>Are you sure you want to delete:</source>
+ <translation>Are you sure you want to delete:</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="2590"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="2618"/>
+ <source>Recording file does not exist.
+ Are you sure you want to delete:</source>
+ <translation>Recording file does not exist.
+ Are you sure you want to delete:</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="2594"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="2622"/>
+ <source>Are you sure you want to stop:</source>
+ <translation>Are you sure you want to stop:</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="2623"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="2651"/>
+ <source>Yes, and allow re-record</source>
+- <translation>Yes, and allow re-record</translation>
++ <translation>Yes, Delete and Allow Re-record</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="2631"/>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="2635"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="2659"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="2663"/>
+ <source>Yes, delete it</source>
+- <translation>Yes, delete it</translation>
++ <translation>Yes, Delete</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="2639"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="2667"/>
+ <source>Yes, stop recording</source>
+- <translation>Yes, stop recording</translation>
++ <translation>Yes, Stop Recording</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="2653"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="2681"/>
+ <source>Yes, delete it and the remaining %1 list items</source>
+- <translation>Yes, delete it and the remaining %1 list items</translation>
++ <translation>Yes, Delete Recording and the Remaining %1 List Items</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="2663"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="2691"/>
+ <source>No, keep it</source>
+- <translation>No, keep it</translation>
++ <translation>No, Keep</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="2667"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="2695"/>
+ <source>No, continue recording</source>
+- <translation>No, continue recording</translation>
++ <translation>No, Continue Recording</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="2675"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="2703"/>
+ <source>No, and keep the remaining %1 list items</source>
+- <translation>No, and keep the remaining %1 list items</translation>
++ <translation>No, Keep the Remaining %1 List Items</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="2695"/>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="2702"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="2723"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="2730"/>
+ <source>Recording Available
+ </source>
+ <translation>Recording Available
+ </translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="2352"/>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="2697"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="2380"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="2725"/>
+ <source>This recording is currently in use by:</source>
+ <translation>This recording is currently in use by:</translation>
+ </message>
+ <message numerus="yes">
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="710"/>
+ <source>There is/are %n recording(s) in this display group</source>
+ <translatorcomment>Used to have singular/plural problem.</translatorcomment>
+- <translation>
++ <translation type="vanished">
+ <numerusform>There is %n recording in this display group</numerusform>
+ <numerusform>There are %n recordings in this display group</numerusform>
+ </translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="1308"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="1315"/>
+ <source>%1% used, %2 GB free</source>
+ <comment>Diskspace</comment>
+ <translation>%1% used, %2 GB free</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="1715"/>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="2123"/>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="2124"/>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="3586"/>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="3588"/>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="4508"/>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="4717"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="1749"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="2151"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="2152"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="3613"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="3615"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="4535"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="4742"/>
+ <source>Live TV</source>
+ <translation>Live TV</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="2332"/>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="2347"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="2360"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="2375"/>
+ <source>This recording is already being deleted</source>
+- <translation>This recording is already being deleted</translation>
++ <translation>This Recording Is Already Being Deleted</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="2450"/>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="3190"/>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="3234"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="2478"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="3218"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="3262"/>
+ <source>Playlist Options</source>
+ <translation>Playlist Options</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="2704"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="2732"/>
+ <source>This recording is currently Available</source>
+- <translation>This recording is currently Available</translation>
++ <translation>This Recording Is Currently Available</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="2709"/>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="2715"/>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="2721"/>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="2727"/>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="2733"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="2737"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="2743"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="2749"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="2755"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="2761"/>
+ <source>Recording Unavailable
+ </source>
+ <translation>Recording Unavailable
+ </translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="2711"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="2739"/>
+ <source>This recording is currently being deleted and is unavailable</source>
+- <translation>This recording is currently being deleted and is unavailable</translation>
++ <translation>This Recording Is Currently Being Deleted and Is Unavailable</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="2717"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="2745"/>
+ <source>This recording has been deleted and is unavailable</source>
+- <translation>This recording has been deleted and is unavailable</translation>
++ <translation>This Recording Has Been Deleted and Is Unavailable</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="2723"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="2751"/>
+ <source>The file for this recording can not be found</source>
+- <translation>The file for this recording can not be found</translation>
++ <translation>The File for This Recording Can Not Be Found</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="2729"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="2757"/>
+ <source>The file for this recording is empty.</source>
+- <translation>The file for this recording is empty.</translation>
++ <translation>The File for This Recording Is Empty</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="2735"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="2763"/>
+ <source>This recording is not yet available.</source>
+- <translation>This recording is not yet available.</translation>
++ <translation>This Recording Is Not Yet Available</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="2747"/>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="3220"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="2775"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="3248"/>
+ <source>Play</source>
+ <translation>Play</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="2748"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="2776"/>
+ <source>Shuffle Play</source>
+ <translation>Shuffle Play</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="2749"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="2777"/>
+ <source>Clear Playlist</source>
+ <translation>Clear Playlist</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="2754"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="2782"/>
+ <source>Toggle playlist for this Category/Title</source>
+- <translation>Toggle playlist for this Category/Title</translation>
++ <translation>Toggle Playlist for This Category/Title</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="2757"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="2785"/>
+ <source>Toggle playlist for this Group</source>
+- <translation>Toggle playlist for this Group</translation>
++ <translation>Toggle Playlist for This Group</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="2761"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="2789"/>
+ <source>Toggle playlist for this recording</source>
+- <translation>Toggle playlist for this recording</translation>
++ <translation>Toggle Playlist for This Recording</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="2764"/>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="2992"/>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="3251"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="2792"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="3020"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="3281"/>
+ <source>Storage Options</source>
+ <translation>Storage Options</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="2765"/>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="3036"/>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="3253"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="2793"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="3064"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="3283"/>
+ <source>Job Options</source>
+ <translation>Job Options</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="2766"/>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="3201"/>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="3272"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="2794"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="3229"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="3302"/>
+ <source>Delete</source>
+ <translation>Delete</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="2767"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="2795"/>
+ <source>Delete, and allow re-record</source>
+- <translation>Delete, and allow re-record</translation>
++ <translation>Delete, and Allow Re-record</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="2780"/>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="2999"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="2808"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="3027"/>
+ <source>Change Recording Group</source>
+ <translation>Change Recording Group</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="2781"/>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="3000"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="2809"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="3028"/>
+ <source>Change Playback Group</source>
+ <translation>Change Playback Group</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="2782"/>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="2994"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="2810"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="3022"/>
+ <source>Disable Auto Expire</source>
+ <translation>Disable Auto Expire</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="2783"/>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="2994"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="2811"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="3022"/>
+ <source>Enable Auto Expire</source>
+ <translation>Enable Auto Expire</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="2850"/>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="3066"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="2878"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="3094"/>
+ <source>Begin Transcoding</source>
+ <translation>Begin Transcoding</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="2852"/>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="3066"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="2880"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="3094"/>
+ <source>Stop Transcoding</source>
+ <translation>Stop Transcoding</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="2860"/>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="3068"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="2888"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="3096"/>
+ <source>Begin Metadata Lookup</source>
+ <translation>Begin Metadata Lookup</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="2862"/>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="3068"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="2890"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="3096"/>
+ <source>Stop Metadata Lookup</source>
+ <translation>Stop Metadata Lookup</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="2870"/>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="2883"/>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="2896"/>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="2909"/>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="3098"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="2898"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="2911"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="2924"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="2937"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="3126"/>
+ <source>Begin</source>
+ <translation>Begin</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="2873"/>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="2886"/>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="2899"/>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="2912"/>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="3097"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="2901"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="2914"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="2927"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="2940"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="3125"/>
+ <source>Stop</source>
+ <translation>Stop</translation>
+ </message>
+ <message numerus="yes">
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="2742"/>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="2775"/>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="2793"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="2770"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="2803"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="2821"/>
+ <source>There is %n item(s) in the playlist. Actions affect all items in the playlist</source>
+ <translation>
+ <numerusform>There is %n item in the playlist. Actions affect all items in the playlist</numerusform>
+@@ -13283,220 +13670,233 @@
+ </translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="2786"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="2814"/>
+ <source>Allow Re-record</source>
+ <translation>Allow Re-record</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="2972"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="3000"/>
+ <source>Play Options</source>
+ <translation>Play Options</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="2977"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="3005"/>
+ <source>Play from bookmark</source>
+- <translation>Play from bookmark</translation>
++ <translation>Play from Bookmark</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="2978"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="3009"/>
+ <source>Play from beginning</source>
+- <translation>Play from beginning</translation>
++ <translation>Play from Beginning</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="2980"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="3007"/>
+ <source>Play from last played position</source>
+- <translation>Play from last played position</translation>
++ <translation>Play from Last Played Position</translation>
++ </message>
++ <message numerus="yes">
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="738"/>
++ <source>There is/are %n recording(s) in this display group, which consume(s) %1 GiB.</source>
++ <translation>
++ <numerusform>There is %n recording in this display group, which consumes %1 GiB.</numerusform>
++ <numerusform>There are %n recordings in this display group, which consume %1 GiB.</numerusform>
++ </translation>
++ </message>
++ <message>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="744"/>
++ <source>There is no recording in this display group.</source>
++ <translation>There Are No Recordings in This Display Group</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="2996"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="3024"/>
+ <source>Do not preserve this episode</source>
+- <translation>Do not preserve this episode</translation>
++ <translation>Do Not Preserve This Episode</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="2996"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="3024"/>
+ <source>Preserve this episode</source>
+- <translation>Preserve this episode</translation>
++ <translation>Preserve This Episode</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="3013"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="3041"/>
+ <source>Scheduling Options</source>
+ <translation>Scheduling Options</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="3017"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="3045"/>
+ <source>Edit Recording Schedule</source>
+ <translation>Edit Recording Schedule</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="3025"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="3053"/>
+ <source>Custom Edit</source>
+ <translation>Custom Edit</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="3096"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="3124"/>
+ <source>User Job</source>
+ <translation>User Job</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="3115"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="3143"/>
+ <source>Transcoding profiles</source>
+- <translation>Transcoding profiles</translation>
++ <translation>Transcoding Profiles</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="3119"/>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="4506"/>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="4715"/>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="4758"/>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="4987"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="3147"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="4533"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="4740"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="4783"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="5012"/>
+ <source>Default</source>
+ <translation>Default</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="3120"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="3148"/>
+ <source>Autodetect</source>
+ <translation>Autodetect</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="3143"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="3171"/>
+ <source>High Quality</source>
+ <translation>High Quality</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="3145"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="3173"/>
+ <source>Medium Quality</source>
+ <translation>Medium Quality</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="3147"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="3175"/>
+ <source>Low Quality</source>
+ <translation>Low Quality</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="3174"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="3202"/>
+ <source>Recording file cannot be found</source>
+- <translation>Recording file cannot be found</translation>
++ <translation>Recording File Cannot Be Found</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="3176"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="3204"/>
+ <source>Recording file contains no data</source>
+- <translation>Recording file contains no data</translation>
++ <translation>Recording File Contains No Data</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="3177"/>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="3192"/>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="3252"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="3205"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="3220"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="3282"/>
+ <source>Recording Options</source>
+ <translation>Recording Options</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="3195"/>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="3256"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="3223"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="3286"/>
+ <source>List Recorded Episodes</source>
+ <translation>List Recorded Episodes</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="3198"/>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="3259"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="3226"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="3289"/>
+ <source>List All Recordings</source>
+ <translation>List All Recordings</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="3218"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="3246"/>
+ <source>Play from...</source>
+- <translation>Play from...</translation>
++ <translation>Play From...</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="3185"/>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="3227"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="3213"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="3255"/>
+ <source>Remove from Playlist</source>
+ <translation>Remove from Playlist</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="2331"/>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="2346"/>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="2351"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="2359"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="2374"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="2379"/>
+ <source>Cannot delete
+ </source>
+- <translation>Cannot delete
++ <translation>Cannot Delete
+ </translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="2432"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="2460"/>
+ <source>Group List Menu</source>
+ <translation>Group List Menu</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="2855"/>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="3067"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="2883"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="3095"/>
+ <source>Begin Commercial Detection</source>
+ <translation>Begin Commercial Detection</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="2857"/>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="3067"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="2885"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="3095"/>
+ <source>Stop Commercial Detection</source>
+ <translation>Stop Commercial Detection</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="3019"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="3047"/>
+ <source>Allow this episode to re-record</source>
+- <translation>Allow this episode to re-record</translation>
++ <translation>Allow This Episode to Re-record</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="3021"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="3049"/>
+ <source>Show Recording Details</source>
+ <translation>Show Recording Details</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="3023"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="3051"/>
+ <source>Change Recording Metadata</source>
+ <translation>Change Recording Metadata</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="3187"/>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="3230"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="3215"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="3258"/>
+ <source>Add to Playlist</source>
+ <translation>Add to Playlist</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="3243"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="3273"/>
+ <source>Stop Recording</source>
+ <translation>Stop Recording</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="2785"/>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="3247"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="2813"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="3277"/>
+ <source>Mark as Unwatched</source>
+ <translation>Mark as Unwatched</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="2784"/>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="3249"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="2812"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="3279"/>
+ <source>Mark as Watched</source>
+ <translation>Mark as Watched</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="3267"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="3297"/>
+ <source>Undelete</source>
+ <translation>Undelete</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="3268"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="3298"/>
+ <source>Delete Forever</source>
+ <translation>Delete Forever</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="4507"/>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="4719"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="4534"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="4744"/>
+ <source>Deleted</source>
+ <translation>Deleted</translation>
+ </message>
+ <message numerus="yes">
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="4510"/>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="4517"/>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="4545"/>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="4556"/>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="4721"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="4537"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="4544"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="4572"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="4583"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="4746"/>
+ <source>%1 [%n item(s)]</source>
+ <translation>
+ <numerusform>%1 [%n item]</numerusform>
+@@ -13504,32 +13904,32 @@
+ </translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="4564"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="4591"/>
+ <source>Categories</source>
+ <translation>Categories</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="4574"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="4601"/>
+ <source>Change Filter</source>
+ <translation>Change Filter</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="4703"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="4728"/>
+ <source>Add New</source>
+ <translation>Add New</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="4725"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="4750"/>
+ <source>Select Recording Group</source>
+ <translation>Select Recording Group</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="4769"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="4794"/>
+ <source>Select Playback Group</source>
+ <translation>Select Playback Group</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="4920"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="4945"/>
+ <source>New Recording Group</source>
+ <translation>New Recording Group</translation>
+ </message>
+@@ -13537,18 +13937,22 @@
+ <context>
+ <name>PlaybackProfileConfig</name>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="953"/>
+ <source>&amp;</source>
+ <comment>and</comment>
+- <translation>&amp;</translation>
++ <translation type="vanished">&amp;</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="956"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1046"/>
+ <source>if rez</source>
+ <translation>if rez</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="1032"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1074"/>
++ <source>Mark for deletion</source>
++ <translation>Mark for Deletion</translation>
++ </message>
++ <message>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1075"/>
+ <source>Add New Entry</source>
+ <translation>Add New Entry</translation>
+ </message>
+@@ -13556,662 +13960,788 @@
+ <context>
+ <name>PlaybackProfileConfigs</name>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="1188"/>
+ <source>Playback Profiles %1</source>
+- <translation>Playback Profiles %1</translation>
++ <translation type="vanished">Playback Profiles %1</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="1267"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1206"/>
+ <source>Current Video Playback Profile</source>
+ <translation>Current Video Playback Profile</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="1278"/>
+ <source>Add New</source>
+- <translation>Add New</translation>
++ <translation type="vanished">Add New</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="1317"/>
+ <source>Enter Playback Group Name</source>
+- <translation>Enter Playback Group Name</translation>
++ <translation type="vanished">Enter Playback Group Name</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="1328"/>
+ <source>Sorry, playback group
+ name cannot be blank.</source>
+- <translation>Sorry, playback group
++ <translation type="vanished">Sorry, playback group
+ name cannot be blank.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="1329"/>
+ <source>Sorry, playback group name
+ &apos;%1&apos; is already being used.</source>
+- <translation>Sorry, playback group name
++ <translation type="vanished">Sorry, playback group name
+ &apos;%1&apos; is already being used.</translation>
+ </message>
+ </context>
+ <context>
+ <name>PlaybackProfileItemConfig</name>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="680"/>
+ <source>W</source>
+ <comment>Width</comment>
+- <translation>W</translation>
++ <translation type="vanished">W</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="682"/>
+ <source>H</source>
+ <comment>Height</comment>
+- <translation>H</translation>
++ <translation type="vanished">H</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="694"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="692"/>
+ <source>Decoder</source>
+ <translation>Decoder</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="695"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="693"/>
+ <source>Max CPUs</source>
+ <translation>Max CPUs</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="705"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="703"/>
+ <source>Maximum number of CPU cores used for video decoding and filtering.</source>
+ <translation>Maximum number of CPU cores used for video decoding and filtering.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="707"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="705"/>
+ <source> Multithreaded decoding disabled-only one CPU will be used, please recompile with --enable-ffmpeg-pthreads to enable.</source>
+ <translation> Multithreaded decoding disabled-only one CPU will be used, please recompile with --enable-ffmpeg-pthreads to enable.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="716"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="714"/>
+ <source>Disabling will significantly reduce the load on the CPU when watching HD H.264 but may significantly reduce video quality.</source>
+ <translation>Disabling will significantly reduce the load on the CPU when watching HD H.264 but may significantly reduce video quality.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="720"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="718"/>
+ <source>When unchecked the OSD will not fade away but instead will disappear abruptly.</source>
+ <translation>When unchecked the OSD will not fade away but instead will disappear abruptly.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="722"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="720"/>
+ <source>Uncheck this if the video studders while the OSD is fading away.</source>
+ <translation>Uncheck this if the video studders while the OSD is fading away.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="696"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="694"/>
+ <source>Deblocking filter</source>
+- <translation>Deblocking filter</translation>
++ <translation>Deblocking Filter</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="650"/>
+ <source>Profile Item</source>
+- <translation>Profile Item</translation>
++ <translation type="vanished">Profile Item</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="678"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="663"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="667"/>
+ <source>Match criteria</source>
+- <translation>Match criteria</translation>
++ <translation>Match Criteria</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="697"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="664"/>
++ <source>Width</source>
++ <translation>Width</translation>
++ </message>
++ <message>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="665"/>
++ <source>Height</source>
++ <translation>Height</translation>
++ </message>
++ <message>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="668"/>
++ <source>Optional setting to restrict this profile to a selected picture size range. If both match criteria are used then both must be satisfied for the entry to be selected.</source>
++ <translation>Optional setting to restrict this profile to a selected picture size range. If both match criteria are used then both must be satisfied for the entry to be selected.</translation>
++ </message>
++ <message>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="675"/>
++ <source>Video Formats</source>
++ <translation>Video Formats</translation>
++ </message>
++ <message>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="681"/>
++ <source>Optional setting to restrict this profile to a video format or formats. You can also type in a format or several formats separated by space. To find the format for a video use ffprobe and look at the word after &quot;Video:&quot;. Also you can get a complete list of available formats with ffmpeg -codecs.</source>
++ <translation>Optional setting to restrict this profile to a video format or formats. You can also type in a format or several formats separated by space. To find the format for a video use ffprobe and look at the word after &quot;Video:&quot;. Also you can get a complete list of available formats with ffmpeg -codecs.</translation>
++ </message>
++ <message>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="687"/>
++ <source>Frame Rate Range</source>
++ <translation>Frame Rate Range</translation>
++ </message>
++ <message>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="688"/>
++ <source>Optional setting to restrict this profile to a range of frame rates. Valid formats for the setting are [nn.nnn - nn.nnn], [&gt; nn.nnn], [&gt;= nn.nnn], [&lt; nn.nnn], [&lt;= nn.nnn]. Also [nn.nnn] for an exact match.</source>
++ <translation>Optional setting to restrict this profile to a range of frame rates. Valid formats for the setting are [nn.nnn - nn.nnn], [&gt; nn.nnn], [&gt;= nn.nnn], [&lt; nn.nnn], [&lt;= nn.nnn]. Also [nn.nnn] for an exact match.</translation>
++ </message>
++ <message>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="695"/>
+ <source>Video renderer</source>
+- <translation>Video renderer</translation>
++ <translation>Video Renderer</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="698"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="696"/>
+ <source>OSD renderer</source>
+- <translation>OSD renderer</translation>
++ <translation>OSD Renderer</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="699"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="697"/>
+ <source>OSD fade</source>
+- <translation>OSD fade</translation>
++ <translation>OSD Fade</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="700"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="698"/>
+ <source>Primary deinterlacer</source>
+- <translation>Primary deinterlacer</translation>
++ <translation>Primary Deinterlacer</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="701"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="699"/>
+ <source>Fallback deinterlacer</source>
+- <translation>Fallback deinterlacer</translation>
++ <translation>Fallback Deinterlacer</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="702"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="700"/>
+ <source>Custom filters</source>
+- <translation>Custom filters</translation>
++ <translation>Custom Filters</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="712"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="710"/>
+ <source>Example custom filter list: &apos;ivtc,denoise3d&apos;</source>
+- <translation>Example custom filter list: &apos;ivtc,denoise3d&apos;</translation>
++ <translation>Example Custom Filter List: &apos;ivtc,denoise3d&apos;</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="715"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="713"/>
+ <source>When unchecked the deblocking loopfilter will be disabled </source>
+- <translation>When unchecked the deblocking loopfilter will be disabled </translation>
++ <translation>When unchecked the deblocking loopfilter will be disabled.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="920"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="881"/>
++ <source>Invalid frame rate specification(%1), discarded</source>
++ <translation>Invalid Frame Rate Specification(%1), Discarded</translation>
++ </message>
++ <message>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="953"/>
+ <source>Main deinterlacing method. %1</source>
+- <translation>Main deinterlacing method. %1</translation>
++ <translation>Main Deinterlacing Method. %1</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="927"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="960"/>
+ <source>Fallback deinterlacing method. %1</source>
+- <translation>Fallback deinterlacing method. %1</translation>
++ <translation>Fallback Deinterlacing Method. %1</translation>
++ </message>
++ <message>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="985"/>
++ <source>Remove this profile item?</source>
++ <translation>Remove this profile item?</translation>
++ </message>
++ <message>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1034"/>
++ <source>&amp;</source>
++ <comment>and</comment>
++ <translation>&amp;</translation>
++ </message>
++ <message>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1053"/>
++ <source>formats</source>
++ <comment>video formats</comment>
++ <translation>formats</translation>
++ </message>
++ <message>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1056"/>
++ <source>framerate</source>
++ <translation>framerate</translation>
+ </message>
+ </context>
+ <context>
+ <name>PlaybackSettings</name>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="52"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="56"/>
+ <source>Extra audio buffering</source>
+- <translation>Extra audio buffering</translation>
++ <translation>Extra Audio Buffering</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="56"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="60"/>
+ <source>Enable this setting if MythTV is playing &quot;crackly&quot; audio. This setting affects digital tuners (QAM/DVB/ATSC) and hardware encoders. It will have no effect on framegrabbers (MPEG-4/RTJPEG). MythTV will keep extra audio data in its internal buffers to workaround this bug.</source>
+ <translation>Enable this setting if MythTV is playing &quot;crackly&quot; audio. This setting affects digital tuners (QAM/DVB/ATSC) and hardware encoders. It will have no effect on framegrabbers (MPEG-4/RTJPEG). MythTV will keep extra audio data in its internal buffers to workaround this bug.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="73"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="77"/>
+ <source>Use FFmpeg&apos;s original MPEG-TS demuxer</source>
+- <translation>Use FFmpeg&apos;s original MPEG-TS demuxer</translation>
++ <translation>Use FFmpeg&apos;s Original MPEG-TS Demuxer</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="77"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="81"/>
+ <source>Experimental: Enable this setting to use FFmpeg&apos;s native demuxer. Things will be broken.</source>
+ <translation>Experimental: Enable this setting to use FFmpeg&apos;s native demuxer. Things will be broken.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="88"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="92"/>
+ <source>PIP video location</source>
+- <translation>PIP video location</translation>
++ <translation>PIP Video Location</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="93"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="97"/>
+ <source>Location of PIP Video window.</source>
+ <translation>Location of PIP Video window.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="102"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="106"/>
+ <source>Default group filter to apply</source>
+- <translation>Default group filter to apply</translation>
++ <translation>Default Group Filter to Apply</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="105"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="109"/>
+ <source>All Programs</source>
+ <translation>All Programs</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="135"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="139"/>
+ <source>Default group filter to apply on the View Recordings screen.</source>
+ <translation>Default group filter to apply on the View Recordings screen.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="144"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="148"/>
+ <source>Always prompt for initial group filter</source>
+- <translation>Always prompt for initial group filter</translation>
++ <translation>Always Prompt for Initial Group Filter</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="149"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="153"/>
+ <source>If enabled, always prompt the user for the initial filter to apply when entering the Watch Recordings screen.</source>
+ <translation>If enabled, always prompt the user for the initial filter to apply when entering the Watch Recordings screen.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="160"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="164"/>
+ <source>Save current group filter when changed</source>
+- <translation>Save current group filter when changed</translation>
++ <translation>Save Current Group Filter When Changed</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="165"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="169"/>
+ <source>If enabled, remember the last selected filter instead of displaying the default filter whenever you enter the playback screen.</source>
+ <translation>If enabled, remember the last selected filter instead of displaying the default filter whenever you enter the playback screen.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="177"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="181"/>
+ <source>Start in group list</source>
+- <translation>Start in group list</translation>
++ <translation>Start in Group List</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="181"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="185"/>
+ <source>If enabled, the focus will start on the group list, otherwise the focus will default to the recordings.</source>
+ <translation>If enabled, the focus will start on the group list, otherwise the focus will default to the recordings.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="191"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="195"/>
+ <source>Smart fast forwarding</source>
+- <translation>Smart fast forwarding</translation>
++ <translation>Smart Fast Forwarding</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="195"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="199"/>
+ <source>If enabled, then immediately after rewinding, only skip forward the same amount as skipping backwards.</source>
+ <translation>If enabled, then immediately after rewinding, only skip forward the same amount as skipping backwards.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="237"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="241"/>
+ <source>Automatically skip commercials</source>
+- <translation>Automatically skip commercials</translation>
++ <translation>Automatically Skip Commercials</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="240"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="244"/>
+ <source>Notify, but do not skip</source>
+ <comment>Skip commercials</comment>
+- <translation>Notify, but do not skip</translation>
++ <translation>Notify, but Do Not Skip</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="242"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="246"/>
+ <source>Automatically Skip</source>
+ <comment>Skip commercials</comment>
+ <translation>Automatically Skip</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="245"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="249"/>
+ <source>Automatically skip commercial breaks that have been flagged during automatic commercial detection or by the mythcommflag program, or just notify that a commercial has been detected.</source>
+ <translation>Automatically skip commercial breaks that have been flagged during automatic commercial detection or by the mythcommflag program, or just notify that a commercial has been detected.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="288"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="292"/>
+ <source>Commercial skip automatic rewind amount (secs)</source>
+- <translation>Commercial skip automatic rewind amount (secs)</translation>
++ <translation>Commercial Skip Automatic Rewind Amount (seconds)</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="291"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="295"/>
+ <source>MythTV will automatically rewind this many seconds after performing a commercial skip.</source>
+ <translation>MythTV will automatically rewind this many seconds after performing a commercial skip.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="304"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="308"/>
+ <source>Commercial skip notify amount (secs)</source>
+- <translation>Commercial skip notify amount (secs)</translation>
++ <translation>Commercial Skip Notify Amount (secs)</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="306"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="310"/>
+ <source>MythTV will act like a commercial begins this many seconds early. This can be useful when commercial notification is used in place of automatic skipping.</source>
+ <translation>MythTV will act like a commercial begins this many seconds early. This can be useful when commercial notification is used in place of automatic skipping.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="321"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="325"/>
+ <source>Maximum commercial skip (secs)</source>
+- <translation>Maximum commercial skip (secs)</translation>
++ <translation>Maximum Commercial Skip (secs)</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="323"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="327"/>
+ <source>MythTV will discourage long manual commercial skips. Skips which are longer than this will require the user to hit the SKIP key twice. Automatic commercial skipping is not affected by this limit.</source>
+ <translation>MythTV will discourage long manual commercial skips. Skips which are longer than this will require the user to hit the SKIP key twice. Automatic commercial skipping is not affected by this limit.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="339"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="343"/>
+ <source>Merge short commercial breaks (secs)</source>
+- <translation>Merge short commercial breaks (secs)</translation>
++ <translation>Merge Short Commercial Breaks (secs)</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="341"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="345"/>
+ <source>Treat consecutive commercial breaks shorter than this as one break when skipping forward. Useful if you have to skip a few times during breaks. Applies to automatic skipping as well. Set to 0 to disable.</source>
+ <translation>Treat consecutive commercial breaks shorter than this as one break when skipping forward. Useful if you have to skip a few times during breaks. Applies to automatic skipping as well. Set to 0 to disable.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="1375"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1305"/>
++ <source>Enter Playback Profile Name</source>
++ <translation>Enter Playback Profile name:</translation>
++ </message>
++ <message>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1331"/>
++ <source>Sorry, playback group
++name cannot be blank.</source>
++ <translation>Sorry, group name cannot be blank.</translation>
++ </message>
++ <message>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1332"/>
++ <source>Sorry, playback group name
++&apos;%1&apos; is already being used.</source>
++ <translation>Sorry, group name &apos;%1&apos; is already used.</translation>
++ </message>
++ <message>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1351"/>
+ <source>Sort all sub-titles/multi-titles Ascending</source>
+- <translation>Sort all sub-titles/multi-titles Ascending</translation>
++ <translation>Sort All Sub-titles/Multi-titles Ascending</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="1376"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1352"/>
+ <source>Sort all sub-titles/multi-titles Descending</source>
+- <translation>Sort all sub-titles/multi-titles Descending</translation>
++ <translation>Sort All Sub-titles/Multi-titles Descending</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="1377"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1353"/>
+ <source>Sort sub-titles Descending, multi-titles Ascending</source>
+- <translation>Sort sub-titles Descending, multi-titles Ascending</translation>
++ <translation>Sort Sub-titles Descending, Multi-titles Ascending</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="1379"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1355"/>
+ <source>Sort sub-titles Ascending, multi-titles Descending</source>
+- <translation>Sort sub-titles Ascending, multi-titles Descending</translation>
++ <translation>Sort Sub-titles Ascending, Multi-titles Descending</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="1382"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1358"/>
+ <source>Selects how to sort show episodes. Sub-titles refers to the episodes listed under a specific show title. Multi-title refers to sections (e.g. &quot;All Programs&quot;) which list multiple titles. Sections in parentheses are not affected.</source>
+ <translation>Selects how to sort show episodes. Sub-titles refers to the episodes listed under a specific show title. Multi-title refers to sections (e.g. &quot;All Programs&quot;) which list multiple titles. Sections in parentheses are not affected.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="1392"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1368"/>
+ <source>Episode sort orderings</source>
+- <translation>Episode sort orderings</translation>
++ <translation>Episode Sort Orderings</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="1407"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1383"/>
+ <source>Sort episodes</source>
+- <translation>Sort episodes</translation>
++ <translation>Sort Episodes</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="1409"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1385"/>
+ <source>Record date</source>
+- <translation>Record date</translation>
++ <translation>Record Date</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="1410"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1386"/>
+ <source>Season/Episode</source>
+ <translation>Season/Episode</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="1411"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1387"/>
+ <source>Original air date</source>
+- <translation>Original air date</translation>
++ <translation>Original Air Date</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="1412"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1388"/>
+ <source>Program ID</source>
+ <translation>Program ID</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="1414"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1390"/>
+ <source>Selects how to sort a show&apos;s episodes</source>
+- <translation>Selects how to sort a show&apos;s episodes</translation>
++ <translation>Selects How to Sort a Show&apos;s Episodes</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="1424"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1400"/>
+ <source>Fast forward/rewind reposition amount</source>
+- <translation>Fast forward/rewind reposition amount</translation>
++ <translation>Fast Forward/Rewind Reposition Amount</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="1428"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1404"/>
+ <source>When exiting sticky keys fast forward/rewind mode, reposition this many 1/100th seconds before resuming normal playback. This compensates for the reaction time between seeing where to resume playback and actually exiting seeking.</source>
+ <translation>When exiting sticky keys fast forward/rewind mode, reposition this many 1/100th seconds before resuming normal playback. This compensates for the reaction time between seeing where to resume playback and actually exiting seeking.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="1443"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1419"/>
+ <source>Reverse direction in fast forward/rewind</source>
+- <translation>Reverse direction in fast forward/rewind</translation>
++ <translation>Reverse Direction in Fast Forward/Rewind</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="1448"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1424"/>
+ <source>If enabled, pressing the sticky rewind key in fast forward mode switches to rewind mode, and vice versa. If disabled, it will decrease the current speed or switch to play mode if the speed can&apos;t be decreased further.</source>
+ <translation>If enabled, pressing the sticky rewind key in fast forward mode switches to rewind mode, and vice versa. If disabled, it will decrease the current speed or switch to play mode if the speed can&apos;t be decreased further.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="1533"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1509"/>
+ <source>Vertical scaling</source>
+- <translation>Vertical scaling</translation>
++ <translation>Vertical Scaling</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="1537"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1513"/>
+ <source>Adjust this if the image does not fill your screen vertically. Range -100% to 100%</source>
+ <translation>Adjust this if the image does not fill your screen vertically. Range -100% to 100%</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="1547"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1523"/>
+ <source>Horizontal scaling</source>
+- <translation>Horizontal scaling</translation>
++ <translation>Horizontal Scaling</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="1551"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1527"/>
+ <source>Adjust this if the image does not fill your screen horizontally. Range -100% to 100%</source>
+ <translation>Adjust this if the image does not fill your screen horizontally. Range -100% to 100%</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="1561"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1537"/>
+ <source>Scan displacement (X)</source>
+- <translation>Scan displacement (X)</translation>
++ <translation>Scan Displacement (X)</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="1565"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1541"/>
+ <source>Adjust this to move the image horizontally.</source>
+ <translation>Adjust this to move the image horizontally.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="1575"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1551"/>
+ <source>Scan displacement (Y)</source>
+- <translation>Scan displacement (Y)</translation>
++ <translation>Scan Displacement (Y)</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="1579"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1555"/>
+ <source>Adjust this to move the image vertically.</source>
+ <translation>Adjust this to move the image vertically.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="1663"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1639"/>
+ <source>Clear bookmark on playback</source>
+- <translation>Clear bookmark on playback</translation>
++ <translation>Clear Bookmark on Playback</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="1667"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1643"/>
+ <source>If enabled, automatically clear the bookmark on a recording when the recording is played back. If disabled, you can mark the beginning with rewind then save position.</source>
+ <translation>If enabled, automatically clear the bookmark on a recording when the recording is played back. If disabled, you can mark the beginning with rewind then save position.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="1680"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1656"/>
+ <source>Alternate clear and save bookmark</source>
+- <translation>Alternate clear and save bookmark</translation>
++ <translation>Alternate Clear and Save Bookmark</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="1684"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1660"/>
+ <source>During playback the SELECT key (Enter or Space) will alternate between &quot;Bookmark Saved&quot; and &quot;Bookmark Cleared&quot;. If disabled, the SELECT key will save the current position for each keypress.</source>
+ <translation>During playback the SELECT key (Enter or Space) will alternate between &quot;Bookmark Saved&quot; and &quot;Bookmark Cleared&quot;. If disabled, the SELECT key will save the current position for each keypress.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="1697"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1673"/>
+ <source>Action on playback exit</source>
+- <translation>Action on playback exit</translation>
++ <translation>Action on Playback Exit</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="1699"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1675"/>
+ <source>Just exit</source>
+- <translation>Just exit</translation>
++ <translation>Exit Without Saving</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="1700"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1676"/>
+ <source>Save position and exit</source>
+- <translation>Save position and exit</translation>
++ <translation>Save and Exit</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="1701"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1677"/>
+ <source>Always prompt (excluding Live TV)</source>
+- <translation>Always prompt (excluding Live TV)</translation>
++ <translation>Always Prompt (excluding Live TV)</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="1703"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1679"/>
+ <source>Always prompt (including Live TV)</source>
+- <translation>Always prompt (including Live TV)</translation>
++ <translation>Always Prompt (including Live TV)</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="1705"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1681"/>
+ <source>Prompt for Live TV only</source>
+- <translation>Prompt for Live TV only</translation>
++ <translation>Prompt for Live TV Only</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="1707"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1683"/>
+ <source>If set to prompt, a menu will be displayed when you exit playback mode. The options available will allow you to save your position, delete the recording, or continue watching.</source>
+ <translation>If set to prompt, a menu will be displayed when you exit playback mode. The options available will allow you to save your position, delete the recording, or continue watching.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="1720"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1696"/>
+ <source>Prompt at end of recording</source>
+- <translation>Prompt at end of recording</translation>
++ <translation>Prompt At End of Recording</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="1724"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1700"/>
+ <source>If enabled, a menu will be displayed allowing you to delete the recording when it has finished playing.</source>
+ <translation>If enabled, a menu will be displayed allowing you to delete the recording when it has finished playing.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="1734"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1710"/>
+ <source>Jump to program OSD</source>
+- <translation>Jump to program OSD</translation>
++ <translation>Jump to Program OSD</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="1738"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1714"/>
+ <source>Set the choice between viewing the current recording group in the OSD, or showing the &apos;Watch Recording&apos; screen when &apos;Jump to Program&apos; is activated. If enabled, the recordings are shown in the OSD</source>
+ <translation>Set the choice between viewing the current recording group in the OSD, or showing the &apos;Watch Recording&apos; screen when &apos;Jump to Program&apos; is activated. If enabled, the recordings are shown in the OSD</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="1751"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1727"/>
+ <source>Continue playback when embedded</source>
+- <translation>Continue playback when embedded</translation>
++ <translation>Continue Playback When Embedded</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="1755"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1731"/>
+ <source>If enabled, TV playback continues when the TV window is embedded in the upcoming program list or recorded list. The default is to pause the recorded show when embedded.</source>
+ <translation>If enabled, TV playback continues when the TV window is embedded in the upcoming program list or recorded list. The default is to pause the recorded show when embedded.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="1768"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1744"/>
+ <source>Automatically mark a recording as watched</source>
+- <translation>Automatically mark a recording as watched</translation>
++ <translation>Automatically Mark a Recording as Watched</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="1773"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1749"/>
+ <source>If enabled, when you exit near the end of a recording it will be marked as watched. The automatic detection is not foolproof, so do not enable this setting if you don&apos;t want an unwatched recording marked as watched.</source>
+ <translation>If enabled, when you exit near the end of a recording it will be marked as watched. The automatic detection is not foolproof, so do not enable this setting if you don&apos;t want an unwatched recording marked as watched.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="1787"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1763"/>
+ <source>Live TV idle timeout (mins)</source>
+- <translation>Live TV idle timeout (mins)</translation>
++ <translation>Live TV Idle Timeout (mins)</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="1791"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="1767"/>
+ <source>Exit Live TV automatically if left idle for the specified number of minutes. 0 disables the timeout.</source>
+ <translation>Exit Live TV automatically if left idle for the specified number of minutes. 0 disables the timeout.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="2025"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2001"/>
+ <source>Letterboxing color</source>
+- <translation>Letterboxing color</translation>
++ <translation>Letterboxing Color</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="2030"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2006"/>
+ <source>By default MythTV uses black letterboxing to match broadcaster letterboxing, but those with plasma screens may prefer gray to minimize burn-in. Currently only works with XVideo video renderer.</source>
+ <translation>By default MythTV uses black letterboxing to match broadcaster letterboxing, but those with plasma screens may prefer gray to minimize burn-in. Currently only works with XVideo video renderer.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="2043"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2019"/>
+ <source>Video aspect override</source>
+- <translation>Video aspect override</translation>
++ <translation>Video Aspect Override</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="2048"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2024"/>
+ <source>When enabled, these will override the aspect ratio specified by any broadcaster for all video streams.</source>
+ <translation>When enabled, these will override the aspect ratio specified by any broadcaster for all video streams.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="2058"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2034"/>
+ <source>Zoom</source>
+ <translation>Zoom</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="2067"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2043"/>
+ <source>When enabled, these will apply a predefined zoom to all video playback in MythTV.</source>
+ <translation>When enabled, these will apply a predefined zoom to all video playback in MythTV.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="3184"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="3175"/>
+ <source>Enable realtime priority threads</source>
+- <translation>Enable realtime priority threads</translation>
++ <translation>Enable Realtime Priority Threads</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="3186"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="3177"/>
+ <source>When running mythfrontend with root privileges, some threads can be given enhanced priority. Disable this if MythFrontend freezes during video playback.</source>
+ <translation>When running mythfrontend with root privileges, some threads can be given enhanced priority. Disable this if MythFrontend freezes during video playback.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="3216"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="3207"/>
+ <source>Sort titles</source>
+- <translation>Sort titles</translation>
++ <translation>Sort Titles</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="3218"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="3209"/>
+ <source>Alphabetically</source>
+ <translation>Alphabetically</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="3220"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="3211"/>
+ <source>By recording priority</source>
+- <translation>By recording priority</translation>
++ <translation>by Recording Priority</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="3223"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="3214"/>
+ <source>Sets the title sorting order when the view is set to Titles only.</source>
+ <translation>Sets the title sorting order when the view is set to Titles only.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="3577"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="3535"/>
+ <source>Enable gamma correction for video</source>
+- <translation>Enable gamma correction for video</translation>
++ <translation>Enable Gamma Correction for Video</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="3581"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="3539"/>
+ <source>If enabled, QuickTime will correct the gamma of the video to match your monitor. Turning this off can save some CPU cycles.</source>
+ <translation>If enabled, QuickTime will correct the gamma of the video to match your monitor. Turning this off can save some CPU cycles.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="3592"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="3550"/>
+ <source>Scale video as necessary</source>
+- <translation>Scale video as necessary</translation>
++ <translation>Scale Video as Necessary</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="3596"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="3554"/>
+ <source>If enabled, video will be scaled to fit your window or screen. If unchecked, video will never be made larger than its actual pixel size.</source>
+ <translation>If enabled, video will be scaled to fit your window or screen. If unchecked, video will never be made larger than its actual pixel size.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="3607"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="3565"/>
+ <source>Frames to skip in fullscreen mode</source>
+- <translation>Frames to skip in fullscreen mode</translation>
++ <translation>Frames to Skip in Fullscreen Mode</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="3611"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="3569"/>
+ <source>Video displayed in fullscreen or non-windowed mode will skip this many frames for each frame drawn. Set to 0 to show every frame. Only valid when either &quot;Use GUI size for TV playback&quot; or &quot;Run the frontend in a window&quot; is not checked.</source>
+ <translation>Video displayed in fullscreen or non-windowed mode will skip this many frames for each frame drawn. Set to 0 to show every frame. Only valid when either &quot;Use GUI size for TV playback&quot; or &quot;Run the frontend in a window&quot; is not checked.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="3909"/>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="3941"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="3984"/>
++ <source>Playback settings</source>
++ <translation>Playback Settings</translation>
++ </message>
++ <message>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="3990"/>
++ <source>General Playback</source>
++ <translation>General Playback</translation>
++ </message>
++ <message>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="4019"/>
++ <source>Add a new playback profile</source>
++ <translation>Add a New Playback Profile</translation>
++ </message>
++ <message>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="4025"/>
++ <source>View Recordings</source>
++ <translation>View Recordings</translation>
++ </message>
++ <message>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="4034"/>
++ <source>Recording Groups</source>
++ <translation>Recording Groups</translation>
++ </message>
++ <message>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="4052"/>
++ <source>Seeking</source>
++ <translation>Seeking</translation>
++ </message>
++ <message>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="4060"/>
++ <source>Commercial Skip</source>
++ <translation>Commercial Skip</translation>
++ </message>
++ <message>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="4071"/>
++ <source>Mac OS X Video Settings</source>
++ <translation>Mac OS X Video Settings</translation>
++ </message>
++ <message>
+ <source>General Playback (%1/%2)</source>
+ <extracomment>%2 is the position, %2 is the total</extracomment>
+- <translation>General Playback (%1/%2)</translation>
++ <translation type="vanished">General Playback (%1/%2)</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="3976"/>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="4000"/>
+ <source>View Recordings (%1/%2)</source>
+ <extracomment>%1 is the position, %2 is the total</extracomment>
+- <translation>View Recordings (%1/%2)</translation>
++ <translation type="vanished">View Recordings (%1/%2)</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="3989"/>
+ <source>Recording Groups (%1/%2)</source>
+ <extracomment>%1 is the position, %2 is the total</extracomment>
+- <translation>Recording Groups (%1/%2)</translation>
++ <translation type="vanished">Recording Groups (%1/%2)</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="4010"/>
+ <source>Seeking (%1/%2)</source>
+ <extracomment>%1 is the position, %2 is the total</extracomment>
+- <translation>Seeking (%1/%2)</translation>
++ <translation type="vanished">Seeking (%1/%2)</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="4021"/>
+ <source>Commercial Skip (%1/%2)</source>
+ <extracomment>%1 is the position, %2 is the total</extracomment>
+- <translation>Commercial Skip (%1/%2)</translation>
++ <translation type="vanished">Commercial Skip (%1/%2)</translation>
++ </message>
++ <message>
++ <source>Mac OS X Video Setting (%1/%2)</source>
++ <extracomment>%1 is the position, %2 is the total</extracomment>
++ <translation type="vanished">Mac OS X Video Setting (%1/%2)</translation>
++ </message>
++ <message>
++ <source>Mac OS X Video Settings (%1/%2)</source>
++ <extracomment>%1 is the position, %2 is the total</extracomment>
++ <translation type="vanished">Mac OS X Video Settings (%1/%2)</translation>
++ </message>
++</context>
++<context>
++ <name>PlaybackSettingsDialog</name>
++ <message>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="3914"/>
++ <source>Playback Profile Menu</source>
++ <translation>Playback Profile Menu</translation>
++ </message>
++ <message>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="3918"/>
++ <source>Move Up</source>
++ <translation>Move Up</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="4035"/>
+- <source>Mac OS X Video Setting (%1/%2)</source>
+- <extracomment>%1 is the position, %2 is the total</extracomment>
+- <translation>Mac OS X Video Setting (%1/%2)</translation>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="3920"/>
++ <source>Move Down</source>
++ <translation>Move Down</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="4046"/>
+- <source>Mac OS X Video Settings (%1/%2)</source>
+- <extracomment>%1 is the position, %2 is the total</extracomment>
+- <translation>Mac OS X Video Settings (%1/%2)</translation>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="3922"/>
++ <source>Delete</source>
++ <translation>Delete</translation>
+ </message>
+ </context>
+ <context>
+@@ -14224,12 +14754,12 @@
+ <message>
+ <location filename="../programs/mythfrontend/videoplayersettings.cpp" line="92"/>
+ <source>This can be any command to launch a DVD player. Internal is the default. For other players, %d will be substituted for the DVD device (e.g. /dev/dvd).</source>
+- <translation>This can be any command to launch a DVD player. Internal is the default. For other players, %d will be substituted for the DVD device (e.g. /dev/dvd).</translation>
++ <translation>This can be any command to launch a DVD player. Internal is the default. For other players, %d will be substituted for the DVD device (e.g. /dev/dvd).</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/videoplayersettings.cpp" line="96"/>
+ <source>This device must exist, and the user playing the DVD needs to have read permission on the device. &apos;default&apos; will let the MediaMonitor choose a device.</source>
+- <translation>This device must exist, and the user playing the DVD needs to have read permission on the device. &apos;default&apos; will let the MediaMonitor choose a device.</translation>
++ <translation>This device must exist, and the user playing the DVD needs to have read permission on the device. &apos;default&apos; will let the MediaMonitor choose a device.</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/videoplayersettings.cpp" line="101"/>
+@@ -14249,12 +14779,12 @@
+ <message>
+ <location filename="../programs/mythfrontend/videoplayersettings.cpp" line="112"/>
+ <source>Exit without saving settings</source>
+- <translation>Exit without saving settings</translation>
++ <translation>Exit Without Saving</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/videoplayersettings.cpp" line="113"/>
+ <source>Save settings and Exit</source>
+- <translation>Save settings and Exit</translation>
++ <translation>Save and Exit</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/videoplayersettings.cpp" line="170"/>
+@@ -14308,12 +14838,21 @@
+ <context>
+ <name>ProfileGroup</name>
+ <message>
+- <location filename="../libs/libmythtv/profilegroup.cpp" line="48"/>
+ <source>ProfileGroup</source>
+- <translation>ProfileGroup</translation>
++ <translation type="vanished">ProfileGroup</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/profilegroup.cpp" line="168"/>
++ <location filename="../libs/libmythtv/profilegroup.cpp" line="47"/>
++ <source>Profile Group</source>
++ <translation>Profile Group</translation>
++ </message>
++ <message>
++ <location filename="../libs/libmythtv/profilegroup.cpp" line="171"/>
++ <source>Profiles</source>
++ <translation>Profiles</translation>
++ </message>
++ <message>
++ <location filename="../libs/libmythtv/profilegroup.cpp" line="180"/>
+ <source>Transcoders</source>
+ <translation>Transcoders</translation>
+ </message>
+@@ -14321,52 +14860,52 @@
+ <context>
+ <name>ProfileGroupEditor</name>
+ <message>
+- <location filename="../libs/libmythtv/profilegroup.cpp" line="231"/>
+ <source>New Profile Group Name</source>
+- <translation>New Profile Group Name</translation>
++ <translation type="vanished">New Profile Group Name</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/profilegroup.cpp" line="301"/>
+ <source>(Create new profile group)</source>
+- <translation>(Create new profile group)</translation>
++ <translation type="vanished">(Create new profile group)</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/profilegroup.cpp" line="354"/>
+ <source>Delete profile group:
+ &apos;%1&apos;?</source>
+- <translation>Delete profile group:
++ <translation type="vanished">Delete profile group:
+ &apos;%1&apos;?</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/profilegroup.cpp" line="360"/>
+ <source>Yes, delete group</source>
+- <translation>Yes, delete group</translation>
++ <translation type="vanished">Yes, Delete Group</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/profilegroup.cpp" line="361"/>
+ <source>No, Don&apos;t delete group</source>
+- <translation>No, Don&apos;t delete group</translation>
++ <translation type="vanished">No, Keep Group</translation>
++ </message>
++ <message>
++ <location filename="../libs/libmythtv/profilegroup.h" line="126"/>
++ <source>Profile Group</source>
++ <translation>Profile Group</translation>
+ </message>
+ </context>
+ <context>
+ <name>ProgDetails</name>
+ <message>
+- <location filename="../programs/mythfrontend/progdetails.cpp" line="278"/>
++ <location filename="../programs/mythfrontend/progdetails.cpp" line="237"/>
+ <source>Title</source>
+ <translation>Title</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/progdetails.cpp" line="281"/>
++ <location filename="../programs/mythfrontend/progdetails.cpp" line="241"/>
+ <source>Title Pronounce</source>
+ <translation>Title Pronounce</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/progdetails.cpp" line="288"/>
++ <location filename="../programs/mythfrontend/progdetails.cpp" line="248"/>
+ <source>Part %1 of %2, </source>
+ <translation>Part %1 of %2, </translation>
+ </message>
+ <message numerus="yes">
+- <location filename="../programs/mythfrontend/progdetails.cpp" line="298"/>
++ <location filename="../programs/mythfrontend/progdetails.cpp" line="261"/>
+ <source>%n star(s)</source>
+ <translation>
+ <numerusform>%n star</numerusform>
+@@ -14374,199 +14913,209 @@
+ </translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/progdetails.cpp" line="304"/>
++ <location filename="../programs/mythfrontend/progdetails.cpp" line="267"/>
+ <source>Mono</source>
+ <translation>Mono</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/progdetails.cpp" line="306"/>
++ <location filename="../programs/mythfrontend/progdetails.cpp" line="269"/>
+ <source>Stereo</source>
+ <translation>Stereo</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/progdetails.cpp" line="308"/>
++ <location filename="../programs/mythfrontend/progdetails.cpp" line="271"/>
+ <source>Surround Sound</source>
+ <translation>Surround Sound</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/progdetails.cpp" line="310"/>
++ <location filename="../programs/mythfrontend/progdetails.cpp" line="273"/>
+ <source>Dolby Sound</source>
+ <translation>Dolby Sound</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/progdetails.cpp" line="312"/>
++ <location filename="../programs/mythfrontend/progdetails.cpp" line="275"/>
+ <source>Audio for Hearing Impaired</source>
+ <translation>Audio for Hearing Impaired</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/progdetails.cpp" line="314"/>
++ <location filename="../programs/mythfrontend/progdetails.cpp" line="277"/>
+ <source>Audio for Visually Impaired</source>
+ <translation>Audio for Visually Impaired</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/progdetails.cpp" line="317"/>
++ <location filename="../programs/mythfrontend/progdetails.cpp" line="280"/>
+ <source>HDTV</source>
+ <translation>HDTV</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/progdetails.cpp" line="319"/>
++ <location filename="../programs/mythfrontend/progdetails.cpp" line="282"/>
+ <source>Widescreen</source>
+ <translation>Widescreen</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/progdetails.cpp" line="321"/>
++ <location filename="../programs/mythfrontend/progdetails.cpp" line="284"/>
+ <source>AVC/H.264</source>
+ <translation>AVC/H.264</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/progdetails.cpp" line="323"/>
++ <location filename="../programs/mythfrontend/progdetails.cpp" line="286"/>
+ <source>720p Resolution</source>
+ <translation>720p Resolution</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/progdetails.cpp" line="325"/>
++ <location filename="../programs/mythfrontend/progdetails.cpp" line="288"/>
+ <source>1080i/p Resolution</source>
+ <translation>1080i/p Resolution</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/progdetails.cpp" line="328"/>
++ <location filename="../programs/mythfrontend/progdetails.cpp" line="290"/>
++ <source>Damaged</source>
++ <translation>Damaged</translation>
++ </message>
++ <message>
++ <location filename="../programs/mythfrontend/progdetails.cpp" line="293"/>
+ <source>CC</source>
+ <comment>Closed Captioned</comment>
+ <translation>CC</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/progdetails.cpp" line="330"/>
++ <location filename="../programs/mythfrontend/progdetails.cpp" line="295"/>
+ <source>Subtitles Available</source>
+ <translation>Subtitles Available</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/progdetails.cpp" line="332"/>
++ <location filename="../programs/mythfrontend/progdetails.cpp" line="297"/>
+ <source>Subtitled</source>
+ <translation>Subtitled</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/progdetails.cpp" line="334"/>
++ <location filename="../programs/mythfrontend/progdetails.cpp" line="299"/>
+ <source>Deaf Signing</source>
+ <translation>Deaf Signing</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/progdetails.cpp" line="337"/>
++ <location filename="../programs/mythfrontend/progdetails.cpp" line="302"/>
+ <source>Unidentified Episode</source>
+ <translation>Unidentified Episode</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/progdetails.cpp" line="339"/>
++ <location filename="../programs/mythfrontend/progdetails.cpp" line="304"/>
+ <source>Repeat</source>
+ <translation>Repeat</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/progdetails.cpp" line="347"/>
++ <location filename="../programs/mythfrontend/progdetails.cpp" line="312"/>
+ <source>Description</source>
+ <translation>Description</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/progdetails.cpp" line="367"/>
++ <location filename="../programs/mythfrontend/progdetails.cpp" line="429"/>
+ <source>Category</source>
+ <translation>Category</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/progdetails.cpp" line="378"/>
++ <location filename="../programs/mythfrontend/progdetails.cpp" line="446"/>
++ <source>Genre</source>
++ <translation>Genre</translation>
++ </message>
++ <message>
++ <location filename="../programs/mythfrontend/progdetails.cpp" line="458"/>
+ <source>Type</source>
+ <comment>category_type</comment>
+ <translation>Type</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/progdetails.cpp" line="384"/>
++ <location filename="../programs/mythfrontend/progdetails.cpp" line="469"/>
+ <source>%1 of %2</source>
+ <translation>%1 of %2</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/progdetails.cpp" line="389"/>
++ <location filename="../programs/mythfrontend/progdetails.cpp" line="475"/>
+ <source>Episode</source>
+ <translation>Episode</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/progdetails.cpp" line="394"/>
++ <location filename="../programs/mythfrontend/progdetails.cpp" line="463"/>
+ <source>Season</source>
+ <translation>Season</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/progdetails.cpp" line="396"/>
++ <location filename="../programs/mythfrontend/progdetails.cpp" line="477"/>
+ <source>Syndicated Episode Number</source>
+ <translation>Syndicated Episode Number</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/progdetails.cpp" line="405"/>
++ <location filename="../programs/mythfrontend/progdetails.cpp" line="487"/>
+ <source>Original Airdate</source>
+ <translation>Original Airdate</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/progdetails.cpp" line="407"/>
++ <location filename="../programs/mythfrontend/progdetails.cpp" line="489"/>
+ <source>Program ID</source>
+ <translation>Program ID</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/progdetails.cpp" line="512"/>
++ <location filename="../programs/mythfrontend/progdetails.cpp" line="417"/>
+ <source>Actors</source>
+ <translation>Actors</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/progdetails.cpp" line="513"/>
++ <location filename="../programs/mythfrontend/progdetails.cpp" line="423"/>
+ <source>Director</source>
+ <translation>Director</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/progdetails.cpp" line="514"/>
++ <location filename="../programs/mythfrontend/progdetails.cpp" line="424"/>
+ <source>Producer</source>
+ <translation>Producer</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/progdetails.cpp" line="515"/>
++ <location filename="../programs/mythfrontend/progdetails.cpp" line="425"/>
+ <source>Executive Producer</source>
+ <translation>Executive Producer</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/progdetails.cpp" line="516"/>
++ <location filename="../programs/mythfrontend/progdetails.cpp" line="426"/>
+ <source>Writer</source>
+ <translation>Writer</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/progdetails.cpp" line="517"/>
++ <location filename="../programs/mythfrontend/progdetails.cpp" line="418"/>
+ <source>Guest Star</source>
+ <translation>Guest Star</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/progdetails.cpp" line="518"/>
++ <location filename="../programs/mythfrontend/progdetails.cpp" line="420"/>
+ <source>Host</source>
+ <translation>Host</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/progdetails.cpp" line="519"/>
++ <location filename="../programs/mythfrontend/progdetails.cpp" line="427"/>
+ <source>Adapter</source>
+ <translation>Adapter</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/progdetails.cpp" line="520"/>
++ <location filename="../programs/mythfrontend/progdetails.cpp" line="421"/>
+ <source>Presenter</source>
+ <translation>Presenter</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/progdetails.cpp" line="521"/>
++ <location filename="../programs/mythfrontend/progdetails.cpp" line="422"/>
+ <source>Commentator</source>
+ <translation>Commentator</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/progdetails.cpp" line="522"/>
++ <location filename="../programs/mythfrontend/progdetails.cpp" line="419"/>
+ <source>Guest</source>
+ <translation>Guest</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/progdetails.cpp" line="586"/>
++ <location filename="../programs/mythfrontend/progdetails.cpp" line="555"/>
+ <source>MythTV Status</source>
+ <translation>MythTV Status</translation>
+ </message>
+ <message numerus="yes">
+- <location filename="../programs/mythfrontend/progdetails.cpp" line="619"/>
++ <location filename="../programs/mythfrontend/progdetails.cpp" line="588"/>
+ <source>%n hour(s)</source>
+ <translation>
+ <numerusform>%n hour</numerusform>
+@@ -14574,133 +15123,126 @@
+ </translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/progdetails.cpp" line="633"/>
++ <location filename="../programs/mythfrontend/progdetails.cpp" line="602"/>
+ <source>Auto-expire off</source>
+- <translation>Auto-expire off</translation>
++ <translation>Auto-expire Off</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/progdetails.cpp" line="636"/>
++ <location filename="../programs/mythfrontend/progdetails.cpp" line="605"/>
+ <source>Marked as &apos;watched&apos;</source>
+ <translation>Marked as &apos;watched&apos;</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/progdetails.cpp" line="639"/>
++ <location filename="../programs/mythfrontend/progdetails.cpp" line="608"/>
+ <source>Not the earliest episode</source>
+ <translation>Not the earliest episode</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/progdetails.cpp" line="642"/>
++ <location filename="../programs/mythfrontend/progdetails.cpp" line="611"/>
+ <source>Recently deleted episode</source>
+ <translation>Recently deleted episode</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/progdetails.cpp" line="654"/>
++ <location filename="../programs/mythfrontend/progdetails.cpp" line="620"/>
+ <source>Recording Rule</source>
+ <translation>Recording Rule</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/progdetails.cpp" line="655"/>
++ <location filename="../programs/mythfrontend/progdetails.cpp" line="634"/>
+ <source>Last Recorded</source>
+ <translation>Last Recorded</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/progdetails.cpp" line="656"/>
++ <location filename="../programs/mythfrontend/progdetails.cpp" line="635"/>
+ <source>Next Recording</source>
+ <translation>Next Recording</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/progdetails.cpp" line="657"/>
++ <location filename="../programs/mythfrontend/progdetails.cpp" line="636"/>
+ <source>Average Time Shift</source>
+ <translation>Average Time Shift</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/progdetails.cpp" line="658"/>
++ <location filename="../programs/mythfrontend/progdetails.cpp" line="637"/>
+ <source>Watch List Score</source>
+ <translation>Watch List Score</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/progdetails.cpp" line="659"/>
++ <location filename="../programs/mythfrontend/progdetails.cpp" line="638"/>
+ <source>Watch List Status</source>
+ <translation>Watch List Status</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/progdetails.cpp" line="660"/>
++ <location filename="../programs/mythfrontend/progdetails.cpp" line="621"/>
+ <source>Search Phrase</source>
+ <translation>Search Phrase</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/progdetails.cpp" line="671"/>
++ <location filename="../programs/mythfrontend/progdetails.cpp" line="632"/>
+ <source>Find ID</source>
+ <translation>Find ID</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/progdetails.cpp" line="690"/>
++ <location filename="../programs/mythfrontend/progdetails.cpp" line="657"/>
+ <source>GB</source>
+ <comment>GigaBytes</comment>
+ <translation>GB</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/progdetails.cpp" line="710"/>
++ <location filename="../programs/mythfrontend/progdetails.cpp" line="677"/>
+ <source>Recording Host</source>
+ <translation>Recording Host</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/progdetails.cpp" line="711"/>
++ <location filename="../programs/mythfrontend/progdetails.cpp" line="678"/>
+ <source>Recording Input</source>
+ <translation>Recording Input</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/progdetails.cpp" line="712"/>
++ <location filename="../programs/mythfrontend/progdetails.cpp" line="679"/>
+ <source>Recorded File Name</source>
+ <translation>Recorded File Name</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/progdetails.cpp" line="713"/>
++ <location filename="../programs/mythfrontend/progdetails.cpp" line="680"/>
+ <source>Recorded File Size</source>
+ <translation>Recorded File Size</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/progdetails.cpp" line="714"/>
++ <location filename="../programs/mythfrontend/progdetails.cpp" line="681"/>
+ <source>Recording Profile</source>
+ <translation>Recording Profile</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/progdetails.cpp" line="715"/>
++ <location filename="../programs/mythfrontend/progdetails.cpp" line="682"/>
+ <source>Recording Group</source>
+ <translation>Recording Group</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/progdetails.cpp" line="716"/>
++ <location filename="../programs/mythfrontend/progdetails.cpp" line="683"/>
+ <source>Storage Group</source>
+ <translation>Storage Group</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/progdetails.cpp" line="717"/>
++ <location filename="../programs/mythfrontend/progdetails.cpp" line="684"/>
+ <source>Playback Group</source>
+ <translation>Playback Group</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/progdetails.cpp" line="755"/>
+ <source>Options</source>
+- <translation>Options</translation>
++ <translation type="vanished">Options</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/progdetails.cpp" line="764"/>
+- <location filename="../programs/mythfrontend/progdetails.cpp" line="789"/>
+ <source>Zoom In</source>
+- <translation>Zoom In</translation>
++ <translation type="vanished">Zoom In</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/progdetails.cpp" line="765"/>
+- <location filename="../programs/mythfrontend/progdetails.cpp" line="787"/>
+ <source>Zoom Out</source>
+- <translation>Zoom Out</translation>
++ <translation type="vanished">Zoom Out</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/progdetails.cpp" line="766"/>
+- <location filename="../programs/mythfrontend/progdetails.cpp" line="791"/>
+ <source>Switch Page</source>
+- <translation>Switch Page</translation>
++ <translation type="vanished">Switch Page</translation>
+ </message>
+ </context>
+ <context>
+@@ -14794,7 +15336,7 @@
+ <message>
+ <location filename="../programs/mythfrontend/progfind.cpp" line="371"/>
+ <source>Select a letter...</source>
+- <translation>Select a letter...</translation>
++ <translation>Select a Letter...</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/progfind.cpp" line="373"/>
+@@ -14804,7 +15346,7 @@
+ <message>
+ <location filename="../programs/mythfrontend/progfind.cpp" line="382"/>
+ <source>Select a program...</source>
+- <translation>Select a program...</translation>
++ <translation>Select a Program...</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/progfind.cpp" line="384"/>
+@@ -14951,7 +15493,7 @@
+ <message>
+ <location filename="../programs/mythfrontend/proglist.cpp" line="519"/>
+ <source>Start search from date and time</source>
+- <translation>Start search from date and time</translation>
++ <translation>Start Search from Date and Time</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/proglist.cpp" line="766"/>
+@@ -14971,12 +15513,12 @@
+ <message>
+ <location filename="../programs/mythfrontend/proglist.cpp" line="326"/>
+ <source>Sort By Title</source>
+- <translation>Sort By Title</translation>
++ <translation>Sort by Title</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/proglist.cpp" line="327"/>
+ <source>Sort By Time</source>
+- <translation>Sort By Time</translation>
++ <translation>Sort by Time</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/proglist.cpp" line="489"/>
+@@ -15001,7 +15543,7 @@
+ <message>
+ <location filename="../programs/mythfrontend/proglist.cpp" line="494"/>
+ <source>Select a search stored from</source>
+- <translation>Select a search stored from</translation>
++ <translation>Select a Search Stored from</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/proglist.cpp" line="495"/>
+@@ -15027,14 +15569,14 @@
+ </translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/proglist.cpp" line="1388"/>
++ <location filename="../programs/mythfrontend/proglist.cpp" line="1394"/>
+ <source>^(The |A |An )</source>
+ <comment>Regular Expression for what to ignore when sorting</comment>
+ <translation>^(The |A |An )</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/proglist.cpp" line="1579"/>
+- <location filename="../programs/mythfrontend/proglist.cpp" line="1608"/>
++ <location filename="../programs/mythfrontend/proglist.cpp" line="1585"/>
++ <location filename="../programs/mythfrontend/proglist.cpp" line="1614"/>
+ <source>%1 of %2</source>
+ <comment>Current position in list where %1 is the position, %2 is the total count</comment>
+ <translation>%1 of %2</translation>
+@@ -15062,22 +15604,22 @@
+ <message>
+ <location filename="../programs/mythfrontend/proglist.cpp" line="761"/>
+ <source>Allow this episode to re-record</source>
+- <translation>Allow this episode to re-record</translation>
++ <translation>Allow This Episode to Re-record</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/proglist.cpp" line="763"/>
+ <source>Never record this episode</source>
+- <translation>Never record this episode</translation>
++ <translation>Never Record This Episode</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/proglist.cpp" line="764"/>
+ <source>Remove this episode from the list</source>
+- <translation>Remove this episode from the list</translation>
++ <translation>Remove This Episode from the List</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/proglist.cpp" line="765"/>
+ <source>Remove all episodes for this title</source>
+- <translation>Remove all episodes for this title</translation>
++ <translation>Remove All Episodes for This Title</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/proglist.cpp" line="940"/>
+@@ -15211,43 +15753,43 @@
+ <location filename="../programs/mythfrontend/programrecpriority.cpp" line="663"/>
+ <location filename="../programs/mythfrontend/programrecpriority.cpp" line="743"/>
+ <source>Sort By Title</source>
+- <translation>Sort By Title</translation>
++ <translation>Sort by Title</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/programrecpriority.cpp" line="664"/>
+ <location filename="../programs/mythfrontend/programrecpriority.cpp" line="754"/>
+ <source>Sort By Priority</source>
+- <translation>Sort By Priority</translation>
++ <translation>Sort by Priority</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/programrecpriority.cpp" line="665"/>
+ <location filename="../programs/mythfrontend/programrecpriority.cpp" line="765"/>
+ <source>Sort By Type</source>
+- <translation>Sort By Type</translation>
++ <translation>Sort by Type</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/programrecpriority.cpp" line="666"/>
+ <location filename="../programs/mythfrontend/programrecpriority.cpp" line="776"/>
+ <source>Sort By Count</source>
+- <translation>Sort By Count</translation>
++ <translation>Sort by Count</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/programrecpriority.cpp" line="667"/>
+ <location filename="../programs/mythfrontend/programrecpriority.cpp" line="789"/>
+ <source>Sort By Record Count</source>
+- <translation>Sort By Record Count</translation>
++ <translation>Sort by Record Count</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/programrecpriority.cpp" line="668"/>
+ <location filename="../programs/mythfrontend/programrecpriority.cpp" line="800"/>
+ <source>Sort By Last Recorded</source>
+- <translation>Sort By Last Recorded</translation>
++ <translation>Sort by Last Recorded</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/programrecpriority.cpp" line="669"/>
+ <location filename="../programs/mythfrontend/programrecpriority.cpp" line="811"/>
+ <source>Sort By Average Delay</source>
+- <translation>Sort By Average Delay</translation>
++ <translation>Sort by Average Delay</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/programrecpriority.cpp" line="728"/>
+@@ -15284,13 +15826,13 @@
+ <context>
+ <name>QObject</name>
+ <message>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="393"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="396"/>
+ <source>^(The |A |An )</source>
+ <translation>^(The |A |An )</translation>
+ </message>
+ <message numerus="yes">
+- <location filename="../libs/libmyth/programinfo.cpp" line="1697"/>
+- <location filename="../libs/libmyth/programinfo.cpp" line="1702"/>
++ <location filename="../libs/libmyth/programinfo.cpp" line="1720"/>
++ <location filename="../libs/libmyth/programinfo.cpp" line="1725"/>
+ <source>%n hour(s)</source>
+ <translation>
+ <numerusform>%n hour</numerusform>
+@@ -15298,8 +15840,8 @@
+ </translation>
+ </message>
+ <message numerus="yes">
+- <location filename="../libs/libmyth/programinfo.cpp" line="1686"/>
+- <location filename="../libs/libmyth/programinfo.cpp" line="1695"/>
++ <location filename="../libs/libmyth/programinfo.cpp" line="1709"/>
++ <location filename="../libs/libmyth/programinfo.cpp" line="1718"/>
+ <source>%n minute(s)</source>
+ <translation>
+ <numerusform>%n minute</numerusform>
+@@ -15307,24 +15849,24 @@
+ </translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/programinfo.cpp" line="1035"/>
++ <location filename="../libs/libmyth/programinfo.cpp" line="1036"/>
++ <location filename="../libs/libmythmetadata/metadatacommon.h" line="255"/>
+ <source>Manual Record</source>
+ <translation>Manual Record</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/programinfo.cpp" line="1725"/>
++ <location filename="../libs/libmyth/programinfo.cpp" line="1748"/>
+ <source>Re-Record</source>
+- <translation>Re-Record</translation>
++ <translation>Re-record</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/programinfo.cpp" line="1767"/>
+- <location filename="../libs/libmyth/programinfo.cpp" line="1772"/>
+- <location filename="../libs/libmyth/programtypes.cpp" line="212"/>
++ <location filename="../libs/libmyth/programinfo.cpp" line="1790"/>
++ <location filename="../libs/libmyth/programinfo.cpp" line="1795"/>
+ <source>Repeat</source>
+ <translation>Repeat</translation>
+ </message>
+ <message numerus="yes">
+- <location filename="../libs/libmyth/programinfo.cpp" line="1795"/>
++ <location filename="../libs/libmyth/programinfo.cpp" line="1818"/>
+ <source>%n star(s)</source>
+ <translation>
+ <numerusform>%n star</numerusform>
+@@ -15333,60 +15875,57 @@
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/channelinfo.cpp" line="280"/>
+- <location filename="../libs/libmythtv/recordingprofile.cpp" line="1288"/>
++ <location filename="../libs/libmythtv/recordingprofile.cpp" line="1242"/>
+ <source>Yes</source>
+ <translation>Yes</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/channelinfo.cpp" line="280"/>
+- <location filename="../libs/libmythtv/recordingprofile.cpp" line="1289"/>
++ <location filename="../libs/libmythtv/recordingprofile.cpp" line="1243"/>
+ <source>No</source>
+ <translation>No</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/programinfo.cpp" line="3111"/>
+- <location filename="../libs/libmyth/programinfo.cpp" line="4980"/>
+- <location filename="../libs/libmyth/programtypes.cpp" line="228"/>
+- <location filename="../libs/libmyth/programtypes.cpp" line="231"/>
++ <location filename="../libs/libmyth/programinfo.cpp" line="3134"/>
++ <location filename="../libs/libmyth/programinfo.cpp" line="5003"/>
+ <location filename="../libs/libmythtv/videoouttypes.h" line="137"/>
+ <location filename="../libs/libmythtv/videoouttypes.h" line="160"/>
+- <location filename="../programs/mythfrontend/statusbox.cpp" line="1053"/>
++ <location filename="../programs/mythfrontend/statusbox.cpp" line="1060"/>
+ <source>Unknown</source>
+ <translation>Unknown</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/programinfo.cpp" line="3115"/>
++ <location filename="../libs/libmyth/programinfo.cpp" line="3138"/>
+ <source>Playing</source>
+ <translation>Playing</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/programinfo.cpp" line="3122"/>
+- <location filename="../libs/libmyth/programtypes.cpp" line="185"/>
++ <location filename="../libs/libmyth/programinfo.cpp" line="3145"/>
+ <source>Recording</source>
+ <translation>Recording</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/programinfo.cpp" line="3130"/>
++ <location filename="../libs/libmyth/programinfo.cpp" line="3153"/>
+ <source>Transcoding</source>
+ <translation>Transcoding</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/programinfo.cpp" line="3117"/>
++ <location filename="../libs/libmyth/programinfo.cpp" line="3140"/>
+ <source>PIP</source>
+ <translation>PIP</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/programinfo.cpp" line="1847"/>
++ <location filename="../libs/libmyth/programinfo.cpp" line="1870"/>
+ <source>Blu-ray Disc</source>
+ <translation>Blu-ray Disc</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/programinfo.cpp" line="3119"/>
++ <location filename="../libs/libmyth/programinfo.cpp" line="3142"/>
+ <source>PBP</source>
+ <translation>PBP</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/programinfo.cpp" line="3124"/>
++ <location filename="../libs/libmyth/programinfo.cpp" line="3147"/>
+ <source>File transfer</source>
+ <translation>File transfer</translation>
+ </message>
+@@ -15436,47 +15975,47 @@
+ <message>
+ <location filename="../libs/libmyth/recordingtypes.cpp" line="55"/>
+ <source>Record only this showing</source>
+- <translation>Record only this showing</translation>
++ <translation>Record Only This Showing</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmyth/recordingtypes.cpp" line="57"/>
+ <source>Record all showings</source>
+- <translation>Record all showings</translation>
++ <translation>Record All Showings</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmyth/recordingtypes.cpp" line="59"/>
+ <source>Record only one showing</source>
+- <translation>Record only one showing</translation>
++ <translation>Record Only One Showing</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmyth/recordingtypes.cpp" line="61"/>
+ <source>Record one showing every day</source>
+- <translation>Record one showing every day</translation>
++ <translation>Record One Showing Every Day</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmyth/recordingtypes.cpp" line="63"/>
+ <source>Record one showing every week</source>
+- <translation>Record one showing every week</translation>
++ <translation>Record One Showing Every Week</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmyth/recordingtypes.cpp" line="65"/>
+ <source>Record this showing with override options</source>
+- <translation>Record this showing with override options</translation>
++ <translation>Record This Showing with Override Options</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmyth/recordingtypes.cpp" line="67"/>
+ <source>Do not record this showing</source>
+- <translation>Do not record this showing</translation>
++ <translation>Do Not Record This Showing</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmyth/recordingtypes.cpp" line="69"/>
+ <source>Modify this recording rule template</source>
+- <translation>Modify this recording rule template</translation>
++ <translation>Modify This Recording Rule Template</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmyth/recordingtypes.cpp" line="71"/>
+ <source>Do not record this program</source>
+- <translation>Do not record this program</translation>
++ <translation>Do Not Record This Program</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmyth/recordingtypes.cpp" line="137"/>
+@@ -15513,655 +16052,585 @@
+ <translation>Override Recording</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/programtypes.cpp" line="176"/>
+ <location filename="../libs/libmyth/recordingtypes.cpp" line="45"/>
+ <source>Not Recording</source>
+ <translation>Not Recording</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/programtypes.cpp" line="181"/>
+ <source>Aborted</source>
+- <translation>Aborted</translation>
++ <translation type="vanished">Aborted</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/programtypes.cpp" line="183"/>
+ <source>Recorded</source>
+- <translation>Recorded</translation>
++ <translation type="vanished">Recorded</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/programtypes.cpp" line="187"/>
+ <source>Tuning</source>
+- <translation>Tuning</translation>
++ <translation type="vanished">Tuning</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/programtypes.cpp" line="191"/>
+ <source>Will Record</source>
+- <translation>Will Record</translation>
++ <translation type="vanished">Will Record</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/programtypes.cpp" line="193"/>
+ <source>Don&apos;t Record</source>
+- <translation>Don&apos;t Record</translation>
++ <translation type="vanished">Don&apos;t Record</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/programtypes.cpp" line="195"/>
+ <source>Previously Recorded</source>
+- <translation>Previously Recorded</translation>
++ <translation type="vanished">Previously Recorded</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/programtypes.cpp" line="197"/>
+ <source>Currently Recorded</source>
+- <translation>Currently Recorded</translation>
++ <translation type="vanished">Currently Recorded</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/programtypes.cpp" line="199"/>
+ <source>Earlier Showing</source>
+- <translation>Earlier Showing</translation>
++ <translation type="vanished">Earlier Showing</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/programtypes.cpp" line="201"/>
+ <source>Max Recordings</source>
+- <translation>Max Recordings</translation>
++ <translation type="vanished">Max Recordings</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/programtypes.cpp" line="203"/>
+ <source>Manual Cancel</source>
+- <translation>Manual Cancel</translation>
++ <translation type="vanished">Manual Cancel</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/programtypes.cpp" line="206"/>
+ <source>Missed</source>
+- <translation>Missed</translation>
++ <translation type="vanished">Missed</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/programtypes.cpp" line="208"/>
+ <source>Conflicting</source>
+- <translation>Conflicting</translation>
++ <translation type="vanished">Conflicting</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/programtypes.cpp" line="210"/>
+ <source>Later Showing</source>
+- <translation>Later Showing</translation>
++ <translation type="vanished">Later Showing</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/programtypes.cpp" line="214"/>
+ <source>Inactive</source>
+- <translation>Inactive</translation>
++ <translation type="vanished">Inactive</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/programtypes.cpp" line="216"/>
+ <source>Low Disk Space</source>
+- <translation>Low Disk Space</translation>
++ <translation type="vanished">Low Disk Space</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/programtypes.cpp" line="218"/>
+ <source>Tuner Busy</source>
+- <translation>Tuner Busy</translation>
++ <translation type="vanished">Tuner Busy</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/programtypes.cpp" line="220"/>
+ <source>Recorder Failed</source>
+- <translation>Recorder Failed</translation>
++ <translation type="vanished">Recorder Failed</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/programtypes.cpp" line="222"/>
+ <source>Not Listed</source>
+- <translation>Not Listed</translation>
++ <translation type="vanished">Not Listed</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/programtypes.cpp" line="224"/>
+ <source>Never Record</source>
+- <translation>Never Record</translation>
++ <translation type="vanished">Never Record</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/programtypes.cpp" line="226"/>
+ <source>Recorder Off-Line</source>
+- <translation>Recorder Off-Line</translation>
++ <translation type="vanished">Recorder Off-Line</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/programtypes.cpp" line="239"/>
+ <source>This showing is not scheduled to record</source>
+- <translation>This showing is not scheduled to record</translation>
++ <translation type="vanished">This showing is not scheduled to record</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/programtypes.cpp" line="249"/>
+ <source>This showing will be recorded.</source>
+- <translation>This showing will be recorded.</translation>
++ <translation type="vanished">This showing will be recorded.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/programtypes.cpp" line="252"/>
+ <source>This showing is being recorded.</source>
+- <translation>This showing is being recorded.</translation>
++ <translation type="vanished">This showing is being recorded.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/programtypes.cpp" line="262"/>
+ <source>This showing was recorded.</source>
+- <translation>This showing was recorded.</translation>
++ <translation type="vanished">This showing was recorded.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/programtypes.cpp" line="265"/>
+ <source>This showing was recorded but was aborted before completion.</source>
+- <translation>This showing was recorded but was aborted before completion.</translation>
++ <translation type="vanished">This showing was recorded but was aborted before completion.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/programtypes.cpp" line="270"/>
+ <source>This showing was not recorded because the master backend was not running.</source>
+- <translation>This showing was not recorded because the master backend was not running.</translation>
++ <translation type="vanished">This showing was not recorded because the master backend was not running.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/programtypes.cpp" line="278"/>
+ <source>This showing was not recorded because there wasn&apos;t enough disk space.</source>
+- <translation>This showing was not recorded because there wasn&apos;t enough disk space.</translation>
++ <translation type="vanished">This showing was not recorded because there wasn&apos;t enough disk space.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/programtypes.cpp" line="282"/>
+ <source>This showing was not recorded because the recorder was already in use.</source>
+- <translation>This showing was not recorded because the recorder was already in use.</translation>
++ <translation type="vanished">This showing was not recorded because the recorder was already in use.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/programtypes.cpp" line="286"/>
+ <source>This showing was not recorded because the recorder failed.</source>
+- <translation>This showing was not recorded because the recorder failed.</translation>
++ <translation type="vanished">This showing was not recorded because the recorder failed.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/programtypes.cpp" line="330"/>
+ <source>this episode will be recorded at a later time instead.</source>
+- <translation>this episode will be recorded at a later time instead.</translation>
++ <translation type="vanished">this episode will be recorded at a later time instead.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/programtypes.cpp" line="347"/>
+ <source>the required recorder is off-line.</source>
+- <translation>the required recorder is off-line.</translation>
++ <translation type="vanished">the required recorder is off-line.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/programtypes.cpp" line="274"/>
+ <source>This showing was not recorded because it was manually cancelled.</source>
+- <translation>This showing was not recorded because it was manually cancelled.</translation>
++ <translation type="vanished">This showing was not recorded because it was manually cancelled.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/programtypes.cpp" line="96"/>
+ <source>A</source>
+ <comment>RecStatusChar RecStatus::Aborted</comment>
+- <translation>A</translation>
++ <translation type="vanished">A</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/programtypes.cpp" line="99"/>
+ <source>R</source>
+ <comment>RecStatusChar RecStatus::Recorded</comment>
+- <translation>R</translation>
++ <translation type="vanished">R</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/programtypes.cpp" line="114"/>
+ <source>X</source>
+ <comment>RecStatusChar RecStatus::DontRecord</comment>
+- <translation>X</translation>
++ <translation type="vanished">X</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/programtypes.cpp" line="117"/>
+ <source>P</source>
+ <comment>RecStatusChar RecStatus::PreviousRecording</comment>
+- <translation>P</translation>
++ <translation type="vanished">P</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/programtypes.cpp" line="120"/>
+ <source>R</source>
+ <comment>RecStatusChar RecStatus::CurrentRecording</comment>
+- <translation>R</translation>
++ <translation type="vanished">R</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/programtypes.cpp" line="123"/>
+ <source>E</source>
+ <comment>RecStatusChar RecStatus::EarlierShowing</comment>
+- <translation>E</translation>
++ <translation type="vanished">E</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/programtypes.cpp" line="126"/>
+ <source>T</source>
+ <comment>RecStatusChar RecStatus::TooManyRecordings</comment>
+- <translation>T</translation>
++ <translation type="vanished">T</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/programtypes.cpp" line="129"/>
+ <source>c</source>
+ <comment>RecStatusChar RecStatus::Cancelled</comment>
+- <translation>c</translation>
++ <translation type="vanished">c</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/programtypes.cpp" line="133"/>
+ <source>M</source>
+ <comment>RecStatusChar RecStatus::Missed</comment>
+- <translation>M</translation>
++ <translation type="vanished">M</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/programtypes.cpp" line="136"/>
+ <source>C</source>
+ <comment>RecStatusChar RecStatus::Conflict</comment>
+- <translation>C</translation>
++ <translation type="vanished">C</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/programtypes.cpp" line="139"/>
+ <source>L</source>
+ <comment>RecStatusChar RecStatus::LaterShowing</comment>
+- <translation>L</translation>
++ <translation type="vanished">L</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/programtypes.cpp" line="142"/>
+ <source>r</source>
+ <comment>RecStatusChar RecStatus::Repeat</comment>
+- <translation>r</translation>
++ <translation type="vanished">r</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/programtypes.cpp" line="145"/>
+ <source>x</source>
+ <comment>RecStatusChar RecStatus::Inactive</comment>
+- <translation>x</translation>
++ <translation type="vanished">x</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/programtypes.cpp" line="148"/>
+ <source>K</source>
+ <comment>RecStatusChar RecStatus::LowDiskSpace</comment>
+- <translation>K</translation>
++ <translation type="vanished">K</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/programtypes.cpp" line="151"/>
+ <source>B</source>
+ <comment>RecStatusChar RecStatus::TunerBusy</comment>
+- <translation>B</translation>
++ <translation type="vanished">B</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/programtypes.cpp" line="154"/>
+ <source>f</source>
+ <comment>RecStatusChar RecStatus::Failed</comment>
+- <translation>f</translation>
++ <translation type="vanished">f</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/programtypes.cpp" line="157"/>
+ <source>N</source>
+ <comment>RecStatusChar RecStatus::NotListed</comment>
+- <translation>N</translation>
++ <translation type="vanished">N</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/programtypes.cpp" line="160"/>
+ <source>V</source>
+ <comment>RecStatusChar RecStatus::NeverRecord</comment>
+- <translation>V</translation>
++ <translation type="vanished">V</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/programtypes.cpp" line="163"/>
+ <source>F</source>
+ <comment>RecStatusChar RecStatus::Offline</comment>
+- <translation>F</translation>
++ <translation type="vanished">F</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/programtypes.cpp" line="189"/>
+ <source>Failing</source>
+- <translation>Failing</translation>
++ <translation type="vanished">Failing</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/programtypes.cpp" line="258"/>
+ <source>The showing is failing to record because of errors.</source>
+- <translation>The showing is failing to record because of errors.</translation>
++ <translation type="vanished">The showing is failing to record because of errors.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/programtypes.cpp" line="351"/>
+ <source>This showing will not be recorded.</source>
+- <translation>This showing will not be recorded.</translation>
++ <translation type="vanished">This showing will not be recorded.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/programtypes.cpp" line="353"/>
+ <source>This showing was not recorded.</source>
+- <translation>This showing was not recorded.</translation>
++ <translation type="vanished">This showing was not recorded.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/programtypes.cpp" line="290"/>
+ <source>The status of this showing is unknown.</source>
+- <translation>The status of this showing is unknown.</translation>
++ <translation type="vanished">The status of this showing is unknown.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/programtypes.cpp" line="255"/>
+ <source>The showing is being tuned.</source>
+- <translation>The showing is being tuned.</translation>
++ <translation type="vanished">The showing is being tuned.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/programtypes.cpp" line="298"/>
+ <source>This showing will not be recorded because </source>
+- <translation>This showing will not be recorded because </translation>
++ <translation type="vanished">This showing will not be recorded because </translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/programtypes.cpp" line="300"/>
+ <source>This showing was not recorded because </source>
+- <translation>This showing was not recorded because </translation>
++ <translation type="vanished">This showing was not recorded because </translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/programtypes.cpp" line="305"/>
+ <source>it was manually set to not record.</source>
+- <translation>it was manually set to not record.</translation>
++ <translation type="vanished">it was manually set to not record.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/programtypes.cpp" line="308"/>
+ <source>this episode was previously recorded according to the duplicate policy chosen for this title.</source>
+- <translation>this episode was previously recorded according to the duplicate policy chosen for this title.</translation>
++ <translation type="vanished">this episode was previously recorded according to the duplicate policy chosen for this title.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/programtypes.cpp" line="313"/>
+ <source>this episode was previously recorded and is still available in the list of recordings.</source>
+- <translation>this episode was previously recorded and is still available in the list of recordings.</translation>
++ <translation type="vanished">this episode was previously recorded and is still available in the list of recordings.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/programtypes.cpp" line="318"/>
+ <source>this episode will be recorded at an earlier time instead.</source>
+- <translation>this episode will be recorded at an earlier time instead.</translation>
++ <translation type="vanished">this episode will be recorded at an earlier time instead.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/programtypes.cpp" line="322"/>
+ <source>too many recordings of this program have already been recorded.</source>
+- <translation>too many recordings of this program have already been recorded.</translation>
++ <translation type="vanished">too many recordings of this program have already been recorded.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/programtypes.cpp" line="326"/>
+ <source>another program with a higher priority will be recorded.</source>
+- <translation>another program with a higher priority will be recorded.</translation>
++ <translation type="vanished">another program with a higher priority will be recorded.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/programtypes.cpp" line="334"/>
+ <source>this episode is a repeat.</source>
+- <translation>this episode is a repeat.</translation>
++ <translation type="vanished">this episode is a repeat.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/programtypes.cpp" line="337"/>
+ <source>this recording rule is inactive.</source>
+- <translation>this recording rule is inactive.</translation>
++ <translation type="vanished">this recording rule is inactive.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/programtypes.cpp" line="340"/>
+ <source>this rule does not match any showings in the current program listings.</source>
+- <translation>this rule does not match any showings in the current program listings.</translation>
++ <translation type="vanished">this rule does not match any showings in the current program listings.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/programtypes.cpp" line="344"/>
+ <source>it was marked to never be recorded.</source>
+- <translation>it was marked to never be recorded.</translation>
++ <translation type="vanished">it was marked to never be recorded.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/programinfo.cpp" line="5223"/>
++ <location filename="../libs/libmyth/programinfo.cpp" line="5246"/>
+ <source>Default</source>
+ <comment>Recording Profile Default</comment>
+ <translation>Default</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/programinfo.cpp" line="5224"/>
++ <location filename="../libs/libmyth/programinfo.cpp" line="5247"/>
+ <source>High Quality</source>
+ <comment>Recording Profile High Quality</comment>
+ <translation>High Quality</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/programinfo.cpp" line="5225"/>
++ <location filename="../libs/libmyth/programinfo.cpp" line="5248"/>
+ <source>Live TV</source>
+ <comment>Recording Profile Live TV</comment>
+ <translation>Live TV</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/programinfo.cpp" line="5226"/>
++ <location filename="../libs/libmyth/programinfo.cpp" line="5249"/>
+ <source>Low Quality</source>
+ <comment>Recording Profile Low Quality</comment>
+ <translation>Low Quality</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/programinfo.cpp" line="5227"/>
++ <location filename="../libs/libmyth/programinfo.cpp" line="5250"/>
+ <source>Medium Quality</source>
+ <comment>Recording Profile Medium Quality</comment>
+ <translation>Medium Quality</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/programinfo.cpp" line="5233"/>
++ <location filename="../libs/libmyth/programinfo.cpp" line="5256"/>
+ <source>CRC IP Recorders</source>
+ <comment>Recording Profile Group Name</comment>
+ <translation>CRC IP Recorders</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/programinfo.cpp" line="5235"/>
++ <location filename="../libs/libmyth/programinfo.cpp" line="5258"/>
+ <source>FireWire Input</source>
+ <comment>Recording Profile Group Name</comment>
+ <translation>FireWire Input</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/programinfo.cpp" line="5237"/>
++ <location filename="../libs/libmyth/programinfo.cpp" line="5260"/>
+ <source>Freebox Input</source>
+ <comment>Recording Profile Group Name</comment>
+ <translation>Freebox Input</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/programinfo.cpp" line="5239"/>
++ <location filename="../libs/libmyth/programinfo.cpp" line="5262"/>
+ <source>Hardware DVB Encoders</source>
+ <comment>Recording Profile Group Name</comment>
+ <translation>Hardware DVB Encoders</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/programinfo.cpp" line="5241"/>
++ <location filename="../libs/libmyth/programinfo.cpp" line="5264"/>
+ <source>Hardware HDTV</source>
+ <comment>Recording Profile Group Name</comment>
+ <translation>Hardware HDTV</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/programinfo.cpp" line="5243"/>
++ <location filename="../libs/libmyth/programinfo.cpp" line="5266"/>
+ <source>Hardware MJPEG Encoders (Matrox G200-TV, Miro DC10, etc)</source>
+ <comment>Recording Profile Group Name</comment>
+ <translation>Hardware MJPEG Encoders (Matrox G200-TV, Miro DC10, etc)</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/programinfo.cpp" line="5245"/>
++ <location filename="../libs/libmyth/programinfo.cpp" line="5268"/>
+ <source>HD-PVR Recorders</source>
+ <comment>Recording Profile Group Name</comment>
+ <translation>HD-PVR Recorders</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/programinfo.cpp" line="5247"/>
++ <location filename="../libs/libmyth/programinfo.cpp" line="5270"/>
+ <source>HDHomeRun Recorders</source>
+ <comment>Recording Profile Group Name</comment>
+ <translation>HDHomeRun Recorders</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/programinfo.cpp" line="5249"/>
++ <location filename="../libs/libmyth/programinfo.cpp" line="5272"/>
+ <source>MPEG-2 Encoders (PVR-x50, PVR-500)</source>
+ <comment>Recording Profile Group Name</comment>
+ <translation>MPEG-2 Encoders (PVR-x50, PVR-500)</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/programinfo.cpp" line="5253"/>
++ <location filename="../libs/libmyth/programinfo.cpp" line="5276"/>
+ <source>Transcoders</source>
+ <comment>Recording Profile Group Name</comment>
+ <translation>Transcoders</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/programinfo.cpp" line="5257"/>
++ <location filename="../libs/libmyth/programinfo.cpp" line="5280"/>
+ <source>V4L2 Encoders</source>
+ <comment>Recording Profile Group Name</comment>
+ <translation>V4L2 Encoders</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/programinfo.cpp" line="5261"/>
++ <location filename="../libs/libmyth/programinfo.cpp" line="5284"/>
+ <source>All Programs</source>
+ <comment>Recording Group All Programs</comment>
+ <translation>All Programs</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/programinfo.cpp" line="5262"/>
++ <location filename="../libs/libmyth/programinfo.cpp" line="5285"/>
+ <source>All</source>
+ <comment>Recording Group All Programs -- short form</comment>
+ <translation>All</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/programinfo.cpp" line="5264"/>
++ <location filename="../libs/libmyth/programinfo.cpp" line="5287"/>
+ <source>Default</source>
+ <comment>Recording Group Default</comment>
+ <translation>Default</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/programinfo.cpp" line="5265"/>
++ <location filename="../libs/libmyth/programinfo.cpp" line="5288"/>
+ <source>Deleted</source>
+ <comment>Recording Group Deleted</comment>
+ <translation>Deleted</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/programinfo.cpp" line="5272"/>
++ <location filename="../libs/libmyth/programinfo.cpp" line="5295"/>
+ <source>Default</source>
+ <comment>Storage Group Name</comment>
+ <translation>Default</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/programinfo.cpp" line="3128"/>
++ <location filename="../libs/libmyth/programinfo.cpp" line="3151"/>
+ <source>Commercial Detection</source>
+ <translation>Commercial Detection</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/programinfo.cpp" line="1679"/>
++ <location filename="../libs/libmyth/programinfo.cpp" line="1702"/>
+ <source>%1 GB</source>
+ <comment>GigaBytes</comment>
+ <translation>%1 GB</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/programinfo.cpp" line="1835"/>
++ <location filename="../libs/libmyth/programinfo.cpp" line="1858"/>
+ <source>DVD</source>
+ <translation>DVD</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/programinfo.cpp" line="1839"/>
++ <location filename="../libs/libmyth/programinfo.cpp" line="1862"/>
+ <source>HTTP Streaming</source>
+ <translation>HTTP Streaming</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/programinfo.cpp" line="1843"/>
++ <location filename="../libs/libmyth/programinfo.cpp" line="1866"/>
+ <source>RTSP Streaming</source>
+ <translation>RTSP Streaming</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/programinfo.cpp" line="1852"/>
++ <location filename="../libs/libmyth/programinfo.cpp" line="1875"/>
+ <source>Recording</source>
+ <comment>Recorded file, object not action</comment>
+ <translation>Recording</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/programinfo.cpp" line="3132"/>
++ <location filename="../libs/libmyth/programinfo.cpp" line="3155"/>
+ <source>Preview Generation</source>
+ <translation>Preview Generation</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/programinfo.cpp" line="3134"/>
++ <location filename="../libs/libmyth/programinfo.cpp" line="3157"/>
+ <source>User Job</source>
+ <translation>User Job</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/programinfo.cpp" line="5228"/>
++ <location filename="../libs/libmyth/programinfo.cpp" line="5251"/>
+ <source>MPEG-2</source>
+ <comment>Recording Profile MPEG-2</comment>
+ <translation>MPEG-2</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/programinfo.cpp" line="5229"/>
++ <location filename="../libs/libmyth/programinfo.cpp" line="5252"/>
+ <source>RTjpeg/MPEG-4</source>
+ <comment>Recording Profile RTjpeg/MPEG-4</comment>
+ <translation>RTjpeg/MPEG-4</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/programinfo.cpp" line="5251"/>
++ <location filename="../libs/libmyth/programinfo.cpp" line="5274"/>
+ <source>Software Encoders (V4L based)</source>
+ <comment>Recording Profile Group Name</comment>
+ <translation>Software Encoders (V4L based)</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/programinfo.cpp" line="5255"/>
++ <location filename="../libs/libmyth/programinfo.cpp" line="5278"/>
+ <source>USB MPEG-4 Encoder (Plextor ConvertX, etc)</source>
+ <comment>Recording Profile Group Name</comment>
+ <translation>USB MPEG-4 Encoder (Plextor ConvertX, etc)</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/programinfo.cpp" line="5263"/>
++ <location filename="../libs/libmyth/programinfo.cpp" line="5286"/>
+ <source>Live TV</source>
+ <comment>Recording Group Live TV</comment>
+ <translation>Live TV</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/programinfo.cpp" line="5268"/>
++ <location filename="../libs/libmyth/programinfo.cpp" line="5291"/>
+ <source>All Programs - %1</source>
+ <comment>Show all programs from a specific recording group</comment>
+ <translation>All Programs - %1</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/programinfo.cpp" line="5273"/>
++ <location filename="../libs/libmyth/programinfo.cpp" line="5296"/>
+ <source>Live TV</source>
+ <comment>Storage Group Name</comment>
+ <translation>Live TV</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/programinfo.cpp" line="5274"/>
++ <location filename="../libs/libmyth/programinfo.cpp" line="5297"/>
+ <source>Thumbnails</source>
+ <comment>Storage Group Name</comment>
+ <translation>Thumbnails</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/programinfo.cpp" line="5275"/>
++ <location filename="../libs/libmyth/programinfo.cpp" line="5298"/>
+ <source>DB Backups</source>
+ <comment>Storage Group Name</comment>
+ <translation>DB Backups</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/programinfo.cpp" line="5278"/>
++ <location filename="../libs/libmyth/programinfo.cpp" line="5301"/>
+ <source>Default</source>
+ <comment>Playback Group Name</comment>
+ <translation>Default</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/programtypes.cpp" line="378"/>
++ <location filename="../libs/libmyth/programtypes.cpp" line="81"/>
+ <source>Commercial Free</source>
+ <translation>Commercial Free</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/programtypes.cpp" line="380"/>
++ <location filename="../libs/libmyth/programtypes.cpp" line="83"/>
+ <source>Use Global Setting</source>
+ <translation>Use Global Setting</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/programtypes.cpp" line="391"/>
++ <location filename="../libs/libmyth/programtypes.cpp" line="94"/>
+ <source>All Available Methods</source>
+ <translation>All Available Methods</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/programtypes.cpp" line="393"/>
++ <location filename="../libs/libmyth/programtypes.cpp" line="96"/>
+ <source>Blank Frame + Scene Change</source>
+ <translation>Blank Frame + Scene Change</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/programtypes.cpp" line="395"/>
++ <location filename="../libs/libmyth/programtypes.cpp" line="98"/>
+ <source>Blank Frame + Logo Detection</source>
+ <translation>Blank Frame + Logo Detection</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/programtypes.cpp" line="397"/>
++ <location filename="../libs/libmyth/programtypes.cpp" line="100"/>
+ <source>Scene Change + Logo Detection</source>
+ <translation>Scene Change + Logo Detection</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/programtypes.cpp" line="399"/>
++ <location filename="../libs/libmyth/programtypes.cpp" line="102"/>
+ <source>Blank Frame Detection</source>
+ <translation>Blank Frame Detection</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/programtypes.cpp" line="401"/>
++ <location filename="../libs/libmyth/programtypes.cpp" line="104"/>
+ <source>Scene Change Detection</source>
+ <translation>Scene Change Detection</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/programtypes.cpp" line="403"/>
++ <location filename="../libs/libmyth/programtypes.cpp" line="106"/>
+ <source>Logo Detection</source>
+ <translation>Logo Detection</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/programtypes.cpp" line="406"/>
++ <location filename="../libs/libmyth/programtypes.cpp" line="109"/>
+ <source>Experimental</source>
+ <translation>Experimental</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/programtypes.cpp" line="408"/>
++ <location filename="../libs/libmyth/programtypes.cpp" line="111"/>
+ <source>Pre &amp; Post Roll</source>
+ <translation>Pre &amp; Post Roll</translation>
+ </message>
+@@ -16222,17 +16691,17 @@
+ <message>
+ <location filename="../libs/libmythtv/decoderbase.cpp" line="1130"/>
+ <source>Audio track</source>
+- <translation>Audio track</translation>
++ <translation>Audio Track</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/decoderbase.cpp" line="1132"/>
+ <source>Video track</source>
+- <translation>Video track</translation>
++ <translation>Video Track</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/decoderbase.cpp" line="1134"/>
+ <source>Subtitle track</source>
+- <translation>Subtitle track</translation>
++ <translation>Subtitle Track</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/decoderbase.cpp" line="1136"/>
+@@ -16307,208 +16776,212 @@
+ <translation>Normal</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="228"/>
+- <location filename="../libs/libmythtv/transporteditor.cpp" line="561"/>
++ <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="230"/>
++ <location filename="../libs/libmythtv/transporteditor.cpp" line="558"/>
+ <location filename="../libs/libmythtv/videoouttypes.h" line="207"/>
+ <location filename="../libs/libmythtv/videoouttypes.h" line="271"/>
+ <source>Off</source>
+ <translation>Off</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="227"/>
+- <location filename="../libs/libmythtv/transporteditor.cpp" line="560"/>
++ <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="229"/>
++ <location filename="../libs/libmythtv/transporteditor.cpp" line="557"/>
+ <source>On</source>
+ <translation>On</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/profilegroup.h" line="74"/>
++ <location filename="../libs/libmythtv/profilegroup.h" line="75"/>
+ <source>Hostname</source>
+ <translation>Hostname</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="88"/>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="122"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="149"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="196"/>
+ <source>Port</source>
+ <translation>Port</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="349"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="504"/>
+ <source>Password</source>
+ <translation>Password</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="346"/>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="367"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="418"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="439"/>
+ <source>Wake command</source>
+- <translation>Wake command</translation>
++ <translation>Wake Command</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/mythcontext.cpp" line="163"/>
++ <location filename="../libs/libmyth/mythcontext.cpp" line="185"/>
+ <source>Could not find specified tuner (%1).</source>
+ <translation>Could not find specified tuner (%1).</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/mythcontext.cpp" line="166"/>
++ <location filename="../libs/libmyth/mythcontext.cpp" line="188"/>
+ <source>Specified tuner (%1) is already in use.</source>
+ <translation>Specified tuner (%1) is already in use.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/mythcontext.cpp" line="171"/>
++ <location filename="../libs/libmyth/mythcontext.cpp" line="193"/>
+ <source>All tuners are currently in use. If you want to watch TV, you can cancel one of the in-progress recordings from the delete menu</source>
+- <translation>All tuners are currently in use. If you want to watch TV, you can cancel one of the in-progress recordings from the delete menu</translation>
++ <translation>All tuners are currently in use. If you want to watch TV, you can cancel one of the in-progress recordings from the delete menu.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/mythcontext.cpp" line="191"/>
++ <location filename="../libs/libmyth/mythcontext.cpp" line="213"/>
+ <source>Failed to configure plugin</source>
+- <translation>Failed to configure plugin</translation>
++ <translation>Failed to Configure Plugin</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/mythcontext.cpp" line="203"/>
++ <location filename="../libs/libmyth/mythcontext.cpp" line="225"/>
+ <source>Plugin failure</source>
+- <translation>Plugin failure</translation>
++ <translation>Plugin Failure</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/mythcontext.cpp" line="205"/>
++ <location filename="../libs/libmyth/mythcontext.cpp" line="227"/>
+ <source>%1 failed to run for some reason</source>
+ <translation>%1 failed to run for some reason</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/mythcontext.cpp" line="385"/>
++ <location filename="../libs/libmyth/mythcontext.cpp" line="462"/>
+ <source>No UPnP backends found</source>
+ <comment>Backend Setup</comment>
+ <translation>No UPnP backends found</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/mythcontext.cpp" line="700"/>
++ <location filename="../libs/libmyth/mythcontext.cpp" line="988"/>
+ <source>Cannot find (ping) database host %1 on the network</source>
+ <comment>Backend Setup</comment>
+ <translation>Cannot find (ping) database host %1 on the network</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/mythcontext.cpp" line="715"/>
++ <location filename="../libs/libmyth/mythcontext.cpp" line="997"/>
+ <source>Cannot login to database</source>
+ <comment>Backend Setup</comment>
+ <translation>Cannot login to database</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/mythcontext.cpp" line="1038"/>
++ <location filename="../libs/libmyth/mythcontext.cpp" line="1002"/>
++ <source>Cannot connect to backend</source>
++ <comment>Backend Setup</comment>
++ <translation>Cannot connect to backend</translation>
++ </message>
++ <message>
++ <location filename="../libs/libmyth/mythcontext.cpp" line="1358"/>
+ <source>Could not connect to master backend</source>
+- <translation>Could not connect to master backend</translation>
++ <translation>Could Not Connect to Master Backend</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/mythcontext.cpp" line="1053"/>
++ <location filename="../libs/libmyth/mythcontext.cpp" line="1373"/>
+ <source>Backend is online</source>
+- <translation>Backend is online</translation>
++ <translation>Backend Is Online</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/mythcontext.cpp" line="1134"/>
++ <location filename="../libs/libmyth/mythcontext.cpp" line="1537"/>
+ <source>This application is not compatible with the installed MythTV libraries.</source>
+ <translation>This application is not compatible with the installed MythTV libraries.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/mythcontext.cpp" line="1029"/>
++ <location filename="../libs/libmyth/mythcontext.cpp" line="1349"/>
+ <source>The connection to the master backend server has gone away for some reason. Is it running?</source>
+ <translation>The connection to the master backend server has gone away for some reason. Is it running?</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/mythcontext.cpp" line="1033"/>
++ <location filename="../libs/libmyth/mythcontext.cpp" line="1353"/>
+ <source>Could not connect to the master backend server. Is it running? Is the IP address set for it in mythtv-setup correct?</source>
+ <translation>Could not connect to the master backend server. Is it running? Is the IP address set for it in mythtv-setup correct?</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/mythcontext.cpp" line="1067"/>
++ <location filename="../libs/libmyth/mythcontext.cpp" line="1387"/>
+ <source>The server uses network protocol version %1, but this client only understands version %2. Make sure you are running compatible versions of the backend and frontend.</source>
+- <translation>The server uses network protocol version %1, but this client only understands version %2. Make sure you are running compatible versions of the backend and frontend.</translation>
++ <translation>The server uses network protocol version %1, but this client only understands version %2. Make sure you are running compatible versions of the backend and frontend.</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmyth/mythdialogs.cpp" line="716"/>
+- <location filename="../libs/libmythtv/recordingprofile.cpp" line="1436"/>
+- <location filename="../programs/mythfrontend/viewschedulediff.cpp" line="144"/>
++ <location filename="../programs/mythfrontend/viewschedulediff.cpp" line="147"/>
+ <source>OK</source>
+ <translation>OK</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmyth/mythdialogs.cpp" line="837"/>
+- <location filename="../libs/libmythtv/recordingprofile.cpp" line="1437"/>
+ <source>Cancel</source>
+ <translation>Cancel</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/programinfo.cpp" line="1743"/>
+- <location filename="../libs/libmyth/programinfo.cpp" line="1747"/>
++ <location filename="../libs/libmyth/programinfo.cpp" line="1766"/>
++ <location filename="../libs/libmyth/programinfo.cpp" line="1770"/>
+ <location filename="../programs/mythfrontend/programrecpriority.cpp" line="125"/>
+- <location filename="../programs/mythfrontend/scheduleeditor.cpp" line="2421"/>
+- <location filename="../programs/mythfrontend/scheduleeditor.cpp" line="2459"/>
+- <location filename="../programs/mythfrontend/scheduleeditor.cpp" line="2476"/>
+- <location filename="../programs/mythfrontend/scheduleeditor.cpp" line="2497"/>
++ <location filename="../programs/mythfrontend/scheduleeditor.cpp" line="2422"/>
++ <location filename="../programs/mythfrontend/scheduleeditor.cpp" line="2460"/>
++ <location filename="../programs/mythfrontend/scheduleeditor.cpp" line="2477"/>
++ <location filename="../programs/mythfrontend/scheduleeditor.cpp" line="2498"/>
+ <source>Default</source>
+ <translation>Default</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmyth/recordingtypes.cpp" line="228"/>
+- <location filename="../libs/libmythtv/avformatdecoder.cpp" line="4127"/>
++ <location filename="../libs/libmythtv/avformatdecoder.cpp" line="4139"/>
+ <source>Subtitle</source>
+ <translation>Subtitle</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/avformatdecoder.cpp" line="4079"/>
++ <location filename="../libs/libmythtv/avformatdecoder.cpp" line="4091"/>
+ <source> (forced)</source>
+ <translation> (forced)</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/cardutil.cpp" line="986"/>
++ <location filename="../libs/libmythtv/cardutil.cpp" line="1035"/>
+ <source>Input %1:%2</source>
+ <translation>Input %1:%2</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/cardutil.cpp" line="1563"/>
++ <location filename="../libs/libmythtv/cardutil.cpp" line="1623"/>
+ <source>Could not query inputs.</source>
+ <translation>Could not query inputs.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/cardutil.cpp" line="1594"/>
++ <location filename="../libs/libmythtv/cardutil.cpp" line="1654"/>
+ <source>ERROR, Compile with V4L support to query inputs</source>
+- <translation>ERROR, Compile with V4L support to query inputs</translation>
++ <translation>ERROR, Compile with V4L support to query inputs.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/cardutil.cpp" line="1626"/>
++ <location filename="../libs/libmythtv/cardutil.cpp" line="1686"/>
+ <source>ERROR, Compile with V4L support to query audio inputs</source>
+- <translation>ERROR, Compile with V4L support to query audio inputs</translation>
++ <translation>ERROR, Compile with V4L support to query audio inputs.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/cardutil.cpp" line="1691"/>
+- <location filename="../libs/libmythtv/cardutil.cpp" line="1724"/>
++ <location filename="../libs/libmythtv/cardutil.cpp" line="1751"/>
++ <location filename="../libs/libmythtv/cardutil.cpp" line="1784"/>
+ <source>Could not open &apos;%1&apos; to probe its inputs.</source>
+ <translation>Could not open &apos;%1&apos; to probe its inputs.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/cardutil.cpp" line="1761"/>
++ <location filename="../libs/libmythtv/cardutil.cpp" line="1821"/>
+ <source>ERROR, Compile with DVB support to query inputs</source>
+- <translation>ERROR, Compile with DVB support to query inputs</translation>
++ <translation>ERROR, Compile with DVB support to query inputs.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/cardutil.cpp" line="2160"/>
++ <location filename="../libs/libmythtv/cardutil.cpp" line="2242"/>
+ <source>The VBox software version is too old (%1), we require %2</source>
+ <translation>The VBox software version is too old (%1), we require %2</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/cardutil.cpp" line="2087"/>
+- <location filename="../libs/libmythtv/cardutil.cpp" line="2145"/>
++ <location filename="../libs/libmythtv/cardutil.cpp" line="2169"/>
++ <location filename="../libs/libmythtv/cardutil.cpp" line="2227"/>
+ <source>Unable to connect to device.</source>
+ <translation>Unable to connect to device.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/cardutil.cpp" line="2101"/>
++ <location filename="../libs/libmythtv/cardutil.cpp" line="2183"/>
+ <source>Invalid Device ID</source>
+ <translation>Invalid Device ID</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/cardutil.cpp" line="2111"/>
++ <location filename="../libs/libmythtv/cardutil.cpp" line="2193"/>
+ <source>Invalid Device ID or address.</source>
+- <translation>Invalid Device ID or address.</translation>
++ <translation>Invalid Device ID or Address</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/cardutil.cpp" line="2126"/>
++ <location filename="../libs/libmythtv/cardutil.cpp" line="2208"/>
+ <source>, firmware: %2</source>
+ <translation>, firmware: %2</translation>
+ </message>
+@@ -16518,13 +16991,13 @@
+ <translation>Sports</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/programinfo.cpp" line="1831"/>
++ <location filename="../libs/libmyth/programinfo.cpp" line="1854"/>
+ <source>Video</source>
+ <translation>Video</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/guidegrid.cpp" line="2012"/>
+- <location filename="../programs/mythfrontend/guidegrid.cpp" line="2319"/>
++ <location filename="../programs/mythfrontend/guidegrid.cpp" line="2022"/>
++ <location filename="../programs/mythfrontend/guidegrid.cpp" line="2326"/>
+ <source>All Channels</source>
+ <translation>All Channels</translation>
+ </message>
+@@ -16541,12 +17014,12 @@
+ <message>
+ <location filename="../libs/libmythtv/channelscan/channelscan_sm.cpp" line="293"/>
+ <source>Failed to add channel %1</source>
+- <translation>Failed to add channel %1</translation>
++ <translation>Failed to Add Channel %1</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/channelscan/channelscan_sm.cpp" line="619"/>
+ <source>%1 -- Testing decryption of program %2</source>
+- <translation>%1 -- Testing decryption of program %2</translation>
++ <translation>%1 -- Testing Decryption of Program %2</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/channelscan/channelscan_sm.cpp" line="895"/>
+@@ -16556,7 +17029,7 @@
+ <message>
+ <location filename="../libs/libmythtv/channelscan/channelscan_sm.cpp" line="896"/>
+ <source>Unknown decryption status</source>
+- <translation>Unknown decryption status</translation>
++ <translation>Unknown Decryption Status</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/channelscan/channelscan_sm.cpp" line="898"/>
+@@ -16571,41 +17044,41 @@
+ <message>
+ <location filename="../libs/libmythtv/channelscan/channelscan_sm.cpp" line="935"/>
+ <source>%1 -- Timed out</source>
+- <translation>%1 -- Timed out</translation>
++ <translation>%1 -- Timed Out</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/channelscan/channelscan_sm.cpp" line="970"/>
+ <source>%1 possible channels</source>
+- <translation>%1 possible channels</translation>
++ <translation>%1 Possible Channels</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/channelscan/channelscan_sm.cpp" line="971"/>
+ <source>no channels</source>
+- <translation>no channels</translation>
++ <translation>No Channels</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/channelscan/channelscan_sm.cpp" line="982"/>
+ <source>%1, no signal</source>
+- <translation>%1, no signal</translation>
++ <translation>%1, No Signal</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/channelscan/channelscan_sm.cpp" line="987"/>
+ <source>%1 -- Found %2 probable channels</source>
+- <translation>%1 -- Found %2 probable channels</translation>
++ <translation>%1 -- Found %2 Probable Channels</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/channelscan/channelscan_sm.cpp" line="1170"/>
+- <location filename="../libs/libmythtv/channelscan/channelscan_sm.cpp" line="1736"/>
++ <location filename="../libs/libmythtv/channelscan/channelscan_sm.cpp" line="1743"/>
+ <source> offset %2</source>
+ <translation> offset %2</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelscan/channelscan_sm.cpp" line="1740"/>
++ <location filename="../libs/libmythtv/channelscan/channelscan_sm.cpp" line="1747"/>
+ <source>ScanTransport Tuning to %1 mplexid(%2)</source>
+ <translation>ScanTransport Tuning to %1 mplexid(%2)</translation>
+ </message>
+ <message numerus="yes">
+- <location filename="../libs/libmythtv/channelscan/channelscan_sm.cpp" line="1754"/>
++ <location filename="../libs/libmythtv/channelscan/channelscan_sm.cpp" line="1761"/>
+ <source>: Found %n</source>
+ <translation>
+ <numerusform>: Found %n</numerusform>
+@@ -16613,28 +17086,28 @@
+ </translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelscan/channelscan_sm.cpp" line="2016"/>
++ <location filename="../libs/libmythtv/channelscan/channelscan_sm.cpp" line="2023"/>
+ <source>Frequency %1</source>
+ <translation>Frequency %1</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelscan/channelscan_sm.cpp" line="2079"/>
++ <location filename="../libs/libmythtv/channelscan/channelscan_sm.cpp" line="2086"/>
+ <source>ATSC Channel %1</source>
+ <translation>ATSC Channel %1</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelscan/channelscan_sm.cpp" line="2174"/>
++ <location filename="../libs/libmythtv/channelscan/channelscan_sm.cpp" line="2181"/>
+ <source>as</source>
+ <translation>as</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelscan/channelscan_sm.cpp" line="2179"/>
++ <location filename="../libs/libmythtv/channelscan/channelscan_sm.cpp" line="2186"/>
+ <source>Skipping %1, not in imported channel map</source>
+- <translation>Skipping %1, not in imported channel map</translation>
++ <translation>Skipping %1, Not in Imported Channel Map</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/channelscan/frequencytablesetting.cpp" line="38"/>
+- <location filename="../libs/libmythtv/videosource.cpp" line="1276"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="1315"/>
+ <source>Broadcast</source>
+ <translation>Broadcast</translation>
+ </message>
+@@ -16648,7 +17121,7 @@
+ <location filename="../libs/libmythtv/channelscan/frequencytablesetting.cpp" line="40"/>
+ <location filename="../libs/libmythtv/channelscan/frequencytablesetting.cpp" line="42"/>
+ <location filename="../libs/libmythtv/channelscan/frequencytablesetting.cpp" line="44"/>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="522"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="594"/>
+ <source>High</source>
+ <translation>High</translation>
+ </message>
+@@ -16758,9 +17231,9 @@
+ <translation>France</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="143"/>
+- <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="154"/>
+- <location filename="../libs/libmythtv/transporteditor.cpp" line="455"/>
++ <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="144"/>
++ <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="155"/>
++ <location filename="../libs/libmythtv/transporteditor.cpp" line="445"/>
+ <source>Frequency</source>
+ <translation>Frequency</translation>
+ </message>
+@@ -16807,8 +17280,8 @@
+ <translation>Matching</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/transporteditor.cpp" line="76"/>
+- <location filename="../libs/libmythtv/transporteditor.cpp" line="544"/>
++ <location filename="../libs/libmythtv/transporteditor.cpp" line="66"/>
++ <location filename="../libs/libmythtv/transporteditor.cpp" line="541"/>
+ <source>Analog</source>
+ <translation>Analog</translation>
+ </message>
+@@ -16824,532 +17297,523 @@
+ <translation>Play</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/profilegroup.h" line="63"/>
++ <location filename="../libs/libmythtv/profilegroup.h" line="64"/>
+ <source>Profile Group Name</source>
+ <translation>Profile Group Name</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/profilegroup.h" line="86"/>
++ <location filename="../libs/libmythtv/profilegroup.h" line="87"/>
+ <source>Card-Type</source>
+- <translation>Card-Type</translation>
++ <translation>Card Type</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/recordingprofile.cpp" line="76"/>
+- <location filename="../libs/libmythtv/recordingprofile.cpp" line="569"/>
++ <location filename="../libs/libmythtv/recordingprofile.cpp" line="551"/>
+ <source>Codec</source>
+ <translation>Codec</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/recordingprofile.cpp" line="102"/>
+- <location filename="../libs/libmythtv/recordingprofile.cpp" line="327"/>
++ <location filename="../libs/libmythtv/recordingprofile.cpp" line="103"/>
++ <location filename="../libs/libmythtv/recordingprofile.cpp" line="328"/>
+ <source>Volume (%)</source>
+ <translation>Volume (%)</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/recordingprofile.cpp" line="114"/>
++ <location filename="../libs/libmythtv/recordingprofile.cpp" line="115"/>
+ <source>Sampling rate</source>
+- <translation>Sampling rate</translation>
++ <translation>Sampling Rate</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/recordingprofile.cpp" line="115"/>
++ <location filename="../libs/libmythtv/recordingprofile.cpp" line="116"/>
+ <source>Sets the audio sampling rate for your DSP. Ensure that you choose a sampling rate appropriate for your device. btaudio may only allow 32000.</source>
+- <translation>Sets the audio sampling rate for your DSP. Ensure that you choose a sampling rate appropriate for your device. btaudio may only allow 32000.</translation>
++ <translation>Sets the audio sampling rate for your DSP. Ensure that you choose a sampling rate appropriate for your device. btaudio may only allow 32000.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/recordingprofile.cpp" line="178"/>
++ <location filename="../libs/libmythtv/recordingprofile.cpp" line="179"/>
+ <source>Type</source>
+ <translation>Type</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/recordingprofile.cpp" line="195"/>
++ <location filename="../libs/libmythtv/recordingprofile.cpp" line="196"/>
+ <source>Sets the audio type</source>
+- <translation>Sets the audio type</translation>
++ <translation>Sets the Audio Type</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/recordingprofile.cpp" line="242"/>
+- <location filename="../libs/libmythtv/recordingprofile.cpp" line="270"/>
+- <location filename="../libs/libmythtv/recordingprofile.cpp" line="298"/>
+- <location filename="../libs/libmythtv/recordingprofile.cpp" line="1103"/>
++ <location filename="../libs/libmythtv/recordingprofile.cpp" line="243"/>
++ <location filename="../libs/libmythtv/recordingprofile.cpp" line="271"/>
++ <location filename="../libs/libmythtv/recordingprofile.cpp" line="299"/>
++ <location filename="../libs/libmythtv/recordingprofile.cpp" line="1057"/>
+ <source>Bitrate</source>
+ <translation>Bitrate</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/recordingprofile.cpp" line="259"/>
+- <location filename="../libs/libmythtv/recordingprofile.cpp" line="287"/>
+- <location filename="../libs/libmythtv/recordingprofile.cpp" line="315"/>
++ <location filename="../libs/libmythtv/recordingprofile.cpp" line="260"/>
++ <location filename="../libs/libmythtv/recordingprofile.cpp" line="288"/>
++ <location filename="../libs/libmythtv/recordingprofile.cpp" line="316"/>
+ <source>Sets the audio bitrate</source>
+- <translation>Sets the audio bitrate</translation>
++ <translation>Sets the Audio Bitrate</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/recordingprofile.cpp" line="329"/>
++ <location filename="../libs/libmythtv/recordingprofile.cpp" line="330"/>
+ <source>Volume of the recording </source>
+- <translation>Volume of the recording </translation>
++ <translation>Volume of the Recording </translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/recordingprofile.cpp" line="344"/>
++ <location filename="../libs/libmythtv/recordingprofile.cpp" line="343"/>
+ <source>Bitrate Settings</source>
+ <translation>Bitrate Settings</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/recordingprofile.cpp" line="369"/>
++ <location filename="../libs/libmythtv/recordingprofile.cpp" line="367"/>
+ <source>SAP/Bilingual</source>
+ <translation>SAP/Bilingual</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/recordingprofile.cpp" line="371"/>
++ <location filename="../libs/libmythtv/recordingprofile.cpp" line="369"/>
+ <source>Main Language</source>
+ <translation>Main Language</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/recordingprofile.cpp" line="372"/>
++ <location filename="../libs/libmythtv/recordingprofile.cpp" line="370"/>
+ <source>SAP Language</source>
+ <translation>SAP Language</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/recordingprofile.cpp" line="373"/>
++ <location filename="../libs/libmythtv/recordingprofile.cpp" line="371"/>
+ <source>Dual</source>
+ <translation>Dual</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/recordingprofile.cpp" line="376"/>
++ <location filename="../libs/libmythtv/recordingprofile.cpp" line="374"/>
+ <source>Chooses the language(s) to record when two languages are broadcast. Only Layer II supports the recording of two languages (Dual).Requires ivtv 0.4.0 or later.</source>
+ <translation>Chooses the language(s) to record when two languages are broadcast. Only Layer II supports the recording of two languages (Dual).Requires ivtv 0.4.0 or later.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/recordingprofile.cpp" line="411"/>
+- <location filename="../libs/libmythtv/recordingprofile.cpp" line="413"/>
++ <location filename="../libs/libmythtv/recordingprofile.cpp" line="406"/>
+ <source>Audio Quality</source>
+ <translation>Audio Quality</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/recordingprofile.cpp" line="580"/>
++ <location filename="../libs/libmythtv/recordingprofile.cpp" line="563"/>
+ <source>RTjpeg Quality</source>
+ <translation>RTjpeg Quality</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/recordingprofile.cpp" line="582"/>
++ <location filename="../libs/libmythtv/recordingprofile.cpp" line="565"/>
+ <source>Higher is better quality.</source>
+ <translation>Higher is better quality.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/recordingprofile.cpp" line="593"/>
++ <location filename="../libs/libmythtv/recordingprofile.cpp" line="576"/>
+ <source>Luma filter</source>
+- <translation>Luma filter</translation>
++ <translation>Luma Filter</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/recordingprofile.cpp" line="595"/>
+- <location filename="../libs/libmythtv/recordingprofile.cpp" line="608"/>
++ <location filename="../libs/libmythtv/recordingprofile.cpp" line="578"/>
++ <location filename="../libs/libmythtv/recordingprofile.cpp" line="591"/>
+ <source>Lower is better.</source>
+ <translation>Lower is better.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/recordingprofile.cpp" line="606"/>
++ <location filename="../libs/libmythtv/recordingprofile.cpp" line="589"/>
+ <source>Chroma filter</source>
+- <translation>Chroma filter</translation>
++ <translation>Chroma Filter</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/recordingprofile.cpp" line="633"/>
++ <location filename="../libs/libmythtv/recordingprofile.cpp" line="616"/>
+ <source>Scale bitrate for frame size</source>
+- <translation>Scale bitrate for frame size</translation>
++ <translation>Scale Bitrate for Frame Size</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/recordingprofile.cpp" line="648"/>
++ <location filename="../libs/libmythtv/recordingprofile.cpp" line="631"/>
+ <source>Minimum quality</source>
+- <translation>Minimum quality</translation>
++ <translation>Minimum Quality</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/recordingprofile.cpp" line="650"/>
+- <location filename="../libs/libmythtv/recordingprofile.cpp" line="664"/>
+- <location filename="../libs/libmythtv/recordingprofile.cpp" line="679"/>
++ <location filename="../libs/libmythtv/recordingprofile.cpp" line="633"/>
++ <location filename="../libs/libmythtv/recordingprofile.cpp" line="647"/>
++ <location filename="../libs/libmythtv/recordingprofile.cpp" line="662"/>
+ <source>Modifying the default may have severe consequences.</source>
+ <translation>Modifying the default may have severe consequences.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/recordingprofile.cpp" line="662"/>
++ <location filename="../libs/libmythtv/recordingprofile.cpp" line="645"/>
+ <source>Maximum quality</source>
+- <translation>Maximum quality</translation>
++ <translation>Maximum Quality</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/recordingprofile.cpp" line="677"/>
++ <location filename="../libs/libmythtv/recordingprofile.cpp" line="660"/>
+ <source>Max quality difference between frames</source>
+- <translation>Max quality difference between frames</translation>
++ <translation>Max Quality Difference Between Frames</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/recordingprofile.cpp" line="691"/>
++ <location filename="../libs/libmythtv/recordingprofile.cpp" line="674"/>
+ <source>Enable interlaced DCT encoding</source>
+- <translation>Enable interlaced DCT encoding</translation>
++ <translation>Enable Interlaced DCT Encoding</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/recordingprofile.cpp" line="707"/>
++ <location filename="../libs/libmythtv/recordingprofile.cpp" line="690"/>
+ <source>Enable interlaced motion estimation</source>
+- <translation>Enable interlaced motion estimation</translation>
++ <translation>Enable Interlaced Motion Estimation</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/recordingprofile.cpp" line="723"/>
++ <location filename="../libs/libmythtv/recordingprofile.cpp" line="706"/>
+ <source>Enable high-quality encoding</source>
+- <translation>Enable high-quality encoding</translation>
++ <translation>Enable High-quality Encoding</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/recordingprofile.cpp" line="738"/>
++ <location filename="../libs/libmythtv/recordingprofile.cpp" line="721"/>
+ <source>Enable 4MV encoding</source>
+- <translation>Enable 4MV encoding</translation>
++ <translation>Enable 4MV Encoding</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/recordingprofile.cpp" line="740"/>
++ <location filename="../libs/libmythtv/recordingprofile.cpp" line="723"/>
+ <source>If set, the MPEG4 encoder will use &apos;4MV&apos; motion-vector encoding. This requires much more processing, but can result in better video. It is highly recommended that the HQ option is enabled if 4MV is enabled.</source>
+- <translation>If set, the MPEG4 encoder will use &apos;4MV&apos; motion-vector encoding. This requires much more processing, but can result in better video. It is highly recommended that the HQ option is enabled if 4MV is enabled.</translation>
++ <translation>If set, the MPEG4 encoder will use &apos;4MV&apos; motion-vector encoding. This requires much more processing, but can result in better video. It is highly recommended that the HQ option is enabled if 4MV is enabled.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/recordingprofile.cpp" line="756"/>
++ <location filename="../libs/libmythtv/recordingprofile.cpp" line="739"/>
+ <source>Number of threads</source>
+- <translation>Number of threads</translation>
++ <translation>Number of Threads</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/recordingprofile.cpp" line="759"/>
++ <location filename="../libs/libmythtv/recordingprofile.cpp" line="742"/>
+ <source>Threads to use for software encoding.</source>
+ <translation>Threads to use for software encoding.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/recordingprofile.cpp" line="760"/>
++ <location filename="../libs/libmythtv/recordingprofile.cpp" line="743"/>
+ <source>Set to a value less than or equal to the number of processors on the backend that will be doing the encoding.</source>
+ <translation>Set to a value less than or equal to the number of processors on the backend that will be doing the encoding.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/recordingprofile.cpp" line="87"/>
++ <location filename="../libs/libmythtv/recordingprofile.cpp" line="88"/>
+ <source>MP3 quality</source>
+- <translation>MP3 quality</translation>
++ <translation>MP3 Quality</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/recordingprofile.cpp" line="89"/>
++ <location filename="../libs/libmythtv/recordingprofile.cpp" line="90"/>
+ <source>The higher the slider number, the lower the quality of the audio. Better quality audio (lower numbers) requires more CPU.</source>
+ <translation>The higher the slider number, the lower the quality of the audio. Better quality audio (lower numbers) requires more CPU.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/recordingprofile.cpp" line="104"/>
++ <location filename="../libs/libmythtv/recordingprofile.cpp" line="105"/>
+ <source>Recording volume of the capture card.</source>
+ <translation>Recording volume of the capture card.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/recordingprofile.cpp" line="392"/>
++ <location filename="../libs/libmythtv/recordingprofile.cpp" line="390"/>
+ <source>Bitrate Mode</source>
+ <translation>Bitrate Mode</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/recordingprofile.cpp" line="397"/>
++ <location filename="../libs/libmythtv/recordingprofile.cpp" line="395"/>
+ <source>Bitrate mode</source>
+- <translation>Bitrate mode</translation>
++ <translation>Bitrate Mode</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/recordingprofile.cpp" line="619"/>
++ <location filename="../libs/libmythtv/recordingprofile.cpp" line="602"/>
+ <source>Bitrate (kb/s)</source>
+ <translation>Bitrate (kb/s)</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/recordingprofile.cpp" line="621"/>
++ <location filename="../libs/libmythtv/recordingprofile.cpp" line="604"/>
+ <source>Bitrate in kilobits/second. As a guide, 2200 kb/s is approximately 1 GB/hr.</source>
+ <translation>Bitrate in kilobits/second. As a guide, 2200 kb/s is approximately 1 GB/hr.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/recordingprofile.cpp" line="635"/>
++ <location filename="../libs/libmythtv/recordingprofile.cpp" line="618"/>
+ <source>If set, the bitrate specified will be used for 640x480. If other resolutions are used, the bitrate will be scaled appropriately.</source>
+ <translation>If set, the bitrate specified will be used for 640x480. If other resolutions are used, the bitrate will be scaled appropriately.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/recordingprofile.cpp" line="693"/>
++ <location filename="../libs/libmythtv/recordingprofile.cpp" line="676"/>
+ <source>If set, the MPEG4 encoder will use interlaced DCT encoding. You may want this when encoding interlaced video; however, this is experimental and may cause damaged video.</source>
+ <translation>If set, the MPEG4 encoder will use interlaced DCT encoding. You may want this when encoding interlaced video; however, this is experimental and may cause damaged video.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/recordingprofile.cpp" line="709"/>
++ <location filename="../libs/libmythtv/recordingprofile.cpp" line="692"/>
+ <source>If set, the MPEG4 encoder will use interlaced motion estimation. You may want this when encoding interlaced video; however, this is experimental and may cause damaged video.</source>
+ <translation>If set, the MPEG4 encoder will use interlaced motion estimation. You may want this when encoding interlaced video; however, this is experimental and may cause damaged video.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/recordingprofile.cpp" line="725"/>
++ <location filename="../libs/libmythtv/recordingprofile.cpp" line="708"/>
+ <source>If set, the MPEG4 encoder will use &apos;high-quality&apos; encoding options. This requires much more processing, but can result in better video.</source>
+ <translation>If set, the MPEG4 encoder will use &apos;high-quality&apos; encoding options. This requires much more processing, but can result in better video.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/recordingprofile.cpp" line="778"/>
++ <location filename="../libs/libmythtv/recordingprofile.cpp" line="761"/>
+ <source>Avg. Bitrate (kb/s)</source>
+ <translation>Avg. Bitrate (kb/s)</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/recordingprofile.cpp" line="781"/>
++ <location filename="../libs/libmythtv/recordingprofile.cpp" line="764"/>
+ <source>Average bitrate in kilobits/second. As a guide, 2200 kb/s is approximately 1 GB/hour.</source>
+ <translation>Average bitrate in kilobits/second. As a guide, 2200 kb/s is approximately 1 GB/hour.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/recordingprofile.cpp" line="799"/>
++ <location filename="../libs/libmythtv/recordingprofile.cpp" line="782"/>
+ <source>Max. Bitrate (kb/s)</source>
+ <translation>Max. Bitrate (kb/s)</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/recordingprofile.cpp" line="802"/>
++ <location filename="../libs/libmythtv/recordingprofile.cpp" line="785"/>
+ <source>Maximum bitrate in kilobits/second. As a guide, 2200 kb/s is approximately 1 GB/hour.</source>
+ <translation>Maximum bitrate in kilobits/second. As a guide, 2200 kb/s is approximately 1 GB/hour.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/recordingprofile.cpp" line="817"/>
++ <location filename="../libs/libmythtv/recordingprofile.cpp" line="800"/>
+ <source>Stream Type</source>
+ <translation>Stream Type</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/recordingprofile.cpp" line="828"/>
++ <location filename="../libs/libmythtv/recordingprofile.cpp" line="811"/>
+ <source>Sets the type of stream generated by your PVR.</source>
+ <translation>Sets the type of stream generated by your PVR.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/recordingprofile.cpp" line="843"/>
++ <location filename="../libs/libmythtv/recordingprofile.cpp" line="826"/>
+ <source>Aspect Ratio</source>
+ <translation>Aspect Ratio</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/recordingprofile.cpp" line="845"/>
++ <location filename="../libs/libmythtv/recordingprofile.cpp" line="828"/>
+ <source>Square</source>
+ <translation>Square</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/recordingprofile.cpp" line="852"/>
++ <location filename="../libs/libmythtv/recordingprofile.cpp" line="835"/>
+ <source>Sets the aspect ratio of stream generated by your PVR.</source>
+ <translation>Sets the aspect ratio of stream generated by your PVR.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/recordingprofile.cpp" line="864"/>
++ <location filename="../libs/libmythtv/recordingprofile.cpp" line="847"/>
+ <source>Quality</source>
+ <translation>Quality</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/recordingprofile.cpp" line="877"/>
++ <location filename="../libs/libmythtv/recordingprofile.cpp" line="860"/>
+ <source>Horizontal Decimation</source>
+ <translation>Horizontal Decimation</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/recordingprofile.cpp" line="892"/>
++ <location filename="../libs/libmythtv/recordingprofile.cpp" line="875"/>
+ <source>Vertical Decimation</source>
+ <translation>Vertical Decimation</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/recordingprofile.cpp" line="910"/>
+- <location filename="../libs/libmythtv/recordingprofile.cpp" line="912"/>
++ <location filename="../libs/libmythtv/recordingprofile.cpp" line="890"/>
+ <source>Video Compression</source>
+ <translation>Video Compression</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/recordingprofile.cpp" line="920"/>
+ <source>RTjpeg Parameters</source>
+- <translation>RTjpeg Parameters</translation>
++ <translation type="vanished">RTjpeg Parameters</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/recordingprofile.cpp" line="928"/>
+ <source>MPEG-4 Parameters</source>
+- <translation>MPEG-4 Parameters</translation>
++ <translation type="vanished">MPEG-4 Parameters</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/recordingprofile.cpp" line="952"/>
+ <source>MPEG-2 Parameters</source>
+- <translation>MPEG-2 Parameters</translation>
++ <translation type="vanished">MPEG-2 Parameters</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/recordingprofile.cpp" line="966"/>
+ <source>Hardware MJPEG Parameters</source>
+- <translation>Hardware MJPEG Parameters</translation>
++ <translation type="vanished">Hardware MJPEG Parameters</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/recordingprofile.cpp" line="974"/>
+ <source>MPEG-2 Hardware Encoder</source>
+- <translation>MPEG-2 Hardware Encoder</translation>
++ <translation type="vanished">MPEG-2 Hardware Encoder</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/recordingprofile.cpp" line="983"/>
+ <source>MPEG-4 AVC Hardware Encoder</source>
+- <translation>MPEG-4 AVC Hardware Encoder</translation>
++ <translation type="vanished">MPEG-4 AVC Hardware Encoder</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/recordingprofile.cpp" line="986"/>
+- <location filename="../libs/libmythtv/recordingprofile.cpp" line="1077"/>
++ <location filename="../libs/libmythtv/recordingprofile.cpp" line="941"/>
++ <location filename="../libs/libmythtv/recordingprofile.cpp" line="1031"/>
+ <source>Low Resolution</source>
+ <translation>Low Resolution</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/recordingprofile.cpp" line="994"/>
+- <location filename="../libs/libmythtv/recordingprofile.cpp" line="1085"/>
++ <location filename="../libs/libmythtv/recordingprofile.cpp" line="949"/>
++ <location filename="../libs/libmythtv/recordingprofile.cpp" line="1039"/>
+ <source>Medium Resolution</source>
+ <translation>Medium Resolution</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/recordingprofile.cpp" line="1002"/>
+- <location filename="../libs/libmythtv/recordingprofile.cpp" line="1093"/>
++ <location filename="../libs/libmythtv/recordingprofile.cpp" line="957"/>
++ <location filename="../libs/libmythtv/recordingprofile.cpp" line="1047"/>
+ <source>High Resolution</source>
+ <translation>High Resolution</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/recordingprofile.cpp" line="1211"/>
++ <location filename="../libs/libmythtv/recordingprofile.cpp" line="1165"/>
+ <source>Enable auto-transcode after recording</source>
+- <translation>Enable auto-transcode after recording</translation>
++ <translation>Enable Auto-transcode After Recording</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/recordingprofile.cpp" line="1213"/>
++ <location filename="../libs/libmythtv/recordingprofile.cpp" line="1167"/>
+ <source>Automatically transcode when a recording is made using this profile and the recording&apos;s schedule is configured to allow transcoding.</source>
+ <translation>Automatically transcode when a recording is made using this profile and the recording&apos;s schedule is configured to allow transcoding.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/recordingprofile.cpp" line="1226"/>
++ <location filename="../libs/libmythtv/recordingprofile.cpp" line="1180"/>
+ <source>Resize video while transcoding</source>
+- <translation>Resize video while transcoding</translation>
++ <translation>Resize Video While Transcoding</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/recordingprofile.cpp" line="1281"/>
++ <location filename="../libs/libmythtv/recordingprofile.cpp" line="1235"/>
+ <source>If set, extra files will be created for each recording with the name of the recording followed by &apos;.ts.raw&apos;. These extra files represent the full contents of the transport stream used to generate the recording. (For debugging purposes)</source>
+ <translation>If set, extra files will be created for each recording with the name of the recording followed by &apos;.ts.raw&apos;. These extra files represent the full contents of the transport stream used to generate the recording. (For debugging purposes)</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/recordingprofile.cpp" line="1301"/>
++ <location filename="../libs/libmythtv/recordingprofile.cpp" line="1255"/>
+ <source>Custom filters</source>
+- <translation>Custom filters</translation>
++ <translation>Custom Filters</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/recordingprofile.cpp" line="1228"/>
++ <location filename="../libs/libmythtv/recordingprofile.cpp" line="1182"/>
+ <source>Allows the transcoder to resize the video during transcoding.</source>
+ <translation>Allows the transcoder to resize the video during transcoding.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/recordingprofile.cpp" line="1240"/>
++ <location filename="../libs/libmythtv/recordingprofile.cpp" line="1194"/>
+ <source>Lossless transcoding</source>
+- <translation>Lossless transcoding</translation>
++ <translation>Lossless Transcoding</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/recordingprofile.cpp" line="1242"/>
++ <location filename="../libs/libmythtv/recordingprofile.cpp" line="1196"/>
+ <source>Only reencode where absolutely needed (normally only around cutpoints). Otherwise keep audio and video formats identical to the source. This should result in the highest quality, but won&apos;t save as much space.</source>
+- <translation>Only reencode where absolutely needed (normally only around cutpoints). Otherwise keep audio and video formats identical to the source. This should result in the highest quality, but won&apos;t save as much space.</translation>
++ <translation>Only re-encode where absolutely needed (normally only around cutpoints). Otherwise keep audio and video formats identical to the source. This should result in the highest quality, but won&apos;t save as much space.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/recordingprofile.cpp" line="1257"/>
++ <location filename="../libs/libmythtv/recordingprofile.cpp" line="1211"/>
+ <source>Recording Type</source>
+ <translation>Recording Type</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/recordingprofile.cpp" line="1259"/>
++ <location filename="../libs/libmythtv/recordingprofile.cpp" line="1213"/>
+ <source>This option allows you to filter out unwanted streams. &apos;Normal&apos; will record all relevant streams including interactive television data. &apos;TV Only&apos; will record only audio, video and subtitle streams. </source>
+ <translation>This option allows you to filter out unwanted streams. &apos;Normal&apos; will record all relevant streams including interactive television data. &apos;TV Only&apos; will record only audio, video and subtitle streams. </translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/recordingprofile.cpp" line="1266"/>
++ <location filename="../libs/libmythtv/recordingprofile.cpp" line="1220"/>
+ <source>Normal</source>
+ <translation>Normal</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/recordingprofile.cpp" line="1267"/>
++ <location filename="../libs/libmythtv/recordingprofile.cpp" line="1221"/>
+ <source>TV Only</source>
+ <translation>TV Only</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/recordingprofile.cpp" line="1268"/>
++ <location filename="../libs/libmythtv/recordingprofile.cpp" line="1222"/>
+ <source>Audio Only</source>
+ <translation>Audio Only</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/recordingprofile.cpp" line="1279"/>
++ <location filename="../libs/libmythtv/recordingprofile.cpp" line="1233"/>
+ <source>Record Full TS?</source>
+ <translation>Record Full TS?</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/recordingprofile.cpp" line="1302"/>
++ <location filename="../libs/libmythtv/recordingprofile.cpp" line="1256"/>
+ <source>Filters used when transcoding with this profile. This value must be blank to perform lossless transcoding. Format: [[&lt;filter&gt;=&lt;options&gt;,]...]</source>
+- <translation>Filters used when transcoding with this profile. This value must be blank to perform lossless transcoding. Format: [[&lt;filter&gt;=&lt;options&gt;,]...]</translation>
++ <translation>Filters used when transcoding with this profile. This value must be blank to perform lossless transcoding. Format: [[&lt;filter&gt;=&lt;options&gt;,]...]</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmyth/settings.cpp" line="805"/>
+- <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="226"/>
+- <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="239"/>
+- <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="251"/>
+- <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="304"/>
+- <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="319"/>
+- <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="332"/>
+- <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="374"/>
+- <location filename="../libs/libmythtv/recordingprofile.cpp" line="1321"/>
+- <location filename="../libs/libmythtv/recordingprofile.cpp" line="1348"/>
+- <location filename="../libs/libmythtv/transporteditor.cpp" line="559"/>
+- <location filename="../libs/libmythtv/transporteditor.cpp" line="573"/>
+- <location filename="../libs/libmythtv/transporteditor.cpp" line="586"/>
+- <location filename="../libs/libmythtv/transporteditor.cpp" line="646"/>
+- <location filename="../libs/libmythtv/transporteditor.cpp" line="662"/>
+- <location filename="../libs/libmythtv/transporteditor.cpp" line="676"/>
++ <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="228"/>
++ <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="241"/>
++ <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="253"/>
++ <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="306"/>
++ <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="321"/>
++ <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="334"/>
++ <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="376"/>
++ <location filename="../libs/libmythtv/recordingprofile.cpp" line="1275"/>
++ <location filename="../libs/libmythtv/recordingprofile.cpp" line="1302"/>
++ <location filename="../libs/libmythtv/transporteditor.cpp" line="556"/>
++ <location filename="../libs/libmythtv/transporteditor.cpp" line="570"/>
++ <location filename="../libs/libmythtv/transporteditor.cpp" line="583"/>
++ <location filename="../libs/libmythtv/transporteditor.cpp" line="643"/>
++ <location filename="../libs/libmythtv/transporteditor.cpp" line="659"/>
++ <location filename="../libs/libmythtv/transporteditor.cpp" line="673"/>
++ <location filename="../libs/libmythtv/transporteditor.cpp" line="718"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2274"/>
+ <source>Auto</source>
+ <translation>Auto</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/recordingprofile.cpp" line="1324"/>
++ <location filename="../libs/libmythtv/recordingprofile.cpp" line="1278"/>
+ <source>Width</source>
+ <translation>Width</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/recordingprofile.cpp" line="1328"/>
++ <location filename="../libs/libmythtv/recordingprofile.cpp" line="1282"/>
+ <source>If the width is set to &apos;Auto&apos;, the width will be calculated based on the height and the recording&apos;s physical aspect ratio.</source>
+ <translation>If the width is set to &apos;Auto&apos;, the width will be calculated based on the height and the recording&apos;s physical aspect ratio.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/recordingprofile.cpp" line="1331"/>
++ <location filename="../libs/libmythtv/recordingprofile.cpp" line="1285"/>
+ <source>Width to use for encoding. Note: PVR-x50 cards may produce ghosting if this is not set to 720 or 768 for NTSC and PAL, respectively.</source>
+ <translation>Width to use for encoding. Note: PVR-x50 cards may produce ghosting if this is not set to 720 or 768 for NTSC and PAL, respectively.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/recordingprofile.cpp" line="1351"/>
++ <location filename="../libs/libmythtv/recordingprofile.cpp" line="1305"/>
+ <source>Height</source>
+ <translation>Height</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/recordingprofile.cpp" line="1355"/>
++ <location filename="../libs/libmythtv/recordingprofile.cpp" line="1309"/>
+ <source>If the height is set to &apos;Auto&apos;, the height will be calculated based on the width and the recording&apos;s physical aspect ratio.</source>
+ <translation>If the height is set to &apos;Auto&apos;, the height will be calculated based on the width and the recording&apos;s physical aspect ratio.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/recordingprofile.cpp" line="1358"/>
++ <location filename="../libs/libmythtv/recordingprofile.cpp" line="1312"/>
+ <source>Height to use for encoding. Note: PVR-x50 cards may produce ghosting if this is not set to 480 or 576 for NTSC and PAL, respectively.</source>
+ <translation>Height to use for encoding. Note: PVR-x50 cards may produce ghosting if this is not set to 480 or 576 for NTSC and PAL, respectively.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/recordingprofile.cpp" line="1374"/>
+- <location filename="../libs/libmythtv/recordingprofile.cpp" line="1376"/>
++ <location filename="../libs/libmythtv/recordingprofile.cpp" line="1324"/>
+ <source>Image size</source>
+ <translation>Image size</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/recordingprofile.cpp" line="1465"/>
+- <location filename="../libs/libmythtv/recordingprofile.cpp" line="1467"/>
+ <source>Profile</source>
+- <translation>Profile</translation>
++ <translation type="vanished">Profile</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/recordingprofile.cpp" line="1887"/>
++ <location filename="../libs/libmythtv/recordingprofile.cpp" line="1753"/>
+ <source>Autodetect</source>
+ <translation>Autodetect</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/recordingprofile.cpp" line="1902"/>
+- <location filename="../programs/mythtranscode/transcode.cpp" line="104"/>
++ <location filename="../libs/libmythtv/recordingprofile.cpp" line="1769"/>
++ <location filename="../programs/mythtranscode/transcode.cpp" line="109"/>
+ <source>Autodetect from %1</source>
+ <translation>Autodetect from %1</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/recordingprofile.cpp" line="1952"/>
++ <location filename="../libs/libmythtv/recordingprofile.cpp" line="1829"/>
+ <source>Transcode using Autodetect</source>
+ <translation>Transcode using Autodetect</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/recordingprofile.cpp" line="1965"/>
++ <location filename="../libs/libmythtv/recordingprofile.cpp" line="1842"/>
+ <source>Transcode using &quot;%1&quot;</source>
+ <translation>Transcode using &quot;%1&quot;</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/recordingprofile.cpp" line="1971"/>
++ <location filename="../libs/libmythtv/recordingprofile.cpp" line="1848"/>
+ <source>Record using the &quot;%1&quot; profile</source>
+ <translation>Record using the &quot;%1&quot; profile</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/recordingprofile.h" line="67"/>
++ <location filename="../libs/libmythtv/recordingprofile.h" line="59"/>
+ <source>Profile name</source>
+- <translation>Profile name</translation>
++ <translation>Profile Name</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/programrecpriority.cpp" line="123"/>
+@@ -17357,410 +17821,418 @@
+ <translation>Default (Template)</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/transporteditor.cpp" line="91"/>
+ <source>This section lists each transport that MythTV currently knows about. The display fields are video source, modulation, frequency, and when relevant symbol rate, network id, and transport id.</source>
+- <translation>This section lists each transport that MythTV currently knows about. The display fields are video source, modulation, frequency, and when relevant symbol rate, network id, and transport id.</translation>
++ <translation type="vanished">This section lists each transport that MythTV currently knows about. The display fields are video source, modulation, frequency, and when relevant symbol rate, network id, and transport id.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/transporteditor.cpp" line="185"/>
+- <location filename="../libs/libmythtv/transporteditor.cpp" line="210"/>
+- <location filename="../libs/libmythtv/transporteditor.cpp" line="241"/>
+ <source>Transport Editor</source>
+- <translation>Transport Editor</translation>
++ <translation type="vanished">Transport Editor</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/transporteditor.cpp" line="186"/>
++ <location filename="../libs/libmythtv/transporteditor.cpp" line="98"/>
+ <source>Sorry, the Transport Editor can only be used to edit transports which are connected to a card input.</source>
+ <translation>Sorry, the Transport Editor can only be used to edit transports which are connected to a card input.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/transporteditor.cpp" line="211"/>
++ <location filename="../libs/libmythtv/transporteditor.cpp" line="121"/>
+ <source>Failed to probe a capture card connected to this transport&apos;s video source. Please make sure the backend is not running.</source>
+ <translation>Failed to probe a capture card connected to this transport&apos;s video source. Please make sure the backend is not running.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/transporteditor.cpp" line="242"/>
++ <location filename="../libs/libmythtv/transporteditor.cpp" line="150"/>
+ <source>The Video Sources to which this Transport is connected are incompatible, please create separate video sources for these cards. </source>
+ <translation>The Video Sources to which this Transport is connected are incompatible, please create separate video sources for these cards. </translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/transporteditor.cpp" line="430"/>
++ <location filename="../libs/libmythtv/transporteditor.cpp" line="420"/>
+ <source>Digital TV Standard</source>
+ <translation>Digital TV Standard</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/transporteditor.cpp" line="431"/>
++ <location filename="../libs/libmythtv/transporteditor.cpp" line="421"/>
+ <source>Guiding standard to use for making sense of the data streams after they have been demodulated, error corrected and demultiplexed.</source>
+ <translation>Guiding standard to use for making sense of the data streams after they have been demodulated, error corrected and demultiplexed.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/transporteditor.cpp" line="436"/>
++ <location filename="../libs/libmythtv/transporteditor.cpp" line="426"/>
+ <source>DVB</source>
+ <translation>DVB</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/transporteditor.cpp" line="440"/>
++ <location filename="../libs/libmythtv/transporteditor.cpp" line="430"/>
+ <source>ATSC</source>
+ <translation>ATSC</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/transporteditor.cpp" line="441"/>
++ <location filename="../libs/libmythtv/transporteditor.cpp" line="431"/>
+ <source>OpenCable</source>
+ <translation>OpenCable</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/transporteditor.cpp" line="444"/>
++ <location filename="../libs/libmythtv/transporteditor.cpp" line="434"/>
+ <source>MPEG</source>
+ <translation>MPEG</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/transporteditor.cpp" line="456"/>
++ <location filename="../libs/libmythtv/transporteditor.cpp" line="446"/>
+ <source>Frequency (Option has no default).
+ The frequency for this channel in</source>
+ <translation>Frequency (Option has no default).
+ The frequency for this channel in</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/transporteditor.cpp" line="470"/>
++ <location filename="../libs/libmythtv/transporteditor.cpp" line="460"/>
+ <source>Symbol Rate (symbols/sec).
+ Most DVB-S transponders transmit at 27.5 million symbols per second.</source>
+ <translation>Symbol Rate (symbols/sec).
+ Most DVB-S transponders transmit at 27.5 million symbols per second.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/transporteditor.cpp" line="690"/>
++ <location filename="../libs/libmythtv/transporteditor.cpp" line="687"/>
++ <location filename="../libs/libmythtv/transporteditor.cpp" line="700"/>
+ <source>Modulation System</source>
+ <translation>Modulation System</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/transporteditor.cpp" line="691"/>
++ <location filename="../libs/libmythtv/transporteditor.cpp" line="688"/>
+ <source>Modulation System (Default: DVB-T)</source>
+ <translation>Modulation System (Default: DVB-T)</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/transporteditor.cpp" line="692"/>
++ <location filename="../libs/libmythtv/transporteditor.cpp" line="689"/>
+ <source>DVB-T</source>
+ <translation>DVB-T</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/transporteditor.cpp" line="693"/>
++ <location filename="../libs/libmythtv/transporteditor.cpp" line="690"/>
+ <source>DVB-T2</source>
+ <translation>DVB-T2</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="165"/>
+- <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="187"/>
+- <location filename="../libs/libmythtv/transporteditor.cpp" line="468"/>
++ <location filename="../libs/libmythtv/transporteditor.cpp" line="702"/>
++ <source>DVB-S</source>
++ <translation>DVB-S</translation>
++ </message>
++ <message>
++ <location filename="../libs/libmythtv/transporteditor.cpp" line="703"/>
++ <source>DVB-S2</source>
++ <translation>DVB-S2</translation>
++ </message>
++ <message>
++ <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="166"/>
++ <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="189"/>
++ <location filename="../libs/libmythtv/transporteditor.cpp" line="458"/>
+ <source>Symbol Rate</source>
+ <translation>Symbol Rate</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="207"/>
+- <location filename="../libs/libmythtv/transporteditor.cpp" line="491"/>
++ <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="209"/>
++ <location filename="../libs/libmythtv/transporteditor.cpp" line="481"/>
+ <source>Polarity</source>
+ <translation>Polarity</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="208"/>
+- <location filename="../libs/libmythtv/transporteditor.cpp" line="492"/>
++ <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="210"/>
++ <location filename="../libs/libmythtv/transporteditor.cpp" line="482"/>
+ <source>Polarity (Option has no default)</source>
+ <translation>Polarity (Option has no default)</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="209"/>
+- <location filename="../libs/libmythtv/transporteditor.cpp" line="493"/>
++ <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="211"/>
++ <location filename="../libs/libmythtv/transporteditor.cpp" line="483"/>
+ <source>Horizontal</source>
+ <translation>Horizontal</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="210"/>
+- <location filename="../libs/libmythtv/transporteditor.cpp" line="494"/>
++ <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="212"/>
++ <location filename="../libs/libmythtv/transporteditor.cpp" line="484"/>
+ <source>Vertical</source>
+ <translation>Vertical</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="211"/>
+- <location filename="../libs/libmythtv/transporteditor.cpp" line="495"/>
++ <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="213"/>
++ <location filename="../libs/libmythtv/transporteditor.cpp" line="485"/>
+ <source>Right Circular</source>
+ <translation>Right Circular</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="212"/>
+- <location filename="../libs/libmythtv/transporteditor.cpp" line="496"/>
++ <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="214"/>
++ <location filename="../libs/libmythtv/transporteditor.cpp" line="486"/>
+ <source>Left Circular</source>
+ <translation>Left Circular</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/transporteditor.cpp" line="512"/>
++ <location filename="../libs/libmythtv/transporteditor.cpp" line="502"/>
+ <source>Modulation</source>
+ <translation>Modulation</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/transporteditor.cpp" line="513"/>
++ <location filename="../libs/libmythtv/transporteditor.cpp" line="503"/>
+ <source>Modulation, aka Constellation</source>
+ <translation>Modulation, aka Constellation</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/transporteditor.cpp" line="523"/>
++ <location filename="../libs/libmythtv/transporteditor.cpp" line="520"/>
+ <source>QAM Auto</source>
+ <translation>QAM Auto</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="221"/>
+- <location filename="../libs/libmythtv/transporteditor.cpp" line="555"/>
++ <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="223"/>
++ <location filename="../libs/libmythtv/transporteditor.cpp" line="552"/>
+ <source>Inversion</source>
+ <translation>Inversion</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="222"/>
+- <location filename="../libs/libmythtv/transporteditor.cpp" line="556"/>
++ <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="224"/>
++ <location filename="../libs/libmythtv/transporteditor.cpp" line="553"/>
+ <source>Inversion (Default: Auto):
+ Most cards can autodetect this now, so leave it at Auto unless it won&apos;t work.</source>
+ <translation>Inversion (Default: Auto):
+ Most cards can autodetect this now, so leave it at Auto unless it won&apos;t work.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="237"/>
+- <location filename="../libs/libmythtv/transporteditor.cpp" line="571"/>
++ <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="239"/>
++ <location filename="../libs/libmythtv/transporteditor.cpp" line="568"/>
+ <source>Bandwidth</source>
+ <translation>Bandwidth</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/transporteditor.cpp" line="572"/>
++ <location filename="../libs/libmythtv/transporteditor.cpp" line="569"/>
+ <source>Bandwidth (Default: Auto)</source>
+ <translation>Bandwidth (Default: Auto)</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="57"/>
++ <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="58"/>
+ <source>Ignore Signal Timeout</source>
+ <translation>Ignore Signal Timeout</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="59"/>
++ <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="60"/>
+ <source>This option allows you to slow down the scan for broken drivers, such as the DVB drivers for the Leadtek LR6650 DVB card.</source>
+ <translation>This option allows you to slow down the scan for broken drivers, such as the DVB drivers for the Leadtek LR6650 DVB card.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="70"/>
++ <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="71"/>
+ <source>Search new Transports</source>
+- <translation>Search new Transports</translation>
++ <translation>Search New Transports</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="72"/>
++ <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="73"/>
+ <source>Digital transmissions may signal other available Transports. If this option is enabled the scanner scans all signaled transports for new/updated channels.</source>
+ <translation>Digital transmissions may signal other available Transports. If this option is enabled the scanner scans all signaled transports for new/updated channels.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="84"/>
++ <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="85"/>
+ <source>Desired Services</source>
+ <translation>Desired Services</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="90"/>
++ <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="91"/>
+ <source>TV</source>
+ <translation>TV</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="91"/>
++ <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="92"/>
+ <source>TV+Radio</source>
+ <translation>TV+Radio</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="85"/>
++ <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="86"/>
+ <source>TV - Adds A/V services only, TV+Radio - Adds all services with audio, All - Adds all services (including data only services).</source>
+ <translation>TV - Adds A/V services only, TV+Radio - Adds all services with audio, All - Adds all services (including data only services).</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="115"/>
++ <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="116"/>
+ <source>Unencrypted Only</source>
+ <translation>Unencrypted Only</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="117"/>
++ <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="118"/>
+ <source>If set, only non-encrypted channels will be added during the scan.</source>
+ <translation>If set, only non-encrypted channels will be added during the scan.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="128"/>
++ <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="129"/>
+ <source>Test Decryptability</source>
+ <translation>Test Decryptability</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="130"/>
++ <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="131"/>
+ <source>Test all channels to see if they can be decrypted with installed CAM/smartcard. Sometimes the encrypted flag is set spuriously. Attention: Enabling this option increases the scan time for each encrypted channel by a couple of seconds.</source>
+ <translation>Test all channels to see if they can be decrypted with installed CAM/smartcard. Sometimes the encrypted flag is set spuriously. Attention: Enabling this option increases the scan time for each encrypted channel by a couple of seconds.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="144"/>
++ <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="145"/>
+ <source>Frequency (Option has no default)
+ The frequency for this channel in kHz.</source>
+ <translation>Frequency (Option has no default)
+ The frequency for this channel in kHz.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="155"/>
++ <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="156"/>
+ <source>Frequency (Option has no default)
+ The frequency for this channel in Hz.</source>
+ <translation>Frequency (Option has no default)
+ The frequency for this channel in Hz.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="167"/>
++ <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="168"/>
+ <source>Symbol Rate (symbols/second).
+ Most DVB-S transponders transmit at 27.5 million symbols per second.</source>
+ <translation>Symbol Rate (symbols/second).
+ Most DVB-S transponders transmit at 27.5 million symbols per second.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="189"/>
++ <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="191"/>
+ <source>Symbol Rate (symbols/second).
+ Most DVB-C transports transmit at 6.9 or 6.875 million symbols per second.</source>
+ <translation>Symbol Rate (symbols/second).
+ Most DVB-C transports transmit at 6.9 or 6.875 million symbols per second.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="238"/>
++ <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="240"/>
+ <source>Bandwidth (Default: Auto)
+ </source>
+ <translation>Bandwidth (Default: Auto)</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="240"/>
+- <location filename="../libs/libmythtv/transporteditor.cpp" line="574"/>
++ <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="242"/>
++ <location filename="../libs/libmythtv/transporteditor.cpp" line="571"/>
+ <source>6 MHz</source>
+ <translation>6 MHz</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="241"/>
+- <location filename="../libs/libmythtv/transporteditor.cpp" line="575"/>
++ <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="243"/>
++ <location filename="../libs/libmythtv/transporteditor.cpp" line="572"/>
+ <source>7 MHz</source>
+ <translation>7 MHz</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="242"/>
+- <location filename="../libs/libmythtv/transporteditor.cpp" line="576"/>
++ <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="244"/>
++ <location filename="../libs/libmythtv/transporteditor.cpp" line="573"/>
+ <source>8 MHz</source>
+ <translation>8 MHz</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmyth/recordingtypes.cpp" line="226"/>
+- <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="252"/>
+- <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="333"/>
+- <location filename="../libs/libmythtv/transporteditor.cpp" line="587"/>
+- <location filename="../libs/libmythtv/transporteditor.cpp" line="677"/>
+- <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="704"/>
++ <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="254"/>
++ <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="335"/>
++ <location filename="../libs/libmythtv/transporteditor.cpp" line="584"/>
++ <location filename="../libs/libmythtv/transporteditor.cpp" line="674"/>
++ <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="896"/>
+ <location filename="../libs/libmythtv/videoouttypes.h" line="301"/>
+- <location filename="../programs/mythfrontend/scheduleeditor.cpp" line="2298"/>
++ <location filename="../programs/mythfrontend/scheduleeditor.cpp" line="2299"/>
+ <source>None</source>
+ <translation>None</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="271"/>
+- <location filename="../libs/libmythtv/transporteditor.cpp" line="607"/>
++ <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="273"/>
++ <location filename="../libs/libmythtv/transporteditor.cpp" line="604"/>
+ <source>FEC</source>
+ <translation>FEC</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="272"/>
+- <location filename="../libs/libmythtv/transporteditor.cpp" line="608"/>
++ <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="274"/>
++ <location filename="../libs/libmythtv/transporteditor.cpp" line="605"/>
+ <source>Forward Error Correction (Default: Auto)</source>
+ <translation>Forward Error Correction (Default: Auto)</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="282"/>
+- <location filename="../libs/libmythtv/transporteditor.cpp" line="620"/>
++ <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="284"/>
++ <location filename="../libs/libmythtv/transporteditor.cpp" line="617"/>
+ <source>LP Coderate</source>
+ <translation>LP Coderate</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="283"/>
+- <location filename="../libs/libmythtv/transporteditor.cpp" line="621"/>
++ <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="285"/>
++ <location filename="../libs/libmythtv/transporteditor.cpp" line="618"/>
+ <source>Low Priority Code Rate (Default: Auto)</source>
+ <translation>Low Priority Code Rate (Default: Auto)</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="292"/>
+- <location filename="../libs/libmythtv/transporteditor.cpp" line="633"/>
++ <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="294"/>
++ <location filename="../libs/libmythtv/transporteditor.cpp" line="630"/>
+ <source>HP Coderate</source>
+ <translation>HP Coderate</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="293"/>
+- <location filename="../libs/libmythtv/transporteditor.cpp" line="634"/>
++ <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="295"/>
++ <location filename="../libs/libmythtv/transporteditor.cpp" line="631"/>
+ <source>High Priority Code Rate (Default: Auto)</source>
+ <translation>High Priority Code Rate (Default: Auto)</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="302"/>
+- <location filename="../libs/libmythtv/transporteditor.cpp" line="644"/>
++ <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="304"/>
++ <location filename="../libs/libmythtv/transporteditor.cpp" line="641"/>
+ <source>Guard Interval</source>
+ <translation>Guard Interval</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="303"/>
+- <location filename="../libs/libmythtv/transporteditor.cpp" line="645"/>
++ <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="305"/>
++ <location filename="../libs/libmythtv/transporteditor.cpp" line="642"/>
+ <source>Guard Interval (Default: Auto)</source>
+ <translation>Guard Interval (Default: Auto)</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="317"/>
+- <location filename="../libs/libmythtv/transporteditor.cpp" line="660"/>
++ <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="319"/>
++ <location filename="../libs/libmythtv/transporteditor.cpp" line="657"/>
+ <source>Trans. Mode</source>
+ <translation>Trans. Mode</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="318"/>
+- <location filename="../libs/libmythtv/transporteditor.cpp" line="661"/>
++ <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="320"/>
++ <location filename="../libs/libmythtv/transporteditor.cpp" line="658"/>
+ <source>Transmission Mode (Default: Auto)</source>
+ <translation>Transmission Mode (Default: Auto)</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="330"/>
+- <location filename="../libs/libmythtv/transporteditor.cpp" line="674"/>
++ <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="332"/>
++ <location filename="../libs/libmythtv/transporteditor.cpp" line="671"/>
+ <source>Hierarchy</source>
+ <translation>Hierarchy</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="331"/>
+- <location filename="../libs/libmythtv/transporteditor.cpp" line="675"/>
++ <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="333"/>
++ <location filename="../libs/libmythtv/transporteditor.cpp" line="672"/>
+ <source>Hierarchy (Default: Auto)</source>
+ <translation>Hierarchy (Default: Auto)</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="345"/>
+- <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="357"/>
++ <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="347"/>
++ <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="359"/>
+ <source>Mod Sys</source>
+ <translation>Mod Sys</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="346"/>
++ <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="348"/>
++ <location filename="../libs/libmythtv/transporteditor.cpp" line="701"/>
+ <source>Modulation system (Default: DVB-S)</source>
+- <translation>Modulation system (Default: DVB-S)</translation>
++ <translation>Modulation System (Default: DVB-S)</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="358"/>
++ <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="360"/>
+ <source>Modulation system (Default: DVB-T)</source>
+- <translation>Modulation system (Default: DVB-T)</translation>
++ <translation>Modulation System (Default: DVB-T)</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="369"/>
++ <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="371"/>
++ <location filename="../libs/libmythtv/transporteditor.cpp" line="713"/>
+ <source>Roll-off</source>
+ <translation>Roll-off</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="370"/>
++ <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="372"/>
++ <location filename="../libs/libmythtv/transporteditor.cpp" line="714"/>
+ <source>Roll-off factor (Default: 0.35)</source>
+ <translation>Roll-off factor (Default: 0.35)</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/transporteditor.cpp" line="710"/>
+ <source>Transport Options</source>
+- <translation>Transport Options</translation>
++ <translation type="vanished">Transport Options</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/transporteditor.cpp" line="799"/>
+ <source>DVB Transport</source>
+- <translation>DVB Transport</translation>
++ <translation type="vanished">DVB Transport</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/tv.cpp" line="55"/>
+@@ -17786,448 +18258,464 @@
+ <message>
+ <location filename="../libs/libmythtv/tv.cpp" line="85"/>
+ <source>Auto-Skip OFF</source>
+- <translation>Auto-Skip OFF</translation>
++ <translation>Auto-skip Off</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/tv.cpp" line="86"/>
+ <source>Auto-Skip ON</source>
+- <translation>Auto-Skip ON</translation>
++ <translation>Auto-skip On</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/tv.cpp" line="87"/>
+ <source>Auto-Skip Notify</source>
+- <translation>Auto-Skip Notify</translation>
++ <translation>Auto-skip Notify</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_rec.cpp" line="3731"/>
++ <location filename="../libs/libmythtv/tv_rec.cpp" line="3750"/>
+ <source>On known multiplex...</source>
+- <translation>On known multiplex...</translation>
++ <translation>On Known Multiplex...</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tvremoteutil.cpp" line="467"/>
++ <location filename="../libs/libmythtv/tvremoteutil.cpp" line="443"/>
+ <source>Error querying recorder state</source>
+- <translation>Error querying recorder state</translation>
++ <translation>Error Querying Recorder State</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="641"/>
++ <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="828"/>
+ <source>Standard</source>
+ <translation>Standard</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="642"/>
++ <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="829"/>
+ <source>Mac hardware acceleration</source>
+- <translation>Mac hardware acceleration</translation>
++ <translation>Mac Hardware Acceleration</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="643"/>
++ <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="830"/>
+ <source>NVidia VDPAU acceleration</source>
+- <translation>NVidia VDPAU acceleration</translation>
++ <translation>NVidia VDPAU Acceleration</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="669"/>
++ <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="856"/>
+ <source>Standard will use ffmpeg library.</source>
+ <translation>Standard will use ffmpeg library.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="672"/>
++ <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="859"/>
+ <source>Mac hardware will try to use the graphics processor - this may hang or crash your Mac!</source>
+ <translation>Mac hardware will try to use the graphics processor - this may hang or crash your Mac!</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="677"/>
++ <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="864"/>
+ <source>VDPAU will attempt to use the graphics hardware to accelerate video decoding and playback.</source>
+ <translation>VDPAU will attempt to use the graphics hardware to accelerate video decoding and playback.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="688"/>
++ <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="875"/>
+ <source>VAAPI will attempt to use the graphics hardware to accelerate video decoding. REQUIRES OPENGL PAINTER.</source>
+ <translation>VAAPI will attempt to use the graphics hardware to accelerate video decoding. REQUIRES OPENGL PAINTER.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="706"/>
++ <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="898"/>
+ <source>Linear blend</source>
+- <translation>Linear blend</translation>
++ <translation>Linear Blend</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="708"/>
++ <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="900"/>
+ <source>Kernel</source>
+ <translation>Kernel</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="710"/>
++ <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="902"/>
+ <source>Kernel (2x)</source>
+ <translation>Kernel (2x)</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="712"/>
++ <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="904"/>
+ <source>Greedy HighMotion</source>
+ <translation>Greedy HighMotion</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="714"/>
++ <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="906"/>
+ <source>Greedy HighMotion (2x)</source>
+ <translation>Greedy HighMotion (2x)</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="716"/>
++ <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="908"/>
+ <source>Yadif</source>
+ <translation>Yadif</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="718"/>
++ <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="910"/>
+ <source>Yadif (2x)</source>
+ <translation>Yadif (2x)</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="720"/>
++ <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="912"/>
+ <source>Bob (2x)</source>
+ <translation>Bob (2x)</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="722"/>
++ <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="914"/>
+ <source>One field</source>
+- <translation>One field</translation>
++ <translation>One Field</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="724"/>
++ <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="916"/>
+ <source>Interlaced (2x)</source>
+ <translation>Interlaced (2x)</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="726"/>
++ <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="918"/>
+ <source>Linear blend (HW)</source>
+- <translation>Linear blend (HW)</translation>
++ <translation>Linear Blend (HW)</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="728"/>
++ <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="920"/>
+ <source>Kernel (HW)</source>
+ <translation>Kernel (HW)</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="730"/>
+- <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="742"/>
+- <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="754"/>
++ <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="922"/>
++ <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="934"/>
++ <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="946"/>
+ <source>Bob (2x, HW)</source>
+ <translation>Bob (2x, HW)</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="732"/>
++ <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="924"/>
+ <source>One field (HW)</source>
+- <translation>One field (HW)</translation>
++ <translation>One Field (HW)</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="734"/>
++ <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="926"/>
+ <source>Kernel (2x, HW)</source>
+ <translation>Kernel (2x, HW)</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="736"/>
++ <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="928"/>
+ <source>Linear blend (2x, HW)</source>
+- <translation>Linear blend (2x, HW)</translation>
++ <translation>Linear Blend (2x, HW)</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="1253"/>
++ <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="1457"/>
+ <source>This video renderer uses OpenGL for scaling and color conversion. It uses faster OpenGL functionality when available but at the expense of picture controls and GPU based deinterlacing.</source>
+ <translation>This video renderer uses OpenGL for scaling and color conversion. It uses faster OpenGL functionality when available but at the expense of picture controls and GPU based deinterlacing.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="1340"/>
++ <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="1544"/>
+ <source>This deinterlacer attempts to synchronize with interlaced displays whose size and refresh rate exactly match the video source. It has low CPU requirements.</source>
+ <translation>This deinterlacer attempts to synchronize with interlaced displays whose size and refresh rate exactly match the video source. It has low CPU requirements.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="1033"/>
++ <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="1225"/>
+ <source>High Quality</source>
+ <comment>Sample: high quality</comment>
+ <translation>High Quality</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="1043"/>
++ <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="1235"/>
+ <source>Normal</source>
+ <comment>Sample: average quality</comment>
+ <translation>Normal</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="1053"/>
++ <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="1245"/>
+ <source>Slim</source>
+ <comment>Sample: low CPU usage</comment>
+ <translation>Slim</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="1066"/>
++ <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="1258"/>
+ <source>VDPAU High Quality</source>
+ <comment>Sample: VDPAU high quality</comment>
+ <translation>VDPAU High Quality</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="1074"/>
++ <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="1266"/>
+ <source>VDPAU Normal</source>
+ <comment>Sample: VDPAU average quality</comment>
+ <translation>VDPAU Normal</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="1086"/>
++ <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="1278"/>
+ <source>VDPAU Slim</source>
+ <comment>Sample: VDPAU low power GPU</comment>
+ <translation>VDPAU Slim</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="1208"/>
++ <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="1412"/>
+ <source>Video rendering method</source>
+- <translation>Video rendering method</translation>
++ <translation>Video Rendering Method</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="1215"/>
++ <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="1419"/>
+ <source>Render video offscreen. Used internally.</source>
+ <translation>Render video offscreen. Used internally.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="1219"/>
++ <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="1423"/>
+ <source>Use X11 pixel copy to render video. This is not recommended if any other option is available. The video will not be scaled to fit the screen. This will work with all X11 servers, local and remote.</source>
+ <translation>Use X11 pixel copy to render video. This is not recommended if any other option is available. The video will not be scaled to fit the screen. This will work with all X11 servers, local and remote.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="1226"/>
++ <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="1430"/>
+ <source>Use X11 shared memory pixel transfer to render video. This is only recommended over the X11 pixel copy renderer. The video will not be scaled to fit the screen. This works with most local X11 servers.</source>
+ <translation>Use X11 shared memory pixel transfer to render video. This is only recommended over the X11 pixel copy renderer. The video will not be scaled to fit the screen. This works with most local X11 servers.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="1233"/>
++ <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="1437"/>
+ <source>This is the standard video renderer for X11 systems. It uses XVideo hardware assist for scaling, color conversion. If the hardware offers picture controls the renderer supports them.</source>
+ <translation>This is the standard video renderer for X11 systems. It uses XVideo hardware assist for scaling, color conversion. If the hardware offers picture controls the renderer supports them.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="1239"/>
++ <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="1443"/>
+ <source>Windows video renderer based on Direct3D. Requires video card compatible with Direct3D 9. This is the preferred renderer for current Windows systems.</source>
+ <translation>Windows video renderer based on Direct3D. Requires video card compatible with Direct3D 9. This is the preferred renderer for current Windows systems.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="738"/>
++ <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="930"/>
+ <source>Interlaced (2x, HW)</source>
+ <translation>Interlaced (2x, HW)</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="644"/>
++ <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="831"/>
+ <source>VAAPI acceleration</source>
+- <translation>VAAPI acceleration</translation>
++ <translation>VAAPI Acceleration</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="645"/>
++ <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="832"/>
+ <source>Windows hardware acceleration</source>
+- <translation>Windows hardware acceleration</translation>
++ <translation>Windows Hardware Acceleration</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="646"/>
++ <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="833"/>
+ <source>Mac VDA hardware acceleration</source>
+- <translation>Mac VDA hardware acceleration</translation>
++ <translation>Mac VDA Hardware Acceleration</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="661"/>
++ <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="848"/>
+ <source>Processing method used to decode video.</source>
+ <translation>Processing method used to decode video.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="682"/>
++ <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="869"/>
+ <source>DXVA2 will use the graphics hardware to accelerate video decoding and playback (requires Windows Vista or later).</source>
+ <translation>DXVA2 will use the graphics hardware to accelerate video decoding and playback (requires Windows Vista or later).</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="693"/>
++ <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="880"/>
+ <source>VDA will attempt to use the graphics hardware to accelerate video decoding. (H264 only, requires Mac OS 10.6.3)</source>
+ <translation>VDA will attempt to use the graphics hardware to accelerate video decoding. (H264 only, requires Mac OS 10.6.3)</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="740"/>
+- <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="752"/>
++ <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="886"/>
++ <source>Openmax will use the graphics hardware to accelerate video decoding on Raspberry Pi. </source>
++ <translation>Openmax will use the graphics hardware to accelerate video decoding on Raspberry Pi. </translation>
++ </message>
++ <message>
++ <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="932"/>
++ <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="944"/>
+ <source>One Field (1x, HW)</source>
+ <translation>One Field (1x, HW)</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="744"/>
++ <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="936"/>
+ <source>Temporal (1x, HW)</source>
+ <translation>Temporal (1x, HW)</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="746"/>
++ <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="938"/>
+ <source>Temporal (2x, HW)</source>
+ <translation>Temporal (2x, HW)</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="748"/>
++ <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="940"/>
+ <source>Advanced (1x, HW)</source>
+ <translation>Advanced (1x, HW)</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="750"/>
++ <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="942"/>
+ <source>Advanced (2x, HW)</source>
+ <translation>Advanced (2x, HW)</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="757"/>
++ <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="949"/>
+ <source>Advanced (HW)</source>
+ <translation>Advanced (HW)</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="759"/>
++ <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="951"/>
+ <source>Fast (HW)</source>
+ <translation>Fast (HW)</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="761"/>
++ <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="953"/>
+ <source>Line double (HW)</source>
+- <translation>Line double (HW)</translation>
++ <translation>Line Double (HW)</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="1097"/>
++ <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="1289"/>
+ <source>VDA High Quality</source>
+ <comment>Sample: VDA high quality</comment>
+ <translation>VDA High Quality</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="1109"/>
++ <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="1301"/>
+ <source>VDA Normal</source>
+ <comment>Sample: VDA average quality</comment>
+ <translation>VDA Normal</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="1121"/>
++ <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="1313"/>
+ <source>VDA Slim</source>
+ <comment>Sample: VDA low power GPU</comment>
+ <translation>VDA Slim</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="1136"/>
++ <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="1328"/>
+ <source>OpenGL High Quality</source>
+ <comment>Sample: OpenGL high quality</comment>
+ <translation>OpenGL High Quality</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="1144"/>
++ <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="1336"/>
+ <source>OpenGL Normal</source>
+ <comment>Sample: OpenGL average quality</comment>
+ <translation>OpenGL Normal</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="1152"/>
++ <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="1344"/>
+ <source>OpenGL Slim</source>
+ <comment>Sample: OpenGL low power GPU</comment>
+ <translation>OpenGL Slim</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="1163"/>
++ <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="1355"/>
+ <source>VAAPI Normal</source>
+ <comment>Sample: VAAPI average quality</comment>
+ <translation>VAAPI Normal</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="1178"/>
++ <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="1372"/>
++ <source>OpenMAX High Quality</source>
++ <comment>Sample: OpenMAX High Quality</comment>
++ <translation>OpenMAX High Quality</translation>
++ </message>
++ <message>
++ <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="1381"/>
+ <source>OpenMAX Normal</source>
+ <comment>Sample: OpenMAX Normal</comment>
+ <translation>OpenMAX Normal</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="1246"/>
++ <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="1450"/>
+ <source>This video renderer uses OpenGL for scaling and color conversion with full picture controls. The GPU can be used for deinterlacing. This requires a faster GPU than XVideo.</source>
+ <translation>This video renderer uses OpenGL for scaling and color conversion with full picture controls. The GPU can be used for deinterlacing. This requires a faster GPU than XVideo.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="1260"/>
++ <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="1464"/>
+ <source>This is the only video renderer for NVidia VDPAU decoding.</source>
+ <translation>This is the only video renderer for NVidia VDPAU decoding.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="1266"/>
++ <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="1470"/>
+ <source>This video renderer uses VAAPI for video decoding and OpenGL for scaling and color conversion.</source>
+ <translation>This video renderer uses VAAPI for video decoding and OpenGL for scaling and color conversion.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="1302"/>
++ <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="1506"/>
+ <source>This deinterlacer requires the display to be capable of twice the frame rate as the source video.</source>
+ <translation>This deinterlacer requires the display to be capable of twice the frame rate as the source video.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="1307"/>
++ <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="1511"/>
+ <source>Perform no deinterlacing.</source>
+ <translation>Perform no deinterlacing.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="1308"/>
++ <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="1512"/>
+ <source>Use this with an interlaced display whose resolution exactly matches the video size. This is incompatible with MythTV zoom modes.</source>
+ <translation>Use this with an interlaced display whose resolution exactly matches the video size. This is incompatible with MythTV zoom modes.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="1313"/>
++ <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="1517"/>
+ <source>Shows only one of the two fields in the frame. This looks good when displaying a high motion 1080i video on a 720p display.</source>
+ <translation>Shows only one of the two fields in the frame. This looks good when displaying a high motion 1080i video on a 720p display.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="1318"/>
++ <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="1522"/>
+ <source>Shows one field of the frame followed by the other field displaced vertically.</source>
+ <translation>Shows one field of the frame followed by the other field displaced vertically.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="1323"/>
++ <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="1527"/>
+ <source>Blends the odd and even fields linearly into one frame.</source>
+ <translation>Blends the odd and even fields linearly into one frame.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="1326"/>
++ <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="1530"/>
+ <source>This filter disables deinterlacing when the two fields are similar, and performs linear deinterlacing otherwise.</source>
+ <translation>This filter disables deinterlacing when the two fields are similar, and performs linear deinterlacing otherwise.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="1330"/>
++ <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="1534"/>
+ <source>(Hardware Accelerated)</source>
+ <translation>(Hardware Accelerated)</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="1332"/>
+- <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="1336"/>
++ <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="1536"/>
++ <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="1540"/>
+ <source>This deinterlacer uses several fields to reduce motion blur. It has increased CPU requirements.</source>
+ <translation>This deinterlacer uses several fields to reduce motion blur. It has increased CPU requirements.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="1345"/>
++ <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="1549"/>
+ <source>This deinterlacer uses several fields to reduce motion blur. </source>
+ <translation>This deinterlacer uses several fields to reduce motion blur. </translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="1348"/>
++ <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="1552"/>
+ <source>This deinterlacer uses multiple fields to reduce motion blur and smooth edges. </source>
+ <translation>This deinterlacer uses multiple fields to reduce motion blur and smooth edges. </translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="1405"/>
++ <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="1609"/>
+ <source>&apos;%1&apos; has not been documented yet.</source>
+ <translation>&apos;%1&apos; has not been documented yet.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="1427"/>
++ <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="1631"/>
+ <source>OSD rendering method</source>
+- <translation>OSD rendering method</translation>
++ <translation>OSD Rendering Method</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="1433"/>
++ <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="1637"/>
+ <source>Render the OSD using the XVideo chromakey feature.This renderer does not alpha blend but is the fastest OSD renderer for XVideo.</source>
+ <translation>Render the OSD using the XVideo chromakey feature.This renderer does not alpha blend but is the fastest OSD renderer for XVideo.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="1437"/>
++ <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="1641"/>
+ <source>Note: nVidia hardware after the 5xxx series does not have XVideo chromakey support.</source>
+ <translation>Note: nVidia hardware after the 5xxx series does not have XVideo chromakey support.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="1444"/>
++ <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="1648"/>
+ <source>Software OSD rendering uses your CPU to alpha blend the OSD.</source>
+ <translation>Software OSD rendering uses your CPU to alpha blend the OSD.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="1450"/>
++ <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="1654"/>
+ <source>Uses OpenGL to alpha blend the OSD onto the video.</source>
+ <translation>Uses OpenGL to alpha blend the OSD onto the video.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="1457"/>
++ <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="1660"/>
++ <source>Uses OpenGL in a separate thread to overlay the OSD onto the video.</source>
++ <translation>Use OpenGL in a separate thread to overlay the OSD onto the video.</translation>
++ </message>
++ <message>
++ <location filename="../libs/libmythtv/videodisplayprofile.cpp" line="1667"/>
+ <source>Uses OpenMAX to alpha blend the OSD onto the video.</source>
+ <translation>Uses OpenMAX to alpha blend the OSD onto the video.</translation>
+ </message>
+@@ -18388,217 +18876,230 @@
+ <translation>Volume</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="130"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="139"/>
+ <source>Max recordings</source>
+- <translation>Max recordings</translation>
++ <translation>Max Recordings</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="202"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="230"/>
+ <source>Listings grabber</source>
+- <translation>Listings grabber</translation>
++ <translation>Listings Grabber</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="213"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="369"/>
+ <source>Network ID</source>
+ <translation>Network ID</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="226"/>
+- <location filename="../libs/libmythtv/videosource.cpp" line="241"/>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="170"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="382"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="397"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="242"/>
+ <source>Channel frequency table</source>
+- <translation>Channel frequency table</translation>
++ <translation>Channel Frequency Table</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="232"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="388"/>
+ <source>Use default unless this source uses a different frequency table than the system wide table defined in the General settings.</source>
+ <translation>Use default unless this source uses a different frequency table than the system wide table defined in the General settings.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="337"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="493"/>
+ <source>User ID</source>
+ <translation>User ID</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="505"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="661"/>
+ <source>Use only the transmitted guide data.</source>
+ <translation>Use only the transmitted guide data.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="509"/>
+ <source>This will usually only work with ATSC or DVB channels,</source>
+- <translation>This will usually only work with ATSC or DVB channels,</translation>
++ <translation type="vanished">This will usually only work with ATSC or DVB channels,</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="513"/>
+ <source>and generally provides data only for the next few days.</source>
+- <translation>and generally provides data only for the next few days.</translation>
++ <translation type="vanished">and generally provides data only for the next few days.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="533"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="683"/>
+ <source>Do not configure a grabber</source>
+- <translation>Do not configure a grabber</translation>
++ <translation>Do Not Configure a Grabber</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="564"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="242"/>
+ <source>North America (SchedulesDirect.org) (Internal)</source>
+ <translation>North America (SchedulesDirect.org) (Internal)</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="568"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="142"/>
++ <source>Maximum number of simultaneous recordings MythTV will attempt using this device. If set to a value other than 1, MythTV can sometimes record multiple programs on the same multiplex or overlapping copies of the same program on a single channel.</source>
++ <translation>Maximum number of simultaneous recordings MythTV will attempt using this device. If set to a value other than 1, MythTV can sometimes record multiple programs on the same multiplex or overlapping copies of the same program on a single channel.</translation>
++ </message>
++ <message>
++ <location filename="../libs/libmythtv/videosource.cpp" line="158"/>
++ <source>Schedule as group</source>
++ <translation>Schedule as Group</translation>
++ </message>
++ <message>
++ <location filename="../libs/libmythtv/videosource.cpp" line="161"/>
++ <source>Schedule all virtual inputs on this device as a group. This is more efficient than scheduling each input individually, but can result in scheduling more simultaneous recordings than is allowed. Be sure to set the maximum number of simultaneous recordings above high enough to handle all expected cases.</source>
++ <translation>Schedule all virtual inputs on this device as a group. This is more efficient than scheduling each input individually, but can result in scheduling more simultaneous recordings than is allowed. Be sure to set the maximum number of simultaneous recordings above high enough to handle all expected cases.</translation>
++ </message>
++ <message>
++ <location filename="../libs/libmythtv/videosource.cpp" line="246"/>
+ <source>Transmitted guide only (EIT)</source>
+- <translation>Transmitted guide only (EIT)</translation>
++ <translation>Transmitted Guide Only (EIT)</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="570"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="248"/>
+ <source>No grabber</source>
+- <translation>No grabber</translation>
++ <translation>No Grabber</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="747"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="785"/>
+ <source>Video device</source>
+- <translation>Video device</translation>
++ <translation>Video Device</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="858"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="896"/>
+ <source>VBI device</source>
+- <translation>VBI device</translation>
++ <translation>VBI Device</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="948"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="990"/>
+ <source>Audio device</source>
+- <translation>Audio device</translation>
++ <translation>Audio Device</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="958"/>
+- <location filename="../libs/libmythtv/videosource.cpp" line="1008"/>
+- <location filename="../libs/libmythtv/videosource.cpp" line="3073"/>
+- <location filename="../libs/libmythtv/videosource.cpp" line="3110"/>
+- <location filename="../libs/libmythtv/videosource.cpp" line="3121"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="1000"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="1048"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="2984"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="3029"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="3040"/>
+ <source>(None)</source>
+ <translation>(None)</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="1022"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="1062"/>
+ <source>Do not adjust volume</source>
+- <translation>Do not adjust volume</translation>
++ <translation>Do Not Adjust Volume</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="1024"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="1064"/>
+ <source>Enable this option for budget BT878 based DVB-T cards such as the AverTV DVB-T which require the audio volume to be left alone.</source>
+ <translation>Enable this option for budget BT878 based DVB-T cards such as the AverTV DVB-T which require the audio volume to be left alone.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="1039"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="1078"/>
+ <source>When you change this setting, the text below should change to the name and type of your card. If the card cannot be opened, an error message will be displayed.</source>
+ <translation>When you change this setting, the text below should change to the name and type of your card. If the card cannot be opened, an error message will be displayed.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="1079"/>
+- <location filename="../libs/libmythtv/videosource.cpp" line="1526"/>
+- <location filename="../libs/libmythtv/videosource.cpp" line="1744"/>
+- <location filename="../libs/libmythtv/videosource.cpp" line="1892"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="1118"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="1552"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="1769"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="1899"/>
+ <source>Warning: already in use</source>
+- <translation>Warning: already in use</translation>
++ <translation>Warning: Already in Use</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="1107"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="1146"/>
+ <source>Subtype</source>
+ <translation>Subtype</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="1116"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="1156"/>
+ <source>Frontend ID</source>
+ <translation>Frontend ID</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="1127"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="1168"/>
+ <source>Wait for SEQ start header.</source>
+- <translation>Wait for SEQ start header.</translation>
++ <translation>Wait for SEQ Start Header</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="1142"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="1183"/>
+ <source>Open DVB card on demand</source>
+- <translation>Open DVB card on demand</translation>
++ <translation>Open DVB Card on Demand</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="1190"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="1230"/>
+ <source>GUID</source>
+ <translation>GUID</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="1215"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="1254"/>
+ <source>Cable box model</source>
+- <translation>Cable box model</translation>
++ <translation>Cable Box Model</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="1815"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="1839"/>
+ <source>URL of M3U containing RTSP/RTP/UDP channel URLs.</source>
+ <translation>URL of M3U containing RTSP/RTP/UDP channel URLs.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="2994"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="2905"/>
+ <source>DVB-T/S/C, ATSC or ISDB-T tuner card</source>
+- <translation>DVB-T/S/C, ATSC or ISDB-T tuner card</translation>
++ <translation>DVB-T/S/C, ATSC or ISDB-T Tuner Card</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="3002"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="2913"/>
+ <source>HD-PVR H.264 encoder</source>
+- <translation>HD-PVR H.264 encoder</translation>
++ <translation>HD-PVR H.264 Encoder</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="3008"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="2919"/>
+ <source>HDHomeRun networked tuner</source>
+- <translation>HDHomeRun networked tuner</translation>
++ <translation>HDHomeRun Networked Tuner</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="3023"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="2934"/>
+ <source>Ceton Cablecard tuner</source>
+- <translation>Ceton Cablecard tuner</translation>
++ <translation>Ceton Cablecard Tuner</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="3027"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="2938"/>
+ <source>IPTV recorder</source>
+- <translation>IPTV recorder</translation>
++ <translation>IPTV Recorder</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="3033"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="2944"/>
+ <source>Analog to MPEG-2 encoder card (PVR-150/250/350, etc)</source>
+- <translation>Analog to MPEG-2 encoder card (PVR-150/250/350, etc)</translation>
++ <translation>Analog to MPEG-2 Encoder Card (PVR-150/250/350, etc)</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="3036"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="2947"/>
+ <source>Analog to MJPEG encoder card (Matrox G200, DC10, etc)</source>
+- <translation>Analog to MJPEG encoder card (Matrox G200, DC10, etc)</translation>
++ <translation>Analog to MJPEG Encoder Card (Matrox G200, DC10, etc)</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="3038"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="2949"/>
+ <source>Analog to MPEG-4 encoder (Plextor ConvertX USB, etc)</source>
+- <translation>Analog to MPEG-4 encoder (Plextor ConvertX USB, etc)</translation>
++ <translation>Analog to MPEG-4 Encoder (Plextor ConvertX USB, etc)</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="3041"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="2952"/>
+ <source>Analog capture card</source>
+- <translation>Analog capture card</translation>
++ <translation>Analog Capture Card</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="3179"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="3098"/>
+ <source>Generic</source>
+ <translation>Generic</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="1233"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="1272"/>
+ <source>Choose the model that most closely resembles your set top box. Depending on firmware revision SA4200HD may work better for a SA3250HD box.</source>
+ <translation>Choose the model that most closely resembles your set top box. Depending on firmware revision SA4200HD may work better for a SA3250HD box.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="216"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="372"/>
+ <source>If your provider has asked you to configure a specific network identifier (Network_ID), enter it here. Leave it at -1 otherwise.</source>
+ <extracomment>Network_ID is the name of an identifier in the DVB&apos;s Service Information standard specification.</extracomment>
+ <translation>If your provider has asked you to configure a specific network identifier (Network_ID), enter it here. Leave it at -1 otherwise.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="474"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="625"/>
+ <source>You MUST run &apos;mythfilldatabase --manual&apos; the first time,
+ instead of just &apos;mythfilldatabase&apos;.
+ Your grabber does not provide channel numbers, so you have to set them manually.</source>
+@@ -18607,472 +19108,481 @@
+ Your grabber does not provide channel numbers, so you have to set them manually.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="483"/>
+ <source>Warning.</source>
+- <translation>Warning.</translation>
++ <translation type="vanished">Warning.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="1037"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="1076"/>
+ <source>DVB device</source>
+- <translation>DVB device</translation>
++ <translation>DVB Device</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="1216"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="1255"/>
+ <source>Motorola Generic</source>
+ <translation>Motorola Generic</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="1217"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="1256"/>
+ <source>SA/Cisco Generic</source>
+ <translation>SA/Cisco Generic</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="1274"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="1313"/>
+ <source>Connection Type</source>
+ <translation>Connection Type</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="1275"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="1314"/>
+ <source>Point to Point</source>
+ <translation>Point to Point</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="1287"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="1326"/>
+ <source>Speed</source>
+ <translation>Speed</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="1288"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="1327"/>
+ <source>100Mbps</source>
+ <translation>100Mbps</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="1289"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="1328"/>
+ <source>200Mbps</source>
+ <translation>200Mbps</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="1290"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="1329"/>
+ <source>400Mbps</source>
+ <translation>400Mbps</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="1291"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="1330"/>
+ <source>800Mbps</source>
+ <translation>800Mbps</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="1340"/>
+- <location filename="../libs/libmythtv/videosource.cpp" line="1596"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="1367"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="1622"/>
+ <source>IP Address</source>
+ <translation>IP Address</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="1376"/>
+- <location filename="../libs/libmythtv/videosource.cpp" line="1628"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="1403"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="1654"/>
+ <source>Tuner</source>
+ <translation>Tuner</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="1813"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="1837"/>
+ <source>M3U URL</source>
+ <translation>M3U URL</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="1850"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="1857"/>
+ <source>ASI device</source>
+- <translation>ASI device</translation>
++ <translation>ASI Device</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="1909"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="1916"/>
+ <source>Warning: unable to open</source>
+- <translation>Warning: unable to open</translation>
++ <translation>Warning: Unable to Open</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="2045"/>
+- <location filename="../libs/libmythtv/videosource.cpp" line="2245"/>
+- <location filename="../libs/libmythtv/videosource.cpp" line="4283"/>
+ <source>Recorder Options</source>
+- <translation>Recorder Options</translation>
++ <translation type="vanished">Recorder Options</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="2787"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="2704"/>
+ <source>Capture Card Setup</source>
+ <translation>Capture Card Setup</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="2984"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="2895"/>
+ <source>Card type</source>
+- <translation>Card type</translation>
++ <translation>Card Type</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="2985"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="2896"/>
+ <source>Change the cardtype to the appropriate type for the capture card you are configuring.</source>
+- <translation>Change the cardtype to the appropriate type for the capture card you are configuring.</translation>
++ <translation>Change the card type to the appropriate type for the capture card you are configuring.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="3018"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="2929"/>
+ <source>FireWire cable box</source>
+- <translation>FireWire cable box</translation>
++ <translation>FireWire Cable Box</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="3045"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="2956"/>
+ <source>DVEO ASI recorder</source>
+- <translation>DVEO ASI recorder</translation>
++ <translation>DVEO ASI Recorder</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="3109"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="3028"/>
+ <source>Video source</source>
+- <translation>Video source</translation>
++ <translation>Video Source</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="3135"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="3054"/>
+ <source>Leave as &apos;Generic&apos; unless this input is shared with another device. Only one of the inputs in an input group will be allowed to record at any given time.</source>
+ <translation>Leave as &apos;Generic&apos; unless this input is shared with another device. Only one of the inputs in an input group will be allowed to record at any given time.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="3258"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="3179"/>
+ <source>Use quick tuning</source>
+- <translation>Use quick tuning</translation>
++ <translation>Use Quick Tuning</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="3259"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="3180"/>
+ <source>Never</source>
+ <translation>Never</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="3260"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="3181"/>
+ <source>Live TV only</source>
+- <translation>Live TV only</translation>
++ <translation>Live TV Only</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="3261"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="3182"/>
+ <source>Always</source>
+ <translation>Always</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="3280"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="3199"/>
+ <source>External channel change command</source>
+- <translation>External channel change command</translation>
++ <translation>External Channel Change Command</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="3282"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="3201"/>
+ <source>If specified, this command will be run to change the channel for inputs which have an external tuner device such as a cable box. The first argument will be the channel number.</source>
+ <translation>If specified, this command will be run to change the channel for inputs which have an external tuner device such as a cable box. The first argument will be the channel number.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="3296"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="3214"/>
+ <source>Preset tuner to channel</source>
+- <translation>Preset tuner to channel</translation>
++ <translation>Preset Tuner to Channel</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="3298"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="3216"/>
+ <source>Leave this blank unless you have an external tuner that is connected to the tuner input of your card. If so, you will need to specify the preset channel for the signal (normally 3 or 4).</source>
+ <translation>Leave this blank unless you have an external tuner that is connected to the tuner input of your card. If so, you will need to specify the preset channel for the signal (normally 3 or 4).</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="3349"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="3268"/>
+ <source>Input priority</source>
+- <translation>Input priority</translation>
++ <translation>Input Priority</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="3351"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="3270"/>
+ <source>If the input priority is not equal for all inputs, the scheduler may choose to record a show at a later time so that it can record on an input with a higher value.</source>
+ <translation>If the input priority is not equal for all inputs, the scheduler may choose to record a show at a later time so that it can record on an input with a higher value.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="3365"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="3284"/>
+ <source>Schedule order</source>
+- <translation>Schedule order</translation>
++ <translation>Schedule Order</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="3367"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="3286"/>
+ <source>If priorities and other factors are equal the scheduler will choose the available input with the lowest, non-zero value. Setting this value to zero will make the input unavailable to the scheduler.</source>
+- <translation>If priorities and other factors are equal the scheduler will choose the available input with the lowest, non-zero value. Setting this value to zero will make the input unavailable to the scheduler.</translation>
++ <translation>If priorities and other factors are equal the scheduler will choose the available input with the lowest, non-zero value. Setting this value to zero will make the input unavailable to the scheduler.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="3382"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="3301"/>
+ <source>Live TV order</source>
+- <translation>Live TV order</translation>
++ <translation>Live TV Order</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="3384"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="3303"/>
+ <source>When entering Live TV, the available, local input with the lowest, non-zero value will be used. If no local inputs are available, the available, remote input with the lowest, non-zero value will be used. Setting this value to zero will make the input unavailable to live TV.</source>
+- <translation>When entering Live TV, the available, local input with the lowest, non-zero value will be used. If no local inputs are available, the available, remote input with the lowest, non-zero value will be used. Setting this value to zero will make the input unavailable to live TV.</translation>
++ <translation>When entering Live TV, the available, local input with the lowest, non-zero value will be used. If no local inputs are available, the available, remote input with the lowest, non-zero value will be used. Setting this value to zero will make the input unavailable to live TV.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="3404"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="3323"/>
+ <source>If you point your satellite dish toward DishNet&apos;s birds, you may wish to enable this feature. For best results, enable general EIT collection as well.</source>
+ <translation>If you point your satellite dish toward DishNet&apos;s birds, you may wish to enable this feature. For best results, enable general EIT collection as well.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="3434"/>
+ <source>Connect source to input</source>
+- <translation>Connect source to input</translation>
++ <translation type="vanished">Connect source to input</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="3479"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="3384"/>
+ <source>Interactions between inputs</source>
+- <translation>Interactions between inputs</translation>
++ <translation>Interactions Between Inputs</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="3485"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="3397"/>
+ <source>Create a New Input Group</source>
+ <translation>Create a New Input Group</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="3767"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="3786"/>
+ <source>(New capture card)</source>
+- <translation>(New capture card)</translation>
++ <translation>(New Capture Card)</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="3768"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="3787"/>
+ <source>(Delete all capture cards on %1)</source>
+- <translation>(Delete all capture cards on %1)</translation>
++ <translation>(Delete All Capture Cards on %1)</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="3770"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="3790"/>
+ <source>(Delete all capture cards)</source>
+- <translation>(Delete all capture cards)</translation>
++ <translation>(Delete All Capture Cards)</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="3912"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="3803"/>
+ <source>(New video source)</source>
+- <translation>(New video source)</translation>
++ <translation>(New Video Source)</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="3913"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="3804"/>
+ <source>(Delete all video sources)</source>
+- <translation>(Delete all video sources)</translation>
++ <translation>(Delete All Video Sources)</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="323"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="479"/>
+ <source>Perform EIT scan</source>
+- <translation>Perform EIT scan</translation>
++ <translation>Perform EIT Scan</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="132"/>
+ <source>Maximum number of simultaneous recordings this device should make. Some digital transmitters transmit multiple programs on a multiplex, if this is set to a value greater than one MythTV can sometimes take advantage of this. If only a single program is available, setting this to 2 allows overlapping schedules to record.</source>
+- <translation>Maximum number of simultaneous recordings this device should make. Some digital transmitters transmit multiple programs on a multiplex, if this is set to a value greater than one MythTV can sometimes take advantage of this. If only a single program is available, setting this to 2 allows overlapping schedules to record.</translation>
++ <translation type="vanished">Maximum number of simultaneous recordings this device should make. Some digital transmitters transmit multiple programs on a multiplex, if this is set to a value greater than one MythTV can sometimes take advantage of this. If only a single program is available, setting this to 2 allows overlapping schedules to record.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="324"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="480"/>
+ <source>If enabled, program guide data for channels on this source will be updated with data provided by the channels themselves &apos;Over-the-Air&apos;.</source>
+ <translation>If enabled, program guide data for channels on this source will be updated with data provided by the channels themselves &apos;Over-the-Air&apos;.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="686"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="663"/>
++ <source>This will usually only work with ATSC or DVB channels, and generally provides data only for the next few days.</source>
++ <translation>This will usually only work with ATSC or DVB channels, and generally provides data only for the next few days.</translation>
++ </message>
++ <message>
++ <location filename="../libs/libmythtv/videosource.cpp" line="699"/>
+ <source>Video Source Setup</source>
+ <translation>Video Source Setup</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="860"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="898"/>
+ <source>Device to read VBI (captions) from.</source>
+ <translation>Device to read VBI (captions) from.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="926"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="967"/>
+ <source>Arguments</source>
+ <translation>Arguments</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="937"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="979"/>
+ <source>File path</source>
+- <translation>File path</translation>
++ <translation>File Path</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="959"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="1001"/>
+ <source>Device to read audio from, if audio is separate from the video.</source>
+ <translation>Device to read audio from, if audio is separate from the video.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="971"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="1012"/>
+ <source>Signal timeout (ms)</source>
+- <translation>Signal timeout (ms)</translation>
++ <translation>Signal Timeout (ms)</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="973"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="1014"/>
+ <source>Maximum time (in milliseconds) MythTV waits for a signal when scanning for channels.</source>
+ <translation>Maximum time (in milliseconds) MythTV waits for a signal when scanning for channels.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="986"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="1027"/>
+ <source>Tuning timeout (ms)</source>
+- <translation>Tuning timeout (ms)</translation>
++ <translation>Tuning Timeout (ms)</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="988"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="1029"/>
+ <source>Maximum time (in milliseconds) MythTV waits for a channel lock. For recordings, if this time is exceeded, the recording will be marked as failed.</source>
+- <translation>Maximum time (in milliseconds) MythTV waits for a channel lock. For recordings, if this time is exceeded, the recording will be marked as failed.</translation>
++ <translation>Maximum time (in milliseconds) MythTV waits for a channel lock. For recordings, if this time is exceeded, the recording will be marked as failed.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="1002"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="1042"/>
+ <source>Force audio sampling rate</source>
+- <translation>Force audio sampling rate</translation>
++ <translation>Force Audio Sampling Rate</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="1004"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="1044"/>
+ <source>If non-zero, override the audio sampling rate in the recording profile when this card is used. Use this if your capture card does not support all of the standard rates.</source>
+- <translation>If non-zero, override the audio sampling rate in the recording profile when this card is used. Use this if your capture card does not support all of the standard rates.</translation>
++ <translation>If non-zero, override the audio sampling rate in the recording profile when this card is used. Use this if your capture card does not support all of the standard rates.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="1130"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="1171"/>
+ <source>If enabled, drop packets from the start of a DVB recording until a sequence start header is seen.</source>
+ <translation>If enabled, drop packets from the start of a DVB recording until a sequence start header is seen.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="1145"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="1186"/>
+ <source>If enabled, only open the DVB card when required, leaving it free for other programs at other times.</source>
+ <translation>If enabled, only open the DVB card when required, leaving it free for other programs at other times.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="1157"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="1198"/>
+ <source>Use DVB card for active EIT scan</source>
+- <translation>Use DVB card for active EIT scan</translation>
++ <translation>Use DVB Card for Active EIT Scan</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="1160"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="1201"/>
+ <source>If enabled, activate active scanning for program data (EIT). When this option is enabled the DVB card is constantly in-use.</source>
+ <translation>If enabled, activate active scanning for program data (EIT). When this option is enabled the DVB card is constantly in-use.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="1173"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="1214"/>
+ <source>DVB tuning delay (ms)</source>
+- <translation>DVB tuning delay (ms)</translation>
++ <translation>DVB Tuning Delay (ms)</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="1176"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="1217"/>
+ <source>Some Linux DVB drivers, in particular for the Hauppauge Nova-T, require that we slow down the tuning process by specifying a delay (in milliseconds).</source>
+ <translation>Some Linux DVB drivers, in particular for the Hauppauge Nova-T, require that we slow down the tuning process by specifying a delay (in milliseconds).</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="1471"/>
+- <location filename="../libs/libmythtv/videosource.cpp" line="1707"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="1497"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="1732"/>
+ <source>Available devices</source>
+- <translation>Available devices</translation>
++ <translation>Available Devices</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="1473"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="1499"/>
+ <source>Device ID and Tuner Number of available HDHomeRun devices.</source>
+ <translation>Device ID and Tuner Number of available HDHomeRun devices.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="1597"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="1623"/>
+ <source>Device IP or ID of a VBox device. eg. &apos;192.168.1.100&apos; or &apos;vbox_3718&apos;</source>
+ <translation>Device IP or ID of a VBox device. eg. &apos;192.168.1.100&apos; or &apos;vbox_3718&apos;</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="1629"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="1655"/>
+ <source>Number and type of the tuner to use. eg &apos;1-DVBT/T2&apos;.</source>
+ <translation>Number and type of the tuner to use. eg &apos;1-DVBT/T2&apos;.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="1709"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="1734"/>
+ <source>Device IP or ID, tuner number and tuner type of available VBox devices.</source>
+ <translation>Device IP or ID, tuner number and tuner type of available VBox devices.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="2701"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="2043"/>
++ <source>Use HD HomeRun for active EIT scan</source>
++ <translation>Use HD HomeRun for Active EIT Scan</translation>
++ </message>
++ <message>
++ <location filename="../libs/libmythtv/videosource.cpp" line="2046"/>
++ <source>If enabled, activate active scanning for program data (EIT). When this option is enabled the HD HomeRun is constantly in-use.</source>
++ <translation>If enabled, activate active scanning for program data (EIT). When this option is enabled the HD HomeRun is constantly in-use.</translation>
++ </message>
++ <message>
++ <location filename="../libs/libmythtv/videosource.cpp" line="2636"/>
+ <source>V4L2 encoder devices (multirec capable)</source>
+- <translation>V4L2 encoder devices (multirec capable)</translation>
++ <translation>V4L2 Encoder Devices (multirec capable)</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="2999"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="2910"/>
+ <source>V4L2 encoder</source>
+- <translation>V4L2 encoder</translation>
++ <translation>V4L2 Encoder</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="3013"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="2924"/>
+ <source>V@Box TV Gateway networked tuner</source>
+- <translation>V@Box TV Gateway networked tuner</translation>
++ <translation>V@Box TV Gateway Networked Tuner</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="3048"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="2959"/>
+ <source>Import test recorder</source>
+- <translation>Import test recorder</translation>
++ <translation>Import Test Recorder</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="3049"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="2960"/>
+ <source>Demo test recorder</source>
+- <translation>Demo test recorder</translation>
++ <translation>Demo Test Recorder</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="3051"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="2962"/>
+ <source>External (black box) recorder</source>
+- <translation>External (black box) recorder</translation>
++ <translation>External (black box) Recorder</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="3062"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="2973"/>
+ <source>Input name</source>
+- <translation>Input name</translation>
++ <translation>Input Name</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="3094"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="3004"/>
+ <source>Display name (optional)</source>
+- <translation>Display name (optional)</translation>
++ <translation>Display Name (optional)</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="3095"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="3005"/>
+ <source>This name is displayed on screen when Live TV begins and when changing the selected input or card. If you use this, make sure the information is unique for each input.</source>
+ <translation>This name is displayed on screen when Live TV begins and when changing the selected input or card. If you use this, make sure the information is unique for each input.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="3133"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="3052"/>
+ <source>Input group</source>
+- <translation>Input group</translation>
++ <translation>Input Group</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="3262"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="3183"/>
+ <source>If enabled, MythTV will tune using only the MPEG program number. The program numbers change more often than DVB or ATSC tuning parameters, so this is slightly less reliable. This will also inhibit EIT gathering during Live TV and recording.</source>
+ <translation>If enabled, MythTV will tune using only the MPEG program number. The program numbers change more often than DVB or ATSC tuning parameters, so this is slightly less reliable. This will also inhibit EIT gathering during Live TV and recording.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="3401"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="3320"/>
+ <source>Use DishNet long-term EIT data</source>
+- <translation>Use DishNet long-term EIT data</translation>
++ <translation>Use DishNet Long-Term EIT Data</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="3487"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="3399"/>
+ <source>Input groups are only needed when two or more cards share the same resource such as a FireWire card and an analog card input controlling the same set top box.</source>
+ <translation>Input groups are only needed when two or more cards share the same resource such as a FireWire card and an analog card input controlling the same set top box.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="4237"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="4079"/>
+ <source>Audio input</source>
+- <translation>Audio input</translation>
++ <translation>Audio Input</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="4238"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="4080"/>
+ <source>If there is more than one audio input, select which one to use.</source>
+ <translation>If there is more than one audio input, select which one to use.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.h" line="123"/>
++ <location filename="../libs/libmythtv/videosource.h" line="126"/>
+ <source>Data Direct lineup</source>
+- <translation>Data Direct lineup</translation>
++ <translation>Data Direct Lineup</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.h" line="133"/>
++ <location filename="../libs/libmythtv/videosource.h" line="136"/>
+ <source>Retrieve Lineups</source>
+ <translation>Retrieve Lineups</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.h" line="268"/>
++ <location filename="../libs/libmythtv/videosource.h" line="269"/>
+ <source>Video source name</source>
+- <translation>Video source name</translation>
++ <translation>Video Source Name</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.h" line="859"/>
++ <location filename="../libs/libmythtv/videosource.h" line="824"/>
+ <source>Starting channel</source>
+- <translation>Starting channel</translation>
++ <translation>Starting Channel</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.h" line="860"/>
++ <location filename="../libs/libmythtv/videosource.h" line="825"/>
+ <source>Starting Live TV channel.</source>
+- <translation>Starting Live TV channel.</translation>
++ <translation>Starting Live TV Channel</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.h" line="861"/>
++ <location filename="../libs/libmythtv/videosource.h" line="826"/>
+ <source>This is updated on every successful channel change.</source>
+ <translation>This is updated on every successful channel change.</translation>
+ </message>
+@@ -19082,48 +19592,48 @@
+ <translation>The following programs will be recorded instead:</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/viewschedulediff.cpp" line="137"/>
++ <location filename="../programs/mythfrontend/viewschedulediff.cpp" line="140"/>
+ <source>Program Status</source>
+ <translation>Program Status</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtranscode/transcode.cpp" line="1552"/>
++ <location filename="../programs/mythtranscode/transcode.cpp" line="1598"/>
+ <source>%1% Completed @ %2 fps.</source>
+ <translation>%1% Completed @ %2 fps.</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfilldatabase/filldata.cpp" line="206"/>
+- <location filename="../programs/mythfilldatabase/filldata.cpp" line="405"/>
+- <location filename="../programs/mythfilldatabase/main.cpp" line="320"/>
++ <location filename="../programs/mythfilldatabase/filldata.cpp" line="406"/>
++ <location filename="../programs/mythfilldatabase/main.cpp" line="322"/>
+ <source>currently running.</source>
+ <translation>currently running.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfilldatabase/filldata.cpp" line="425"/>
+- <location filename="../programs/mythfilldatabase/filldata.cpp" line="973"/>
+- <location filename="../programs/mythfilldatabase/main.cpp" line="363"/>
++ <location filename="../programs/mythfilldatabase/filldata.cpp" line="426"/>
++ <location filename="../programs/mythfilldatabase/filldata.cpp" line="978"/>
++ <location filename="../programs/mythfilldatabase/main.cpp" line="365"/>
+ <source>Successful.</source>
+ <translation>Successful.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfilldatabase/filldata.cpp" line="432"/>
++ <location filename="../programs/mythfilldatabase/filldata.cpp" line="433"/>
+ <source>FAILED: XMLTV grabber ran but was interrupted.</source>
+ <translation>FAILED: XMLTV grabber ran but was interrupted.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfilldatabase/filldata.cpp" line="436"/>
++ <location filename="../programs/mythfilldatabase/filldata.cpp" line="437"/>
+ <source>FAILED: XMLTV grabber returned error code %1.</source>
+ <translation>FAILED: XMLTV grabber returned error code %1.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfilldatabase/filldata.cpp" line="966"/>
++ <location filename="../programs/mythfilldatabase/filldata.cpp" line="971"/>
+ <source>mythfilldatabase ran, but did not insert any new data into the Guide for %1 of %2 sources. This can indicate a potential grabber failure.</source>
+ <translation>mythfilldatabase ran, but did not insert any new data into the Guide for %1 of %2 sources. This can indicate a potential grabber failure.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfilldatabase/main.cpp" line="359"/>
++ <location filename="../programs/mythfilldatabase/main.cpp" line="361"/>
+ <source>mythfilldatabase ran, but did not insert any new data into the Guide. This can indicate a potential problem with the XML file used for the update.</source>
+- <translation>mythfilldatabase ran, but did not insert any new data into the Guide. This can indicate a potential problem with the XML file used for the update.</translation>
++ <translation>mythfilldatabase ran, but did not insert any new data into the Guide. This can indicate a potential problem with the XML file used for the update.</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/setupwizard_audio.cpp" line="295"/>
+@@ -19136,24 +19646,23 @@
+ <translation>Audio device is invalid or not useable.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/programinfo.cpp" line="3126"/>
++ <location filename="../libs/libmyth/programinfo.cpp" line="3149"/>
+ <source>Delete</source>
+ <translation>Delete</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="92"/>
++ <location filename="../libs/libmythtv/channelscan/channelscanmiscsettings.h" line="93"/>
+ <source>All</source>
+ <translation>All</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="759"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="831"/>
+ <source>Use &apos;mythfilldatabase&apos; or the name of a custom script that will populate the program guide info for all your video sources.</source>
+ <translation>Use &apos;mythfilldatabase&apos; or the name of a custom script that will populate the program guide info for all your video sources.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/setupwizard_audio.cpp" line="445"/>
+ <source>Warning</source>
+- <translation>Warning</translation>
++ <translation type="vanished">Warning</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmyth/mythmediamonitor.cpp" line="37"/>
+@@ -19161,12 +19670,12 @@
+ <translation>Media Monitor</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/mythmediamonitor.cpp" line="267"/>
++ <location filename="../libs/libmyth/mythmediamonitor.cpp" line="282"/>
+ <source>Unable to open or close the empty drive %1</source>
+ <translation>Unable to open or close the empty drive %1</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/mythmediamonitor.cpp" line="269"/>
++ <location filename="../libs/libmyth/mythmediamonitor.cpp" line="284"/>
+ <source>You may have to use the eject button under its tray</source>
+ <translation>You may have to use the eject button under its tray</translation>
+ </message>
+@@ -19182,722 +19691,770 @@
+ </message>
+ <message>
+ <location filename="../programs/mythtranscode/main.cpp" line="97"/>
+- <location filename="../programs/mythtranscode/transcode.cpp" line="225"/>
++ <location filename="../programs/mythtranscode/transcode.cpp" line="232"/>
+ <source>Completed</source>
+ <translation>Completed</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtranscode/main.cpp" line="871"/>
++ <location filename="../programs/mythtranscode/main.cpp" line="873"/>
+ <source>Job errored, unable to find Program Info for job</source>
+- <translation>Job errored, unable to find Program Info for job</translation>
++ <translation>Job Errored, Unable to Find Program Info for Job</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtranscode/main.cpp" line="1115"/>
++ <location filename="../programs/mythtranscode/main.cpp" line="1117"/>
+ <source>Job Aborted</source>
+ <translation>Job Aborted</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtranscode/main.cpp" line="1120"/>
++ <location filename="../programs/mythtranscode/main.cpp" line="1122"/>
+ <source>Unrecoverable error</source>
+- <translation>Unrecoverable error</translation>
++ <translation>Unrecoverable Error</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="109"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="187"/>
+ <source>IP address</source>
+- <translation>IP address</translation>
++ <translation>Ip Address</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="26"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="64"/>
+ <source>Enter the IP address of this machine. Use an externally accessible address (ie, not 127.0.0.1) if you are going to be running a frontend on a different machine than this one. Note, in IPv6 setups, this is still required for certain extras such as UPnP.</source>
+ <translation>Enter the IP address of this machine. Use an externally accessible address (ie, not 127.0.0.1) if you are going to be running a frontend on a different machine than this one. Note, in IPv6 setups, this is still required for certain extras such as UPnP.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="38"/>
+ <source>IPv6 address</source>
+- <translation>IPv6 address</translation>
++ <translation type="vanished">IPv6 address</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="65"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="101"/>
+ <source>Enter the IPv6 address of this machine. Use an externally accessible address (ie, not ::1) if you are going to be running a frontend on a different machine than this one.</source>
+ <translation>Enter the IPv6 address of this machine. Use an externally accessible address (ie, not ::1) if you are going to be running a frontend on a different machine than this one.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="144"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="129"/>
++ <source>Listen on All IP Addresses</source>
++ <translation>Listen on All IP Addresses</translation>
++ </message>
++ <message>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="170"/>
++ <source>Primary IP address / DNS name</source>
++ <translation>Primary IP Address/DNS Name</translation>
++ </message>
++ <message>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="172"/>
++ <source>The Primary IP address of this backend server. You can select an IP address from the list or type a DNS name or host name. Other systems will contact this server using this address. If you use a host name make sure it is assigned an ip address other than 127.0.0.1 in the hosts file.</source>
++ <translation>The Primary IP address of this backend server. You can select an IP address from the list or type a DNS name or hostname. Other systems will contact this server using this address. If you use a hostname make sure it is assigned an ip address other than 127.0.0.1 in the hosts file.</translation>
++ </message>
++ <message>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="216"/>
+ <source>TV format</source>
+- <translation>TV format</translation>
++ <translation>TV Format</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="150"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="222"/>
+ <source>The TV standard to use for viewing TV.</source>
+ <translation>The TV standard to use for viewing TV.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="157"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="229"/>
+ <source>VBI format</source>
+- <translation>VBI format</translation>
++ <translation>VBI Format</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="184"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="256"/>
+ <source>Save original files after transcoding (globally)</source>
+ <translation>Save original files after transcoding (globally)</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="195"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="267"/>
+ <source>Delete files slowly</source>
+- <translation>Delete files slowly</translation>
++ <translation>Delete Files Slowly</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="207"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="279"/>
+ <source>Follow symbolic links when deleting files</source>
+- <translation>Follow symbolic links when deleting files</translation>
++ <translation>Follow Symbolic Links When Deleting Files</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="237"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="309"/>
+ <source>Combination</source>
+ <translation>Combination</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="263"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="335"/>
+ <source>By default, MythTV resets the FireWire bus when a FireWire recorder stops responding to commands. If this causes problems, you can disable this behavior here.</source>
+ <translation>By default, MythTV resets the FireWire bus when a FireWire recorder stops responding to commands. If this causes problems, you can disable this behavior here.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="314"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="386"/>
+ <source>The minimum number of seconds after a recorder becomes idle to wait before MythTV begins collecting EIT listings data.</source>
+ <translation>The minimum number of seconds after a recorder becomes idle to wait before MythTV begins collecting EIT listings data.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="324"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="396"/>
+ <source>Delay between wake attempts (secs)</source>
+- <translation>Delay between wake attempts (secs)</translation>
++ <translation>Delay Between Wake Attempts (secs)</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="337"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="409"/>
+ <source>Number of times the frontend will try to wake up the master backend.</source>
+ <translation>Number of times the frontend will try to wake up the master backend.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="358"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="420"/>
++ <source>The command used to wake up your master backend server (e.g. wakeonlan 00:00:00:00:00:00).</source>
++ <translation>The command used to wake up your master backend server (e.g. wakeonlan 00:00:00:00:00:00).</translation>
++ </message>
++ <message>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="430"/>
+ <source>The command used to put this slave to sleep. If set, the master backend will use this command to put this slave to sleep when it is not needed for recording.</source>
+ <translation>The command used to put this slave to sleep. If set, the master backend will use this command to put this slave to sleep when it is not needed for recording.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="400"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="472"/>
+ <source>Idle shutdown timeout (secs)</source>
+- <translation>Idle shutdown timeout (secs)</translation>
++ <translation>Idle Shutdown Timeout (secs)</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="413"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="485"/>
+ <source>The number of minutes the master backend waits for a recording. If the backend is idle but a recording starts within this time period, it won&apos;t shut down.</source>
+ <translation>The number of minutes the master backend waits for a recording. If the backend is idle but a recording starts within this time period, it won&apos;t shut down.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="433"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="505"/>
+ <source>Wakeup time format</source>
+- <translation>Wakeup time format</translation>
++ <translation>Wakeup Time Format</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="447"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="519"/>
+ <source>The command used to set the wakeup time (passed as $time) for the Master Backend</source>
+ <translation>The command used to set the wakeup time (passed as $time) for the Master Backend</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="455"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="527"/>
+ <source>Server halt command</source>
+- <translation>Server halt command</translation>
++ <translation>Server Halt Command</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="457"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="529"/>
+ <source>The command used to halt the backends.</source>
+ <translation>The command used to halt the backends.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="466"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="538"/>
+ <source>A command executed before the backend would shutdown. The return value determines if the backend can shutdown. 0 - yes, 1 - restart idling, 2 - reset the backend to wait for a frontend.</source>
+ <translation>A command executed before the backend would shutdown. The return value determines if the backend can shutdown. 0 - yes, 1 - restart idling, 2 - reset the backend to wait for a frontend.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="477"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="549"/>
+ <source>Block shutdown before client connected</source>
+- <translation>Block shutdown before client connected</translation>
++ <translation>Block Shutdown Before Client Connected</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="487"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="559"/>
+ <source>Startup command</source>
+- <translation>Startup command</translation>
++ <translation>Startup Command</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="489"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="561"/>
+ <source>This command is executed right after starting the BE. As a parameter &apos;$status&apos; is replaced by either &apos;auto&apos; if the machine was started automatically or &apos;user&apos; if a user switched it on.</source>
+ <translation>This command is executed right after starting the BE. As a parameter &apos;$status&apos; is replaced by either &apos;auto&apos; if the machine was started automatically or &apos;user&apos; if a user switched it on.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="499"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="571"/>
+ <source>Maximum simultaneous jobs on this backend</source>
+- <translation>Maximum simultaneous jobs on this backend</translation>
++ <translation>Maximum Simultaneous Jobs on This Backend</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="500"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="572"/>
+ <source>The Job Queue will be limited to running this many simultaneous jobs on this backend.</source>
+ <translation>The Job Queue will be limited to running this many simultaneous jobs on this backend.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="520"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="592"/>
+ <source>Low</source>
+ <translation>Low</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="521"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="593"/>
+ <source>Medium</source>
+ <translation>Medium</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="592"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="664"/>
+ <source>The command to run whenever this User Job number is scheduled.</source>
+ <translation>The command to run whenever this User Job number is scheduled.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="602"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="674"/>
+ <source>User Job #%1</source>
+ <translation>User Job #%1</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="640"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="712"/>
+ <source>Transcoder command</source>
+- <translation>Transcoder command</translation>
++ <translation>Transcoder Command</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="642"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="714"/>
+ <source>The program used to transcode recordings. The default is &apos;mythtranscode&apos; if this setting is empty.</source>
+ <translation>The program used to transcode recordings. The default is &apos;mythtranscode&apos; if this setting is empty.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="662"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="734"/>
+ <source>Allow %1 jobs</source>
+ <translation>Allow %1 jobs</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="685"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="757"/>
+ <source>If enabled, the master backend will include the list of recorded shows in the list of videos. This is mainly to accommodate UPnP players which do not allow more than 1 video section.</source>
+- <translation>If enabled, the master backend will include the list of recorded shows in the list of videos. This is mainly to accommodate UPnP players which do not allow more than 1 video section.</translation>
++ <translation>If enabled, the master backend will include the list of recorded shows in the list of videos. This is mainly to accommodate UPnP players which do not allow more than 1 video section.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="697"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="769"/>
+ <source>Recordings</source>
+ <translation>Recordings</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="698"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="770"/>
+ <source>Videos</source>
+ <translation>Videos</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="90"/>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="124"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="151"/>
+ <source>Unless you&apos;ve got good reason, don&apos;t change this.</source>
+ <translation>Unless you&apos;ve got good reason, don&apos;t change this.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="16"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="54"/>
+ <source>IPv4 address</source>
+- <translation>IPv4 address</translation>
++ <translation>IPv4 Address</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="98"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="159"/>
+ <source>Status port</source>
+- <translation>Status port</translation>
++ <translation>Status Port</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="100"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="161"/>
+ <source>Port on which the server will listen for HTTP requests, including backend status and MythXML requests.</source>
+ <translation>Port on which the server will listen for HTTP requests, including backend status and MythXML requests.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="111"/>
+ <source>The IP address of the master backend server. All frontend and non-master backend machines will connect to this server. If you only have one backend, this should be the same IP address as above.</source>
+- <translation>The IP address of the master backend server. All frontend and non-master backend machines will connect to this server. If you only have one backend, this should be the same IP address as above.</translation>
++ <translation type="vanished">The IP address of the master backend server. All frontend and non-master backend machines will connect to this server. If you only have one backend, this should be the same IP address as above.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="132"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="204"/>
+ <source>Security PIN (required)</source>
+ <translation>Security PIN (required)</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="134"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="206"/>
+ <source>PIN code required for a frontend to connect to the backend. Blank prevents all connections; 0000 allows any client to connect.</source>
+ <translation>PIN code required for a frontend to connect to the backend. Blank prevents all connections; 0000 allows any client to connect.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="161"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="233"/>
+ <source>The VBI (Vertical Blanking Interval) is used to carry Teletext or Closed Captioning data.</source>
+ <translation>The VBI (Vertical Blanking Interval) is used to carry Teletext or Closed Captioning data.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="175"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="247"/>
+ <source>Select the appropriate frequency table for your system. If you have an antenna, use a &quot;-bcast&quot; frequency.</source>
+ <translation>Select the appropriate frequency table for your system. If you have an antenna, use a &quot;-bcast&quot; frequency.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="186"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="258"/>
+ <source>If enabled and the transcoder is active, the original files will be renamed to .old once the transcoding is complete.</source>
+ <translation>If enabled and the transcoder is active, the original files will be renamed to .old once the transcoding is complete.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="197"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="269"/>
+ <source>Some filesystems use a lot of resources when deleting large files. If enabled, this option makes MythTV delete files slowly on this backend to lessen the impact.</source>
+ <translation>Some filesystems use a lot of resources when deleting large files. If enabled, this option makes MythTV delete files slowly on this backend to lessen the impact.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="209"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="281"/>
+ <source>If enabled, MythTV will follow symlinks when recordings and related files are deleted, instead of deleting the symlink and leaving the actual file.</source>
+ <translation>If enabled, MythTV will follow symlinks when recordings and related files are deleted, instead of deleting the symlink and leaving the actual file.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="219"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="291"/>
+ <source>HD ringbuffer size (kB)</source>
+- <translation>HD ringbuffer size (kB)</translation>
++ <translation>HD Ringbuffer Size (kB)</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="220"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="292"/>
+ <source>The HD device ringbuffer allows the backend to weather moments of stress. The larger the ringbuffer (in kilobytes), the longer the moments of stress can be. However, setting the size too large can cause swapping, which is detrimental.</source>
+ <translation>The HD device ringbuffer allows the backend to weather moments of stress. The larger the ringbuffer (in kilobytes), the longer the moments of stress can be. However, setting the size too large can cause swapping, which is detrimental.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="233"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="305"/>
+ <source>Storage Group disk scheduler</source>
+- <translation>Storage Group disk scheduler</translation>
++ <translation>Storage Group Disk Scheduler</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="234"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="306"/>
+ <source>Balanced free space</source>
+- <translation>Balanced free space</translation>
++ <translation>Balanced Free Space</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="235"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="307"/>
+ <source>Balanced percent free space</source>
+- <translation>Balanced percent free space</translation>
++ <translation>Balanced Percent Free Space</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="236"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="308"/>
+ <source>Balanced disk I/O</source>
+- <translation>Balanced disk I/O</translation>
++ <translation>Balanced Disk I/O</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="239"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="311"/>
+ <source>This setting controls how the Storage Group scheduling code will balance new recordings across directories. &apos;Balanced Free Space&apos; is the recommended method for most users.</source>
+ <translation>This setting controls how the Storage Group scheduling code will balance new recordings across directories. &apos;Balanced Free Space&apos; is the recommended method for most users.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="249"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="321"/>
+ <source>Disable automatic database backup</source>
+- <translation>Disable automatic database backup</translation>
++ <translation>Disable Automatic Database Backup</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="251"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="323"/>
+ <source>If enabled, MythTV will not backup the database before upgrades. You should therefore have your own database backup strategy in place.</source>
+ <translation>If enabled, MythTV will not backup the database before upgrades. You should therefore have your own database backup strategy in place.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="261"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="333"/>
+ <source>Disable FireWire reset</source>
+- <translation>Disable FireWire reset</translation>
++ <translation>Disable FireWire Reset</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="275"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="347"/>
+ <source>Miscellaneous status application</source>
+- <translation>Miscellaneous status application</translation>
++ <translation>Miscellaneous Status Application</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="277"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="349"/>
+ <source>External application or script that outputs extra information for inclusion in the backend status page. See http://www.mythtv.org/wiki/Miscellaneous_Status_Information</source>
+ <translation>External application or script that outputs extra information for inclusion in the backend status page. See http://www.mythtv.org/wiki/Miscellaneous_Status_Information</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="700"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="772"/>
+ <source>Which tree to show a Windows Media Player client when it requests a list of videos.</source>
+ <translation>Which tree to show a Windows Media Player client when it requests a list of videos.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="708"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="780"/>
+ <source>Automatically update program listings</source>
+- <translation>Automatically update program listings</translation>
++ <translation>Automatically Update Program Listings</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="710"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="782"/>
+ <source>If enabled, the guide data program will be run automatically.</source>
+ <translation>If enabled, the guide data program will be run automatically.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="718"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="790"/>
+ <source>Guide data program execution start</source>
+- <translation>Guide data program execution start</translation>
++ <translation>Guide Data Program Execution Start</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="720"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="792"/>
+ <source>This setting and the following one define a time period when the guide data program is allowed to run. For example, setting start to 11 and end to 13 would mean that the program would only run between 11:00 AM and 1:59 PM.</source>
+ <translation>This setting and the following one define a time period when the guide data program is allowed to run. For example, setting start to 11 and end to 13 would mean that the program would only run between 11:00 AM and 1:59 PM.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="731"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="803"/>
+ <source>Guide data program execution end</source>
+- <translation>Guide data program execution end</translation>
++ <translation>Guide Data Program Execution End</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="733"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="805"/>
+ <source>This setting and the preceding one define a time period when the guide data program is allowed to run. For example, setting start to 11 and end to 13 would mean that the program would only run between 11:00 AM and 1:59 PM.</source>
+ <translation>This setting and the preceding one define a time period when the guide data program is allowed to run. For example, setting start to 11 and end to 13 would mean that the program would only run between 11:00 AM and 1:59 PM.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="744"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="816"/>
+ <source>Run guide data program at time suggested by the grabber.</source>
+ <translation>Run guide data program at time suggested by the grabber.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="747"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="819"/>
+ <source>If enabled, allow a DataDirect guide data provider to specify the next download time in order to distribute load on their servers. Guide data program execution start/end times are also ignored.</source>
+ <translation>If enabled, allow a DataDirect guide data provider to specify the next download time in order to distribute load on their servers. Guide data program execution start/end times are also ignored.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="757"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="829"/>
+ <source>Guide data program</source>
+- <translation>Guide data program</translation>
++ <translation>Guide Data Program</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="769"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="841"/>
+ <source>Guide data arguments</source>
+- <translation>Guide data arguments</translation>
++ <translation>Guide Data Arguments</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="771"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="843"/>
+ <source>Any arguments you want passed to the guide data program.</source>
+ <translation>Any arguments you want passed to the guide data program.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="782"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="853"/>
+ <source>Program Schedule Downloading Options</source>
+ <translation>Program Schedule Downloading Options</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="75"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="111"/>
+ <source>Listen on Link-Local addresses</source>
+- <translation>Listen on Link-Local addresses</translation>
++ <translation>Listen on Link-local Addresses</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="77"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="113"/>
+ <source>Enable servers on this machine to listen on link-local addresses. These are auto-configured addresses and not accessible outside the local network. This must be enabled for anything requiring Bonjour to work.</source>
+ <translation>Enable servers on this machine to listen on link-local addresses. These are auto-configured addresses and not accessible outside the local network. This must be enabled for anything requiring Bonjour to work.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="287"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="359"/>
+ <source>EIT transport timeout (mins)</source>
+- <translation>EIT transport timeout (mins)</translation>
++ <translation>EIT Transport Timeout (mins)</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="289"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="361"/>
+ <source>Maximum time to spend waiting (in minutes) for listings data on one digital TV channel before checking for new listings data on the next channel.</source>
+ <translation>Maximum time to spend waiting (in minutes) for listings data on one digital TV channel before checking for new listings data on the next channel.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="300"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="372"/>
+ <source>Master backend override</source>
+- <translation>Master backend override</translation>
++ <translation>Master Backend Override</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="302"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="374"/>
+ <source>If enabled, the master backend will stream and delete files if it finds them in a storage directory. Useful if you are using a central storage location, like a NFS share, and your slave backend isn&apos;t running.</source>
+ <translation>If enabled, the master backend will stream and delete files if it finds them in a storage directory. Useful if you are using a central storage location, like a NFS share, and your slave backend isn&apos;t running.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="312"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="384"/>
+ <source>Backend idle before EIT crawl (secs)</source>
+- <translation>Backend idle before EIT crawl (secs)</translation>
++ <translation>Backend Idle Before EIT Crawl (secs)</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="326"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="398"/>
+ <source>Length of time the frontend waits between tries to wake up the master backend. This should be the time your master backend needs to startup. Set to 0 to disable.</source>
+ <translation>Length of time the frontend waits between tries to wake up the master backend. This should be the time your master backend needs to startup. Set to 0 to disable.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="336"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="408"/>
+ <source>Wake attempts</source>
+- <translation>Wake attempts</translation>
++ <translation>Wake Attempts</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="348"/>
+ <source>The command used to wake up your master backend server (e.g. sudo /etc/init.d/mythtv-backend restart).</source>
+- <translation>The command used to wake up your master backend server (e.g. sudo /etc/init.d/mythtv-backend restart).</translation>
++ <translation type="vanished">The command used to wake up your master backend server (e.g. sudo /etc/init.d/mythtv-backend restart).</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="356"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="428"/>
+ <source>Sleep command</source>
+- <translation>Sleep command</translation>
++ <translation>Sleep Command</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="369"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="441"/>
+ <source>The command used to wake up this slave from sleep. This setting is not used on the master backend.</source>
+ <translation>The command used to wake up this slave from sleep. This setting is not used on the master backend.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="378"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="450"/>
+ <source>Backend stop command</source>
+- <translation>Backend stop command</translation>
++ <translation>Backend Stop Command</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="380"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="452"/>
+ <source>The command used to stop the backend when running on the master backend server (e.g. sudo /etc/init.d/mythtv-backend stop)</source>
+ <translation>The command used to stop the backend when running on the master backend server (e.g. sudo /etc/init.d/mythtv-backend stop)</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="389"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="461"/>
+ <source>Backend start command</source>
+- <translation>Backend start command</translation>
++ <translation>Backend Start Command</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="391"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="463"/>
+ <source>The command used to start the backend when running on the master backend server (e.g. sudo /etc/init.d/mythtv-backend start).</source>
+ <translation>The command used to start the backend when running on the master backend server (e.g. sudo /etc/init.d/mythtv-backend start).</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="402"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="474"/>
+ <source>The number of seconds the master backend idles before it shuts down all other backends. Set to 0 to disable automatic shutdown.</source>
+ <translation>The number of seconds the master backend idles before it shuts down all other backends. Set to 0 to disable automatic shutdown.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="411"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="483"/>
+ <source>Maximum wait for recording (mins)</source>
+- <translation>Maximum wait for recording (mins)</translation>
++ <translation>Maximum Wait for Recording (mins)</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="423"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="495"/>
+ <source>Startup before recording (secs)</source>
+- <translation>Startup before recording (secs)</translation>
++ <translation>Startup Before Recording (secs)</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="425"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="497"/>
+ <source>The number of seconds the master backend will be woken up before a recording starts.</source>
+ <translation>The number of seconds the master backend will be woken up before a recording starts.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="435"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="507"/>
+ <source>The format of the time string passed to the &apos;Command to set wakeup time&apos; as $time. See QT::QDateTime.toString() for details. Set to &apos;time_t&apos; for seconds since epoch.</source>
+ <translation>The format of the time string passed to the &apos;Command to set wakeup time&apos; as $time. See QT::QDateTime.toString() for details. Set to &apos;time_t&apos; for seconds since epoch.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="445"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="517"/>
+ <source>Command to set wakeup time</source>
+- <translation>Command to set wakeup time</translation>
++ <translation>Command to Set Wakeup Time</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="464"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="536"/>
+ <source>Pre-shutdown-check command</source>
+- <translation>Pre-shutdown-check command</translation>
++ <translation>Pre-shutdown Check Command</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="479"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="551"/>
+ <source>If enabled, the automatic shutdown routine will be disabled until a client connects.</source>
+ <translation>If enabled, the automatic shutdown routine will be disabled until a client connects.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="509"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="581"/>
+ <source>Job Queue check frequency (secs)</source>
+- <translation>Job Queue check frequency (secs)</translation>
++ <translation>Job Queue Check Frequency (secs)</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="510"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="582"/>
+ <source>When looking for new jobs to process, the Job Queue will wait this many seconds between checks.</source>
+ <translation>When looking for new jobs to process, the Job Queue will wait this many seconds between checks.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="519"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="591"/>
+ <source>CPU usage</source>
+- <translation>CPU usage</translation>
++ <translation>CPU Usage</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="523"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="595"/>
+ <source>This setting controls approximately how much CPU jobs in the queue may consume. On &apos;High&apos;, all available CPU time may be used, which could cause problems on slower systems.</source>
+ <translation>This setting controls approximately how much CPU jobs in the queue may consume. On &apos;High&apos;, all available CPU time may be used, which could cause problems on slower systems.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="533"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="605"/>
+ <source>Job Queue start time</source>
+- <translation>Job Queue start time</translation>
++ <translation>Job Queue Start Time</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="534"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="606"/>
+ <source>This setting controls the start of the Job Queue time window, which determines when new jobs will be started.</source>
+ <translation>This setting controls the start of the Job Queue time window, which determines when new jobs will be started.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="543"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="615"/>
+ <source>Job Queue end time</source>
+- <translation>Job Queue end time</translation>
++ <translation>Job Queue End Time</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="544"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="616"/>
+ <source>This setting controls the end of the Job Queue time window, which determines when new jobs will be started.</source>
+ <translation>This setting controls the end of the Job Queue time window, which determines when new jobs will be started.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="553"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="625"/>
+ <source>Run jobs only on original recording backend</source>
+- <translation>Run jobs only on original recording backend</translation>
++ <translation>Run Jobs Only on Original Recording Backend</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="555"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="627"/>
+ <source>If enabled, jobs in the queue will be required to run on the backend that made the original recording.</source>
+ <translation>If enabled, jobs in the queue will be required to run on the backend that made the original recording.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="564"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="636"/>
+ <source>Run transcode jobs before auto commercial detection</source>
+- <translation>Run transcode jobs before auto commercial detection</translation>
++ <translation>Run Transcode Jobs Before Auto Commercial Detection</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="567"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="639"/>
+ <source>If enabled, and if both auto-transcode and commercial detection are turned ON for a recording, transcoding will run first; otherwise, commercial detection runs first.</source>
+ <translation>If enabled, and if both auto-transcode and commercial detection are turned ON for a recording, transcoding will run first; otherwise, commercial detection runs first.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="577"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="649"/>
+ <source>Start auto-commercial-detection jobs when the recording starts</source>
+- <translation>Start auto-commercial-detection jobs when the recording starts</translation>
++ <translation>Start Auto Commercial Detection Jobs When the Recording Starts</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="580"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="652"/>
+ <source>If enabled, and Auto Commercial Detection is ON for a recording, the flagging job will be started as soon as the recording starts. NOT recommended on underpowered systems.</source>
+ <translation>If enabled, and Auto Commercial Detection is ON for a recording, the flagging job will be started as soon as the recording starts. NOT recommended on underpowered systems.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="590"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="662"/>
+ <source>User Job #%1 command</source>
+- <translation>User Job #%1 command</translation>
++ <translation>User Job #%1 Command</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="601"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="673"/>
+ <source>User Job #%1 description</source>
+- <translation>User Job #%1 description</translation>
++ <translation>User Job #%1 Description</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="603"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="675"/>
+ <source>The description for this User Job.</source>
+ <translation>The description for this User Job.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="610"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="682"/>
+ <source>Allow metadata lookup jobs</source>
+- <translation>Allow metadata lookup jobs</translation>
++ <translation>Allow Metadata Lookup Jobs</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="620"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="692"/>
+ <source>Allow commercial-detection jobs</source>
+- <translation>Allow commercial-detection jobs</translation>
++ <translation>Allow Commercial Detection Jobs</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="612"/>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="622"/>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="632"/>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="674"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="684"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="694"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="704"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="746"/>
+ <source>If enabled, allow jobs of this type to run on this backend.</source>
+ <translation>If enabled, allow jobs of this type to run on this backend.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="630"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="702"/>
+ <source>Allow transcoding jobs</source>
+- <translation>Allow transcoding jobs</translation>
++ <translation>Allow Transcoding Jobs</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="650"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="722"/>
+ <source>Commercial-detection command</source>
+- <translation>Commercial-detection command</translation>
++ <translation>Commercial Detection Command</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="652"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="724"/>
+ <source>The program used to detect commercials in a recording. The default is &apos;mythcommflag&apos; if this setting is empty.</source>
+ <translation>The program used to detect commercials in a recording. The default is &apos;mythcommflag&apos; if this setting is empty.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="683"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="755"/>
+ <source>Include recordings in video list</source>
+- <translation>Include recordings in video list</translation>
++ <translation>Include Recordings in Video List</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="696"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="768"/>
+ <source>Video content to show a WMP client</source>
+- <translation>Video content to show a WMP client</translation>
++ <translation>Video Content to Show a WMP Client</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="804"/>
+ <source>Host Address Backend Setup</source>
+- <translation>Host Address Backend Setup</translation>
++ <translation type="vanished">Host Address Backend Setup</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="806"/>
+ <source>Local Backend</source>
+- <translation>Local Backend</translation>
++ <translation type="vanished">Local Backend</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="830"/>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="894"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="963"/>
+ <source>Master Backend</source>
+ <translation>Master Backend</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="841"/>
+- <source>Locale Settings</source>
+- <translation>Locale Settings</translation>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="913"/>
++ <source>Locale Settings</source>
++ <translation>Locale Settings</translation>
++ </message>
++ <message>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="15"/>
++ <source>This server is the Master Backend</source>
++ <translation>This Server is the Master Backend</translation>
++ </message>
++ <message>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="17"/>
++ <source>Enable this if this is the only backend or is the master backend server. If enabled, all frontend and non-master backend machines will connect to this server. To change to a new master backend, run setup on that server and select it as master backend.</source>
++ <translation>Enable if this is the only backend or is the master backend server. If enabled, all frontend and non-master backend machines will connect to this server. To change to a new master backend, run setup on that server and select it as master backend.</translation>
++ </message>
++ <message>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="30"/>
++ <source>Master Backend Name</source>
++ <translation>Master Backend Name</translation>
++ </message>
++ <message>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="33"/>
++ <source>Host name of Master Backend. This is set by selecting &quot;This server is the Master Backend&quot; on that server.</source>
++ <translation>Host name of master backend. This is set by selecting &quot;This server is the master backend&quot; on that server.</translation>
++ </message>
++ <message>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="42"/>
++ <source>Allow Connections from all Subnets</source>
++ <translation>Allow Connections from All Subnets</translation>
++ </message>
++ <message>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="44"/>
++ <source>Allow this backend to receive connections from any IP address on the internet. NOT recommended for most users. Use this only if you have secure IPV4 and IPV6 firewalls.</source>
++ <translation>Allow this backend to receive connections from any IP address on the internet. NOT recommended for most users. Use this only if you have secure IPV4 and IPV6 firewalls.</translation>
++ </message>
++ <message>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="76"/>
++ <source>Listen on IPv6 address</source>
++ <translation>Listen on IPv6 Address</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="848"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="920"/>
+ <source>Miscellaneous Settings</source>
+ <translation>Miscellaneous Settings</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="851"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="923"/>
+ <source>File Management Settings</source>
+ <translation>File Management Settings</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="872"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="941"/>
+ <source>EIT Scanner Options</source>
+ <translation>EIT Scanner Options</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="878"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="947"/>
+ <source>Shutdown/Wakeup Options</source>
+ <translation>Shutdown/Wakeup Options</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="891"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="960"/>
+ <source>Backend Wakeup settings</source>
+- <translation>Backend Wakeup settings</translation>
++ <translation>Backend Wakeup Settings</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="901"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="970"/>
+ <source>Slave Backends</source>
+ <translation>Slave Backends</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="908"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="977"/>
+ <source>Backend Control</source>
+ <translation>Backend Control</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="914"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="983"/>
+ <source>Job Queue (Backend-Specific)</source>
+ <translation>Job Queue (Backend-Specific)</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="941"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="999"/>
+ <source>Job Queue (Global)</source>
+ <translation>Job Queue (Global)</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="951"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="1009"/>
+ <source>Job Queue (Job Commands)</source>
+ <translation>Job Queue (Job Commands)</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="862"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="931"/>
+ <source>UPnP Server Settings</source>
+ <translation>UPnP Server Settings</translation>
+ </message>
+@@ -19915,12 +20472,12 @@
+ <location filename="../programs/mythtv-setup/checksetup.cpp" line="62"/>
+ <location filename="../programs/mythtv-setup/checksetup.cpp" line="86"/>
+ <source>No Storage Group directories are defined. You must add at least one directory to the Default Storage Group where new recordings will be stored.</source>
+- <translation>No Storage Group directories are defined. You must add at least one directory to the Default Storage Group where new recordings will be stored.</translation>
++ <translation>No Storage Group directories are defined. You must add at least one directory to the Default Storage Group where new recordings will be stored.</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythtv-setup/checksetup.cpp" line="159"/>
+ <source>You have a Video Storage Group, but have not set up all Image Groups. If you continue, video image downloads will be saved in your Videos Storage Group. Do you want to store them in their own groups?</source>
+- <translation>You have a Video Storage Group, but have not set up all Image Groups. If you continue, video image downloads will be saved in your Videos Storage Group. Do you want to store them in their own groups?</translation>
++ <translation>You have a Video Storage Group, but have not set up all Image Groups. If you continue, video image downloads will be saved in your Videos Storage Group. Do you want to store them in their own groups?</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythtv-setup/checksetup.cpp" line="217"/>
+@@ -19930,10 +20487,10 @@
+ <message>
+ <location filename="../programs/mythtv-setup/importicons.cpp" line="633"/>
+ <source>Searching for icons for channel %1</source>
+- <translation>Searching for icons for channel %1</translation>
++ <translation>Searching for Icons for Channel %1</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/main.cpp" line="517"/>
++ <location filename="../programs/mythtv-setup/main.cpp" line="562"/>
+ <source>MythTV Setup</source>
+ <translation>MythTV Setup</translation>
+ </message>
+@@ -19971,19 +20528,19 @@
+ <translation>Backlinks</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelscan/scanwizardconfig.h" line="100"/>
++ <location filename="../libs/libmythtv/channelscan/scanwizardconfig.h" line="101"/>
+ <source>Scan Type</source>
+ <translation>Scan Type</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/videodbcheck.cpp" line="102"/>
+ <source>Error: failed to add new file type &apos;%1&apos;</source>
+- <translation>Error: failed to add new file type &apos;%1&apos;</translation>
++ <translation>Error: Failed to Add New File Type &apos;%1&apos;</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/videodbcheck.cpp" line="140"/>
+ <source>Error: failed to hash file &apos;%1&apos;</source>
+- <translation>Error: failed to hash file &apos;%1&apos;</translation>
++ <translation>Error: Failed to Hash File &apos;%1&apos;</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/videolist.cpp" line="646"/>
+@@ -19994,7 +20551,7 @@
+ <message>
+ <location filename="../programs/mythfrontend/videolist.cpp" line="656"/>
+ <source>No files found</source>
+- <translation>No files found</translation>
++ <translation>No Files Found</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/videolist.cpp" line="952"/>
+@@ -20075,57 +20632,57 @@
+ <translation>videos</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/ringbuffer.cpp" line="1641"/>
++ <location filename="../libs/libmythtv/ringbuffer.cpp" line="1643"/>
+ <source>&gt;1Gbps</source>
+ <translation>&gt;1Gbps</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/ringbuffer.cpp" line="1645"/>
++ <location filename="../libs/libmythtv/ringbuffer.cpp" line="1647"/>
+ <source>%1Mbps</source>
+ <translation>%1Mbps</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/ringbuffer.cpp" line="1645"/>
++ <location filename="../libs/libmythtv/ringbuffer.cpp" line="1647"/>
+ <source>%1MHz</source>
+ <translation>%1MHz</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/ringbuffer.cpp" line="1651"/>
++ <location filename="../libs/libmythtv/ringbuffer.cpp" line="1653"/>
+ <source>%1kHz</source>
+ <translation>%1kHz</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/ringbuffer.cpp" line="1651"/>
++ <location filename="../libs/libmythtv/ringbuffer.cpp" line="1653"/>
+ <source>%1kbps</source>
+ <translation>%1kbps</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/ringbuffer.cpp" line="1657"/>
++ <location filename="../libs/libmythtv/ringbuffer.cpp" line="1659"/>
+ <source>%1bps</source>
+ <translation>%1bps</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/ringbuffer.cpp" line="1657"/>
++ <location filename="../libs/libmythtv/ringbuffer.cpp" line="1659"/>
+ <source>%1Hz</source>
+ <translation>%1Hz</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/statusbox.cpp" line="1033"/>
++ <location filename="../programs/mythfrontend/statusbox.cpp" line="1040"/>
+ <source>%1 TB</source>
+ <translation>%1 TB</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/statusbox.cpp" line="1038"/>
++ <location filename="../programs/mythfrontend/statusbox.cpp" line="1045"/>
+ <source>%1 GB</source>
+ <translation>%1 GB</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/statusbox.cpp" line="1043"/>
++ <location filename="../programs/mythfrontend/statusbox.cpp" line="1050"/>
+ <source>%1 MB</source>
+ <translation>%1 MB</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/statusbox.cpp" line="1046"/>
++ <location filename="../programs/mythfrontend/statusbox.cpp" line="1053"/>
+ <source>%1 KB</source>
+ <translation>%1 KB</translation>
+ </message>
+@@ -20150,17 +20707,17 @@
+ <message>
+ <location filename="../libs/libmyth/recordingtypes.cpp" line="251"/>
+ <source>Match duplicates using subtitle &amp; description</source>
+- <translation>Match duplicates using subtitle &amp; description</translation>
++ <translation>Match Duplicates Using Subtitle &amp; Description</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmyth/recordingtypes.cpp" line="253"/>
+ <source>Match duplicates using subtitle then description</source>
+- <translation>Match duplicates using subtitle then description</translation>
++ <translation>Match Duplicates Using Subtitle Then Description</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmyth/recordingtypes.cpp" line="247"/>
+ <source>Match duplicates using subtitle</source>
+- <translation>Match duplicates using subtitle</translation>
++ <translation>Match Duplicates Using Subtitle</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmyth/recordingtypes.cpp" line="230"/>
+@@ -20180,22 +20737,22 @@
+ <message>
+ <location filename="../libs/libmyth/recordingtypes.cpp" line="249"/>
+ <source>Match duplicates using description</source>
+- <translation>Match duplicates using description</translation>
++ <translation>Match Duplicates Using Description</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmyth/recordingtypes.cpp" line="245"/>
+ <source>Don&apos;t match duplicates</source>
+- <translation>Don&apos;t match duplicates</translation>
++ <translation>Don&apos;t Match Duplicates</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmyth/recordingtypes.cpp" line="181"/>
+ <source>Look for duplicates in current and previous recordings</source>
+- <translation>Look for duplicates in current and previous recordings</translation>
++ <translation>Look for Duplicates in Current and Previous Recordings</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmyth/recordingtypes.cpp" line="177"/>
+ <source>Look for duplicates in current recordings only</source>
+- <translation>Look for duplicates in current recordings only</translation>
++ <translation>Look for Duplicates in Current Recordings Only</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmyth/recordingtypes.cpp" line="160"/>
+@@ -20221,90 +20778,90 @@
+ <message>
+ <location filename="../libs/libmyth/recordingtypes.cpp" line="179"/>
+ <source>Look for duplicates in previous recordings only</source>
+- <translation>Look for duplicates in previous recordings only</translation>
++ <translation>Look for Duplicates in Previous Recordings Only</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmyth/recordingtypes.cpp" line="184"/>
+- <location filename="../programs/mythfrontend/scheduleeditor.cpp" line="2124"/>
++ <location filename="../programs/mythfrontend/scheduleeditor.cpp" line="2125"/>
+ <source>Record new episodes only</source>
+- <translation>Record new episodes only</translation>
++ <translation>Record New Episodes Only</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/scheduleeditor.cpp" line="2095"/>
++ <location filename="../programs/mythfrontend/scheduleeditor.cpp" line="2096"/>
+ <source>Use any available input</source>
+- <translation>Use any available input</translation>
++ <translation>Use Any Available Input</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/scheduleeditor.cpp" line="2102"/>
++ <location filename="../programs/mythfrontend/scheduleeditor.cpp" line="2103"/>
+ <source>Prefer input %1</source>
+- <translation>Prefer input %1</translation>
++ <translation>Prefer Input %1</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/scheduleeditor.cpp" line="2121"/>
++ <location filename="../programs/mythfrontend/scheduleeditor.cpp" line="2122"/>
+ <source>Record new and repeat episodes</source>
+- <translation>Record new and repeat episodes</translation>
++ <translation>Record New and Repeat Episodes</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/scheduleeditor.cpp" line="2418"/>
++ <location filename="../programs/mythfrontend/scheduleeditor.cpp" line="2419"/>
+ <source>Record using the %1 profile</source>
+- <translation>Record using the %1 profile</translation>
++ <translation>Record Using the %1 Profile</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/scheduleeditor.cpp" line="2425"/>
++ <location filename="../programs/mythfrontend/scheduleeditor.cpp" line="2426"/>
+ <source>LiveTV</source>
+ <translation>LiveTV</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/scheduleeditor.cpp" line="2428"/>
++ <location filename="../programs/mythfrontend/scheduleeditor.cpp" line="2429"/>
+ <source>High Quality</source>
+ <translation>High Quality</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/scheduleeditor.cpp" line="2431"/>
++ <location filename="../programs/mythfrontend/scheduleeditor.cpp" line="2432"/>
+ <source>Low Quality</source>
+ <translation>Low Quality</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/scheduleeditor.cpp" line="2442"/>
+- <location filename="../programs/mythfrontend/scheduleeditor.cpp" line="2653"/>
++ <location filename="../programs/mythfrontend/scheduleeditor.cpp" line="2443"/>
++ <location filename="../programs/mythfrontend/scheduleeditor.cpp" line="2654"/>
+ <source>Include in the &quot;%1&quot; recording group</source>
+ <translation>Include in the &quot;%1&quot; recording group</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/scheduleeditor.cpp" line="2444"/>
++ <location filename="../programs/mythfrontend/scheduleeditor.cpp" line="2445"/>
+ <source>Create a new recording group</source>
+- <translation>Create a new recording group</translation>
++ <translation>Create a New Recording Group</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/scheduleeditor.cpp" line="2474"/>
++ <location filename="../programs/mythfrontend/scheduleeditor.cpp" line="2475"/>
+ <source>Store in the &quot;%1&quot; storage group</source>
+- <translation>Store in the &quot;%1&quot; storage group</translation>
++ <translation>Store in the &quot;%1&quot; Storage Group</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/scheduleeditor.cpp" line="2495"/>
++ <location filename="../programs/mythfrontend/scheduleeditor.cpp" line="2496"/>
+ <source>Use &quot;%1&quot; playback group settings</source>
+- <translation>Use &quot;%1&quot; playback group settings</translation>
++ <translation>Use &quot;%1&quot; Playback Group Settings</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/scheduleeditor.cpp" line="2528"/>
++ <location filename="../programs/mythfrontend/scheduleeditor.cpp" line="2529"/>
+ <source>Don&apos;t record if this would exceed the max episodes</source>
+- <translation>Don&apos;t record if this would exceed the max episodes</translation>
++ <translation>Don&apos;t Record If This Would Exceed the Max Episodes</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/scheduleeditor.cpp" line="2531"/>
++ <location filename="../programs/mythfrontend/scheduleeditor.cpp" line="2532"/>
+ <source>Delete oldest if this would exceed the max episodes</source>
+- <translation>Delete oldest if this would exceed the max episodes</translation>
++ <translation>Delete Oldest If This Would Exceed the Max Episodes</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/scheduleeditor.cpp" line="2630"/>
++ <location filename="../programs/mythfrontend/scheduleeditor.cpp" line="2631"/>
+ <source>New Recording group name: </source>
+- <translation>New Recording group name: </translation>
++ <translation>New Recording Group name: </translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/scheduleeditor.cpp" line="2789"/>
+- <location filename="../programs/mythfrontend/scheduleeditor.cpp" line="2803"/>
+- <location filename="../programs/mythfrontend/scheduleeditor.cpp" line="2817"/>
+- <location filename="../programs/mythfrontend/scheduleeditor.cpp" line="2831"/>
++ <location filename="../programs/mythfrontend/scheduleeditor.cpp" line="2790"/>
++ <location filename="../programs/mythfrontend/scheduleeditor.cpp" line="2804"/>
++ <location filename="../programs/mythfrontend/scheduleeditor.cpp" line="2818"/>
++ <location filename="../programs/mythfrontend/scheduleeditor.cpp" line="2832"/>
+ <source>Run &apos;%1&apos;</source>
+ <translation>Run &apos;%1&apos;</translation>
+ </message>
+@@ -20335,97 +20892,97 @@
+ <translation>SetParameters() called with handle == NULL!</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/audio/audiooutputbase.cpp" line="670"/>
++ <location filename="../libs/libmyth/audio/audiooutputbase.cpp" line="684"/>
+ <source>Aborting Audio Reconfigure. Can&apos;t handle audio with more than 8 channels.</source>
+ <translation>Aborting Audio Reconfigure. Can&apos;t handle audio with more than 8 channels.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/audio/audiooutputbase.cpp" line="722"/>
++ <location filename="../libs/libmyth/audio/audiooutputbase.cpp" line="736"/>
+ <source>Error creating resampler: %1</source>
+- <translation>Error creating resampler: %1</translation>
++ <translation>Error Creating Resampler: %1</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/audio/audiooutputbase.cpp" line="758"/>
++ <location filename="../libs/libmyth/audio/audiooutputbase.cpp" line="772"/>
+ <source>AC-3 encoder initialization failed</source>
+- <translation>AC-3 encoder initialization failed</translation>
++ <translation>Ac-3 Encoder Initialization Failed</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/audio/audiooutputbase.cpp" line="819"/>
++ <location filename="../libs/libmyth/audio/audiooutputbase.cpp" line="833"/>
+ <source>Aborting reconfigure</source>
+- <translation>Aborting reconfigure</translation>
++ <translation>Aborting Reconfigure</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmyth/audio/audiooutputdx.cpp" line="459"/>
+ <source>DirectSound initialization failed</source>
+- <translation>DirectSound initialization failed</translation>
++ <translation>DirectSound Initialization Failed</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmyth/audio/audiooutputdx.cpp" line="531"/>
+ <source>Unsupported format for device %1:%2</source>
+- <translation>Unsupported format for device %1:%2</translation>
++ <translation>Unsupported Format for Device %1:%2</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmyth/audio/audiooutputdx.cpp" line="534"/>
+ <source>Failed to create DS buffer 0x%1</source>
+- <translation>Failed to create DS buffer 0x%1</translation>
++ <translation>Failed to Create DS Buffer 0x%1</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmyth/audio/audiooutputoss.cpp" line="143"/>
+ <source>Error opening audio device (%1)</source>
+- <translation>Error opening audio device (%1)</translation>
++ <translation>Error Opening Audio Device (%1)</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/streamingringbuffer.cpp" line="77"/>
+ <source>Failed to open stream (%1)</source>
+- <translation>Failed to open stream (%1)</translation>
++ <translation>Failed to Open Stream (%1)</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfilldatabase/channeldata.cpp" line="86"/>
+ <source>Choose a channel name (any string, long version) </source>
+- <translation>Choose a channel name (any string, long version) </translation>
++ <translation>Choose a Channel Name (any string, long version) </translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfilldatabase/channeldata.cpp" line="88"/>
+ <source>Choose a channel callsign (any string, short version) </source>
+- <translation>Choose a channel callsign (any string, short version) </translation>
++ <translation>Choose a Channel Callsign (any string, short version) </translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfilldatabase/channeldata.cpp" line="93"/>
+ <source>Choose a channel preset (0..999) </source>
+- <translation>Choose a channel preset (0..999) </translation>
++ <translation>Choose a Channel Preset (0..999) </translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfilldatabase/channeldata.cpp" line="95"/>
+ <source>Choose a frequency id </source>
+- <translation>Choose a frequency id </translation>
++ <translation>Choose a Frequency ID </translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfilldatabase/channeldata.cpp" line="100"/>
+ <source>Choose a channel number </source>
+- <translation>Choose a channel number </translation>
++ <translation>Choose a Channel Number </translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfilldatabase/channeldata.cpp" line="105"/>
+ <source>Choose a channel fine tune offset </source>
+- <translation>Choose a channel fine tune offset </translation>
++ <translation>Choose a Channel Fine Tune Offset</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfilldatabase/channeldata.cpp" line="108"/>
+ <source>Choose a TV format (PAL/SECAM/NTSC/ATSC/Default) </source>
+- <translation>Choose a TV format (PAL/SECAM/NTSC/ATSC/Default) </translation>
++ <translation>Choose a TV Format (PAL/SECAM/NTSC/ATSC/Default) </translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfilldatabase/channeldata.cpp" line="112"/>
+ <source>Choose a channel icon image (relative path to icon storage group) </source>
+- <translation>Choose a channel icon image (relative path to icon storage group) </translation>
++ <translation>Choose a Channel Icon Image (relative path to icon storage group) </translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfilldatabase/xmltvparser.cpp" line="349"/>
++ <location filename="../programs/mythfilldatabase/xmltvparser.cpp" line="383"/>
+ <source>movie</source>
+ <translation>movie</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfilldatabase/xmltvparser.cpp" line="350"/>
++ <location filename="../programs/mythfilldatabase/xmltvparser.cpp" line="384"/>
+ <source>film</source>
+ <translation>film</translation>
+ </message>
+@@ -20433,56 +20990,56 @@
+ <location filename="../programs/mythshutdown/main.cpp" line="72"/>
+ <source>Error: Database not open while trying to load setting: %1</source>
+ <comment>mythshutdown</comment>
+- <translation>Error: Database not open while trying to load setting: %1</translation>
++ <translation>Error: Database Not Open While Trying to Load Setting: %1</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythshutdown/main.cpp" line="97"/>
+ <location filename="../programs/mythshutdown/main.cpp" line="151"/>
+ <source>Error: Waited too long to obtain lock on setting table</source>
+ <comment>mythshutdown</comment>
+- <translation>Error: Waited too long to obtain lock on setting table</translation>
++ <translation>Error: Waited Too Long to Obtain Lock on Setting Table</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythshutdown/main.cpp" line="229"/>
+ <source>Error: Could not connect to master server</source>
+ <comment>mythshutdown</comment>
+- <translation>Error: Could not connect to master server</translation>
++ <translation>Error: Could Not Connect to Master Server</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythshutdown/main.cpp" line="247"/>
+ <source>Transcoding in progress...</source>
+ <comment>mythshutdown</comment>
+- <translation>Transcoding in progress...</translation>
++ <translation>Transcoding in Progress...</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythshutdown/main.cpp" line="254"/>
+ <source>Commercial Detection in progress...</source>
+ <comment>mythshutdown</comment>
+- <translation>Commercial Detection in progress...</translation>
++ <translation>Commercial Detection in Progress...</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythshutdown/main.cpp" line="262"/>
+ <source>Grabbing EPG data in progress...</source>
+ <comment>mythshutdown</comment>
+- <translation>Grabbing EPG data in progress...</translation>
++ <translation>Grabbing Epg Data in Progress...</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythshutdown/main.cpp" line="270"/>
+ <source>Recording in progress...</source>
+ <comment>mythshutdown</comment>
+- <translation>Recording in progress...</translation>
++ <translation>Recording in Progress...</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythshutdown/main.cpp" line="277"/>
+ <source>Shutdown is locked</source>
+ <comment>mythshutdown</comment>
+- <translation>Shutdown is locked</translation>
++ <translation>Shutdown Is Locked</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythshutdown/main.cpp" line="284"/>
+ <source>Has queued or pending jobs</source>
+ <comment>mythshutdown</comment>
+- <translation>Has queued or pending jobs</translation>
++ <translation>Has Queued or Pending Jobs</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythshutdown/main.cpp" line="317"/>
+@@ -20500,176 +21057,176 @@
+ <location filename="../programs/mythshutdown/main.cpp" line="342"/>
+ <source>About to start daily wakeup period (1)</source>
+ <comment>mythshutdown</comment>
+- <translation>About to start daily wakeup period (1)</translation>
++ <translation>About to Start Daily Wakeup Period (1)</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythshutdown/main.cpp" line="354"/>
+ <source>About to start daily wakeup period (2)</source>
+ <comment>mythshutdown</comment>
+- <translation>About to start daily wakeup period (2)</translation>
++ <translation>About to Start Daily Wakeup Period (2)</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythshutdown/main.cpp" line="363"/>
+ <source>Setup is running...</source>
+ <comment>mythshutdown</comment>
+- <translation>Setup is running...</translation>
++ <translation>Setup Is Running...</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythshutdown/main.cpp" line="368"/>
+ <source>Mythshutdown: --status returned: %1</source>
+ <comment>mythshutdown</comment>
+- <translation>Mythshutdown: --status returned: %1</translation>
++ <translation>Mythshutdown Status Returned: %1</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythshutdown/main.cpp" line="386"/>
+ <source>Not OK to shutdown</source>
+ <comment>mythshutdown</comment>
+- <translation>Not OK to shutdown</translation>
++ <translation>Not OK to Shutdown</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythshutdown/main.cpp" line="392"/>
+ <source>OK to shutdown</source>
+ <comment>mythshutdown</comment>
+- <translation>OK to shutdown</translation>
++ <translation>OK to Shutdown</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythshutdown/main.cpp" line="407"/>
+ <source>Wakeup time given is: %1 (local time)</source>
+ <comment>mythshutdown</comment>
+- <translation>Wakeup time given is: %1 (local time)</translation>
++ <translation>Wakeup Time Given Is: %1 (local time)</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythshutdown/main.cpp" line="419"/>
+ <source>Setting scheduled wakeup time: Attempting to connect to master server...</source>
+ <comment>mythshutdown</comment>
+- <translation>Setting scheduled wakeup time: Attempting to connect to master server...</translation>
++ <translation>Setting Scheduled Wakeup Time: Attempting to Connect to Master Server...</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythshutdown/main.cpp" line="425"/>
+ <source>Setting scheduled wakeup time: Could not connect to master server!</source>
+ <comment>mythshutdown</comment>
+- <translation>Setting scheduled wakeup time: Could not connect to master server!</translation>
++ <translation>Setting Scheduled Wakeup Time: Could Not Connect to Master Server!</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythshutdown/main.cpp" line="501"/>
+ <location filename="../programs/mythshutdown/main.cpp" line="514"/>
+ <source>Daily wakeup today at %1</source>
+ <comment>mythshutdown</comment>
+- <translation>Daily wakeup today at %1</translation>
++ <translation>Daily Wakeup Today At %1</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythshutdown/main.cpp" line="536"/>
+ <source>Next daily wakeup is tomorrow at %1</source>
+ <comment>mythshutdown</comment>
+- <translation>Next daily wakeup is tomorrow at %1</translation>
++ <translation>Next Daily Wakeup Is Tomorrow At %1</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythshutdown/main.cpp" line="547"/>
+ <source>Error: no daily wakeup times are set</source>
+ <comment>mythshutdown</comment>
+- <translation>Error: no daily wakeup times are set</translation>
++ <translation>Error: No Daily Wakeup Times Are Set</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythshutdown/main.cpp" line="560"/>
+ <source>Error: no recording time is set</source>
+ <comment>mythshutdown</comment>
+- <translation>Error: no recording time is set</translation>
++ <translation>Error: No Recording Time Is Set</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythshutdown/main.cpp" line="566"/>
+ <source>Recording scheduled at: %1</source>
+ <comment>mythshutdown</comment>
+- <translation>Recording scheduled at: %1</translation>
++ <translation>Recording Scheduled At: %1</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythshutdown/main.cpp" line="579"/>
+ <source>Scheduled recording time has already passed. Schedule deleted</source>
+ <comment>mythshutdown</comment>
+- <translation>Scheduled recording time has already passed. Schedule deleted</translation>
++ <translation>Scheduled Recording Time Has Already Passed. Schedule Deleted.</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythshutdown/main.cpp" line="597"/>
+ <source>Error: no wake up time set and no scheduled program</source>
+ <comment>mythshutdown</comment>
+- <translation>Error: no wake up time set and no scheduled program</translation>
++ <translation>Error: No Wake Up Time Set and No Scheduled Program</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythshutdown/main.cpp" line="607"/>
+ <source>Will wake up at next scheduled program</source>
+ <comment>mythshutdown</comment>
+- <translation>Will wake up at next scheduled program</translation>
++ <translation>Will Wake Up At Next Scheduled Program</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythshutdown/main.cpp" line="617"/>
+ <source>Will wake up at next daily wakeup</source>
+ <comment>mythshutdown</comment>
+- <translation>Will wake up at next daily wakeup</translation>
++ <translation>Will Wake Up At Next Daily Wakeup</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythshutdown/main.cpp" line="629"/>
+ <source>Program is scheduled but will wake up at next daily wakeup</source>
+ <comment>mythshutdown</comment>
+- <translation>Program is scheduled but will wake up at next daily wakeup</translation>
++ <translation>Program Is Scheduled but Will Wake Up At Next Daily Wakeup</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythshutdown/main.cpp" line="637"/>
+ <source>Daily wakeup is set but will wake up at next scheduled program</source>
+ <comment>mythshutdown</comment>
+- <translation>Daily wakeup is set but will wake up at next scheduled program</translation>
++ <translation>Daily Wakeup Is Set but Will Wake Up At Next Scheduled Program</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythshutdown/main.cpp" line="682"/>
+ <source>Sending command to set time in BIOS %1</source>
+ <comment>mythshutdown</comment>
+- <translation>Sending command to set time in BIOS %1</translation>
++ <translation>Sending Command to Set Time in BIOS %1</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythshutdown/main.cpp" line="689"/>
+ <source>Program %1 exited with code %2</source>
+ <comment>mythshutdown</comment>
+- <translation>Program %1 exited with code %2</translation>
++ <translation>Program %1 Exited with Code %2</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythshutdown/main.cpp" line="695"/>
+ <source>Error: nvram-wakeup failed to set time in BIOS</source>
+ <comment>mythshutdown</comment>
+- <translation>Error: nvram-wakeup failed to set time in BIOS</translation>
++ <translation>Error: nvram-wakeup Failed to Set Time in BIOS</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythshutdown/main.cpp" line="710"/>
+ <source>The next wakeup time is less than 15 mins away, not shutting down.</source>
+ <comment>mythshutdown</comment>
+- <translation>The next wakeup time is less than 15 mins away, not shutting down.</translation>
++ <translation>The Next Wakeup Time Is Less Than 15 Mins Away, Not Shutting Down.</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythshutdown/main.cpp" line="724"/>
+ <source>everything looks fine, shutting down ...</source>
+ <comment>mythshutdown</comment>
+- <translation>everything looks fine, shutting down ...</translation>
++ <translation>Everything Looks Fine, Shutting Down...</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythshutdown/main.cpp" line="729"/>
+ <source>shutting down</source>
+ <comment>mythshutdown</comment>
+- <translation>shutting down</translation>
++ <translation>Shutting Down</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythshutdown/main.cpp" line="739"/>
+ <source>Everything looks fine, but reboot is needed</source>
+ <comment>mythshutdown</comment>
+- <translation>Everything looks fine, but reboot is needed</translation>
++ <translation>Everything Looks Fine, but Reboot Is Needed</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythshutdown/main.cpp" line="742"/>
+ <source>Sending command to bootloader</source>
+ <comment>mythshutdown</comment>
+- <translation>Sending command to bootloader</translation>
++ <translation>Sending Command to Bootloader</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythshutdown/main.cpp" line="749"/>
+ <source>rebooting</source>
+ <comment>mythshutdown</comment>
+- <translation>rebooting</translation>
++ <translation>Rebooting</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythshutdown/main.cpp" line="760"/>
+@@ -20688,12 +21245,12 @@
+ <message>
+ <location filename="../libs/libmythtv/recorders/ExternalSignalMonitor.cpp" line="97"/>
+ <source>Error: stream handler died</source>
+- <translation>Error: stream handler died</translation>
++ <translation>Error: Stream Handler Died</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/tvbrowsehelper.cpp" line="583"/>
+ <source>All channels</source>
+- <translation>All channels</translation>
++ <translation>All Channels</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythbackend/upnpcdsmusic.cpp" line="105"/>
+@@ -20717,6 +21274,11 @@
+ <source>Genre</source>
+ <translation>Genre</translation>
+ </message>
++ <message>
++ <location filename="../libs/libmyth/standardsettings.cpp" line="573"/>
++ <source>New entry</source>
++ <translation>New Entry</translation>
++ </message>
+ </context>
+ <context>
+ <name>RawSettingsEditor</name>
+@@ -20729,12 +21291,12 @@
+ <context>
+ <name>RecMetadataEdit</name>
+ <message>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="5356"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="5384"/>
+ <source>Trying to manually find this recording online...</source>
+- <translation>Trying to manually find this recording online...</translation>
++ <translation>Trying to Manually Find This Recording Online...</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="5479"/>
++ <location filename="../programs/mythfrontend/playbackbox.cpp" line="5507"/>
+ <source>No match found for this recording. You can try entering a TVDB/TMDB number, season, and episode manually.</source>
+ <translation>No match found for this recording. You can try entering a TVDB/TMDB number, season, and episode manually.</translation>
+ </message>
+@@ -20742,14 +21304,18 @@
+ <context>
+ <name>RecordingProfileEditor</name>
+ <message>
+- <location filename="../libs/libmythtv/recordingprofile.cpp" line="1793"/>
+ <source>Add Recording Profile</source>
+- <translation>Add Recording Profile</translation>
++ <translation type="vanished">Add Recording Profile</translation>
++ </message>
++ <message>
++ <location filename="../libs/libmythtv/recordingprofile.cpp" line="1648"/>
++ <source>(Create new profile)</source>
++ <translation>Create New Profile</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/recordingprofile.cpp" line="1794"/>
++ <location filename="../libs/libmythtv/recordingprofile.cpp" line="1660"/>
+ <source>Enter the name of the new profile</source>
+- <translation>Enter the name of the new profile</translation>
++ <translation>Enter profile name:</translation>
+ </message>
+ </context>
+ <context>
+@@ -20822,128 +21388,130 @@
+ <message>
+ <location filename="../libs/libmythtv/channelscan/scanmonitor.cpp" line="117"/>
+ <source>Scanning</source>
+- <translation>Scanning</translation>
++ <translation>Scanning...</translation>
+ </message>
+ </context>
+ <context>
+ <name>ScanOptionalConfig</name>
+ <message>
+- <location filename="../libs/libmythtv/channelscan/scanwizardconfig.cpp" line="242"/>
++ <location filename="../libs/libmythtv/channelscan/scanwizardconfig.cpp" line="236"/>
+ <source>Failed to open the card</source>
+- <translation>Failed to open the card</translation>
++ <translation>Failed to Open the Card</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelscan/scanwizardconfig.cpp" line="244"/>
++ <location filename="../libs/libmythtv/channelscan/scanwizardconfig.cpp" line="238"/>
+ <source>Failed to probe the card</source>
+- <translation>Failed to probe the card</translation>
++ <translation>Failed to Probe the Card</translation>
+ </message>
+ </context>
+ <context>
+ <name>ScanTypeSetting</name>
+ <message>
++ <location filename="../libs/libmythtv/channelscan/scanwizardconfig.cpp" line="103"/>
+ <location filename="../libs/libmythtv/channelscan/scanwizardconfig.cpp" line="109"/>
+- <location filename="../libs/libmythtv/channelscan/scanwizardconfig.cpp" line="115"/>
+- <location filename="../libs/libmythtv/channelscan/scanwizardconfig.cpp" line="125"/>
+- <location filename="../libs/libmythtv/channelscan/scanwizardconfig.cpp" line="153"/>
+- <location filename="../libs/libmythtv/channelscan/scanwizardconfig.cpp" line="161"/>
++ <location filename="../libs/libmythtv/channelscan/scanwizardconfig.cpp" line="119"/>
++ <location filename="../libs/libmythtv/channelscan/scanwizardconfig.cpp" line="147"/>
++ <location filename="../libs/libmythtv/channelscan/scanwizardconfig.cpp" line="155"/>
++ <location filename="../libs/libmythtv/channelscan/scanwizardconfig.cpp" line="165"/>
+ <location filename="../libs/libmythtv/channelscan/scanwizardconfig.cpp" line="171"/>
+- <location filename="../libs/libmythtv/channelscan/scanwizardconfig.cpp" line="177"/>
+ <source>Full Scan</source>
+ <translation>Full Scan</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelscan/scanwizardconfig.cpp" line="111"/>
+- <location filename="../libs/libmythtv/channelscan/scanwizardconfig.cpp" line="121"/>
+- <location filename="../libs/libmythtv/channelscan/scanwizardconfig.cpp" line="131"/>
+- <location filename="../libs/libmythtv/channelscan/scanwizardconfig.cpp" line="139"/>
+- <location filename="../libs/libmythtv/channelscan/scanwizardconfig.cpp" line="147"/>
+- <location filename="../libs/libmythtv/channelscan/scanwizardconfig.cpp" line="157"/>
+- <location filename="../libs/libmythtv/channelscan/scanwizardconfig.cpp" line="165"/>
+- <location filename="../libs/libmythtv/channelscan/scanwizardconfig.cpp" line="181"/>
++ <location filename="../libs/libmythtv/channelscan/scanwizardconfig.cpp" line="105"/>
++ <location filename="../libs/libmythtv/channelscan/scanwizardconfig.cpp" line="115"/>
++ <location filename="../libs/libmythtv/channelscan/scanwizardconfig.cpp" line="125"/>
++ <location filename="../libs/libmythtv/channelscan/scanwizardconfig.cpp" line="133"/>
++ <location filename="../libs/libmythtv/channelscan/scanwizardconfig.cpp" line="141"/>
++ <location filename="../libs/libmythtv/channelscan/scanwizardconfig.cpp" line="151"/>
++ <location filename="../libs/libmythtv/channelscan/scanwizardconfig.cpp" line="159"/>
++ <location filename="../libs/libmythtv/channelscan/scanwizardconfig.cpp" line="175"/>
+ <source>Import existing scan</source>
+- <translation>Import existing scan</translation>
++ <translation>Import Existing Scan</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelscan/scanwizardconfig.cpp" line="117"/>
+- <location filename="../libs/libmythtv/channelscan/scanwizardconfig.cpp" line="127"/>
+- <location filename="../libs/libmythtv/channelscan/scanwizardconfig.cpp" line="135"/>
+- <location filename="../libs/libmythtv/channelscan/scanwizardconfig.cpp" line="143"/>
+- <location filename="../libs/libmythtv/channelscan/scanwizardconfig.cpp" line="151"/>
+- <location filename="../libs/libmythtv/channelscan/scanwizardconfig.cpp" line="173"/>
++ <location filename="../libs/libmythtv/channelscan/scanwizardconfig.cpp" line="111"/>
++ <location filename="../libs/libmythtv/channelscan/scanwizardconfig.cpp" line="121"/>
++ <location filename="../libs/libmythtv/channelscan/scanwizardconfig.cpp" line="129"/>
++ <location filename="../libs/libmythtv/channelscan/scanwizardconfig.cpp" line="137"/>
++ <location filename="../libs/libmythtv/channelscan/scanwizardconfig.cpp" line="145"/>
++ <location filename="../libs/libmythtv/channelscan/scanwizardconfig.cpp" line="167"/>
+ <source>Full Scan (Tuned)</source>
+ <translation>Full Scan (Tuned)</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelscan/scanwizardconfig.cpp" line="185"/>
++ <location filename="../libs/libmythtv/channelscan/scanwizardconfig.cpp" line="179"/>
+ <source>VBox Channel Import</source>
+ <translation>VBox Channel Import</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelscan/scanwizardconfig.cpp" line="189"/>
++ <location filename="../libs/libmythtv/channelscan/scanwizardconfig.cpp" line="183"/>
+ <source>M3U Import with MPTS</source>
+ <translation>M3U Import with MPTS</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelscan/scanwizardconfig.cpp" line="191"/>
++ <location filename="../libs/libmythtv/channelscan/scanwizardconfig.cpp" line="185"/>
+ <source>M3U Import</source>
+ <translation>M3U Import</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelscan/scanwizardconfig.cpp" line="195"/>
++ <location filename="../libs/libmythtv/channelscan/scanwizardconfig.cpp" line="189"/>
+ <source>ASI Scan</source>
+ <translation>ASI Scan</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelscan/scanwizardconfig.cpp" line="199"/>
++ <location filename="../libs/libmythtv/channelscan/scanwizardconfig.cpp" line="193"/>
+ <source>MPTS Scan</source>
+ <translation>MPTS Scan</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelscan/scanwizardconfig.cpp" line="203"/>
++ <location filename="../libs/libmythtv/channelscan/scanwizardconfig.cpp" line="197"/>
+ <source>Failed to probe the card</source>
+- <translation>Failed to probe the card</translation>
++ <translation>Failed to Probe the Card</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelscan/scanwizardconfig.cpp" line="207"/>
++ <location filename="../libs/libmythtv/channelscan/scanwizardconfig.cpp" line="201"/>
+ <source>Failed to open the card</source>
+- <translation>Failed to open the card</translation>
++ <translation>Failed to Open the Card</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelscan/scanwizardconfig.cpp" line="212"/>
++ <location filename="../libs/libmythtv/channelscan/scanwizardconfig.cpp" line="206"/>
+ <source>Scan of all existing transports</source>
+- <translation>Scan of all existing transports</translation>
++ <translation>Scan of All Existing Transports</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelscan/scanwizardconfig.cpp" line="214"/>
++ <location filename="../libs/libmythtv/channelscan/scanwizardconfig.cpp" line="208"/>
+ <source>Scan of single existing transport</source>
+- <translation>Scan of single existing transport</translation>
++ <translation>Scan of Single Existing Transport</translation>
+ </message>
+ </context>
+ <context>
+ <name>ScanWizard</name>
+ <message>
+- <location filename="../libs/libmythtv/scanwizard.cpp" line="165"/>
+- <location filename="../libs/libmythtv/scanwizard.cpp" line="184"/>
+ <source>ScanWizard</source>
+- <translation>ScanWizard</translation>
++ <translation type="vanished">ScanWizard</translation>
++ </message>
++ <message>
++ <location filename="../libs/libmythtv/scanwizard.cpp" line="52"/>
++ <source>Scan</source>
++ <translation>Scan</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/scanwizard.cpp" line="166"/>
++ <location filename="../libs/libmythtv/scanwizard.cpp" line="146"/>
+ <source>Programmer Error, see console</source>
+- <translation>Programmer Error, see console</translation>
++ <translation>Programmer Error, See Console</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/scanwizard.cpp" line="185"/>
++ <location filename="../libs/libmythtv/scanwizard.cpp" line="163"/>
+ <source>Error parsing parameters</source>
+- <translation>Error parsing parameters</translation>
++ <translation>Error Parsing Parameters</translation>
+ </message>
+ </context>
+ <context>
+ <name>ScanWizardConfig</name>
+ <message>
+- <location filename="../libs/libmythtv/channelscan/scanwizardconfig.cpp" line="37"/>
+ <source>Scan Configuration</source>
+- <translation>Scan Configuration</translation>
++ <translation type="vanished">Scan Configuration</translation>
+ </message>
+ </context>
+ <context>
+@@ -20951,168 +21519,173 @@
+ <message>
+ <location filename="../programs/mythfrontend/scheduleeditor.cpp" line="52"/>
+ <source>New episode</source>
+- <translation>New episode</translation>
++ <translation>New Episode</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/scheduleeditor.cpp" line="53"/>
+ <source>Identifiable episode</source>
+- <translation>Identifiable episode</translation>
++ <translation>Identifiable Episode</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/scheduleeditor.cpp" line="54"/>
+ <source>First showing</source>
+- <translation>First showing</translation>
++ <translation>First Showing</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/scheduleeditor.cpp" line="55"/>
+ <source>Prime time</source>
+- <translation>Prime time</translation>
++ <translation>Prime Time</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/scheduleeditor.cpp" line="58"/>
+ <source>This episode</source>
+- <translation>This episode</translation>
++ <translation>This Episode</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/scheduleeditor.cpp" line="59"/>
+ <source>This series</source>
+- <translation>This series</translation>
++ <translation>This Series</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/scheduleeditor.cpp" line="60"/>
+ <source>This time</source>
+- <translation>This time</translation>
++ <translation>This Time</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/scheduleeditor.cpp" line="61"/>
+ <source>This day and time</source>
+- <translation>This day and time</translation>
++ <translation>This Day and Time</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/scheduleeditor.cpp" line="62"/>
+ <source>This channel</source>
+- <translation>This channel</translation>
++ <translation>This Channel</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/scheduleeditor.cpp" line="63"/>
+ <source>No episodes</source>
+- <translation>No episodes</translation>
++ <translation>No Episodes</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/scheduleeditor.cpp" line="56"/>
+ <source>Commercial free</source>
+- <translation>Commercial free</translation>
++ <translation>Commercial Free</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/scheduleeditor.cpp" line="57"/>
+ <source>High definition</source>
+- <translation>High definition</translation>
++ <translation>High Definition</translation>
+ </message>
+ </context>
+ <context>
+ <name>ScheduleCommon</name>
+ <message>
+- <location filename="../programs/mythfrontend/schedulecommon.cpp" line="288"/>
++ <location filename="../programs/mythfrontend/schedulecommon.cpp" line="296"/>
+ <source>The following programs will be recorded instead:</source>
+- <translation>The following programs will be recorded instead:</translation>
++ <translation>Tthe Following Programs Will Be Recorded Instead:</translation>
++ </message>
++ <message>
++ <location filename="../programs/mythfrontend/schedulecommon.cpp" line="335"/>
++ <source>Watch This Channel</source>
++ <translation>Watch This Channel</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/schedulecommon.cpp" line="329"/>
+- <location filename="../programs/mythfrontend/schedulecommon.cpp" line="381"/>
+- <location filename="../programs/mythfrontend/schedulecommon.cpp" line="471"/>
++ <location filename="../programs/mythfrontend/schedulecommon.cpp" line="340"/>
++ <location filename="../programs/mythfrontend/schedulecommon.cpp" line="394"/>
++ <location filename="../programs/mythfrontend/schedulecommon.cpp" line="484"/>
+ <source>Record this showing</source>
+- <translation>Record this showing</translation>
++ <translation>Record This Showing</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/schedulecommon.cpp" line="331"/>
+- <location filename="../programs/mythfrontend/schedulecommon.cpp" line="482"/>
++ <location filename="../programs/mythfrontend/schedulecommon.cpp" line="342"/>
++ <location filename="../programs/mythfrontend/schedulecommon.cpp" line="495"/>
+ <source>Record all showings</source>
+- <translation>Record all showings</translation>
++ <translation>Record All Showings</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/schedulecommon.cpp" line="336"/>
+- <location filename="../programs/mythfrontend/schedulecommon.cpp" line="485"/>
++ <location filename="../programs/mythfrontend/schedulecommon.cpp" line="347"/>
++ <location filename="../programs/mythfrontend/schedulecommon.cpp" line="498"/>
+ <source>Record one showing</source>
+- <translation>Record one showing</translation>
++ <translation>Record One Showing</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/schedulecommon.cpp" line="339"/>
+- <location filename="../programs/mythfrontend/schedulecommon.cpp" line="484"/>
++ <location filename="../programs/mythfrontend/schedulecommon.cpp" line="350"/>
++ <location filename="../programs/mythfrontend/schedulecommon.cpp" line="497"/>
+ <source>Record one showing (this episode)</source>
+- <translation>Record one showing (this episode)</translation>
++ <translation>Record One Showing (this episode)</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/schedulecommon.cpp" line="343"/>
+- <location filename="../programs/mythfrontend/schedulecommon.cpp" line="491"/>
++ <location filename="../programs/mythfrontend/schedulecommon.cpp" line="354"/>
++ <location filename="../programs/mythfrontend/schedulecommon.cpp" line="504"/>
+ <source>Record all showings (this channel)</source>
+- <translation>Record all showings (this channel)</translation>
++ <translation>Record All Showings (this channel)</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/schedulecommon.cpp" line="345"/>
+- <location filename="../programs/mythfrontend/schedulecommon.cpp" line="445"/>
+- <location filename="../programs/mythfrontend/schedulecommon.cpp" line="521"/>
++ <location filename="../programs/mythfrontend/schedulecommon.cpp" line="356"/>
++ <location filename="../programs/mythfrontend/schedulecommon.cpp" line="458"/>
++ <location filename="../programs/mythfrontend/schedulecommon.cpp" line="534"/>
+ <source>Edit recording rule</source>
+- <translation>Edit recording rule</translation>
++ <translation>Edit Recording Rule</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/schedulecommon.cpp" line="352"/>
+- <location filename="../programs/mythfrontend/schedulecommon.cpp" line="497"/>
++ <location filename="../programs/mythfrontend/schedulecommon.cpp" line="365"/>
++ <location filename="../programs/mythfrontend/schedulecommon.cpp" line="510"/>
+ <source>Stop this recording</source>
+- <translation>Stop this recording</translation>
++ <translation>Stop This Recording</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/schedulecommon.cpp" line="354"/>
+- <location filename="../programs/mythfrontend/schedulecommon.cpp" line="501"/>
++ <location filename="../programs/mythfrontend/schedulecommon.cpp" line="367"/>
++ <location filename="../programs/mythfrontend/schedulecommon.cpp" line="514"/>
+ <source>Modify recording options</source>
+- <translation>Modify recording options</translation>
++ <translation>Modify Recording Options</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/schedulecommon.cpp" line="364"/>
+- <location filename="../programs/mythfrontend/schedulecommon.cpp" line="511"/>
++ <location filename="../programs/mythfrontend/schedulecommon.cpp" line="377"/>
++ <location filename="../programs/mythfrontend/schedulecommon.cpp" line="524"/>
+ <source>Restart this recording</source>
+- <translation>Restart this recording</translation>
++ <translation>Restart This Recording</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/schedulecommon.cpp" line="387"/>
+- <location filename="../programs/mythfrontend/schedulecommon.cpp" line="513"/>
++ <location filename="../programs/mythfrontend/schedulecommon.cpp" line="400"/>
++ <location filename="../programs/mythfrontend/schedulecommon.cpp" line="526"/>
+ <source>Forget previous recording</source>
+- <translation>Forget previous recording</translation>
++ <translation>Forget Previous Recording</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/schedulecommon.cpp" line="404"/>
+- <location filename="../programs/mythfrontend/schedulecommon.cpp" line="515"/>
++ <location filename="../programs/mythfrontend/schedulecommon.cpp" line="417"/>
++ <location filename="../programs/mythfrontend/schedulecommon.cpp" line="528"/>
+ <source>Don&apos;t record this showing</source>
+- <translation>Don&apos;t record this showing</translation>
++ <translation>Don&apos;t Record This Showing</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/schedulecommon.cpp" line="426"/>
+- <location filename="../programs/mythfrontend/schedulecommon.cpp" line="517"/>
++ <location filename="../programs/mythfrontend/schedulecommon.cpp" line="439"/>
++ <location filename="../programs/mythfrontend/schedulecommon.cpp" line="530"/>
+ <source>Never record this episode</source>
+- <translation>Never record this episode</translation>
++ <translation>Never Record This Episode</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/schedulecommon.cpp" line="434"/>
+- <location filename="../programs/mythfrontend/schedulecommon.cpp" line="522"/>
++ <location filename="../programs/mythfrontend/schedulecommon.cpp" line="447"/>
++ <location filename="../programs/mythfrontend/schedulecommon.cpp" line="535"/>
+ <source>Edit override rule</source>
+- <translation>Edit override rule</translation>
++ <translation>Edit Override Rule</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/schedulecommon.cpp" line="436"/>
+- <location filename="../programs/mythfrontend/schedulecommon.cpp" line="525"/>
++ <location filename="../programs/mythfrontend/schedulecommon.cpp" line="449"/>
++ <location filename="../programs/mythfrontend/schedulecommon.cpp" line="538"/>
+ <source>Delete override rule</source>
+- <translation>Delete override rule</translation>
++ <translation>Delete Override Rule</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/schedulecommon.cpp" line="443"/>
+- <location filename="../programs/mythfrontend/schedulecommon.cpp" line="502"/>
++ <location filename="../programs/mythfrontend/schedulecommon.cpp" line="456"/>
++ <location filename="../programs/mythfrontend/schedulecommon.cpp" line="515"/>
+ <source>Add override rule</source>
+- <translation>Add override rule</translation>
++ <translation>Add Override Rule</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/schedulecommon.cpp" line="447"/>
+- <location filename="../programs/mythfrontend/schedulecommon.cpp" line="524"/>
++ <location filename="../programs/mythfrontend/schedulecommon.cpp" line="460"/>
++ <location filename="../programs/mythfrontend/schedulecommon.cpp" line="537"/>
+ <source>Delete recording rule</source>
+- <translation>Delete recording rule</translation>
++ <translation>Delete Recording Rule</translation>
+ </message>
+ </context>
+ <context>
+@@ -21147,75 +21720,75 @@
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/scheduleeditor.cpp" line="576"/>
+- <location filename="../programs/mythfrontend/scheduleeditor.cpp" line="818"/>
++ <location filename="../programs/mythfrontend/scheduleeditor.cpp" line="819"/>
+ <source>Main Options</source>
+ <translation>Main Options</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/scheduleeditor.cpp" line="578"/>
+- <location filename="../programs/mythfrontend/scheduleeditor.cpp" line="820"/>
++ <location filename="../programs/mythfrontend/scheduleeditor.cpp" line="821"/>
+ <source>Schedule Options</source>
+ <translation>Schedule Options</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/scheduleeditor.cpp" line="580"/>
+- <location filename="../programs/mythfrontend/scheduleeditor.cpp" line="822"/>
++ <location filename="../programs/mythfrontend/scheduleeditor.cpp" line="823"/>
+ <source>Filter Options</source>
+ <translation>Filter Options</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/scheduleeditor.cpp" line="582"/>
+- <location filename="../programs/mythfrontend/scheduleeditor.cpp" line="824"/>
++ <location filename="../programs/mythfrontend/scheduleeditor.cpp" line="825"/>
+ <source>Storage Options</source>
+ <translation>Storage Options</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/scheduleeditor.cpp" line="584"/>
+- <location filename="../programs/mythfrontend/scheduleeditor.cpp" line="826"/>
++ <location filename="../programs/mythfrontend/scheduleeditor.cpp" line="827"/>
+ <source>Post Processing</source>
+ <translation>Post Processing</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/scheduleeditor.cpp" line="586"/>
+- <location filename="../programs/mythfrontend/scheduleeditor.cpp" line="829"/>
++ <location filename="../programs/mythfrontend/scheduleeditor.cpp" line="830"/>
+ <source>Metadata Options</source>
+ <translation>Metadata Options</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/scheduleeditor.cpp" line="588"/>
+- <location filename="../programs/mythfrontend/scheduleeditor.cpp" line="834"/>
++ <location filename="../programs/mythfrontend/scheduleeditor.cpp" line="835"/>
+ <source>Use Template</source>
+ <translation>Use Template</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/scheduleeditor.cpp" line="590"/>
+- <location filename="../programs/mythfrontend/scheduleeditor.cpp" line="831"/>
++ <location filename="../programs/mythfrontend/scheduleeditor.cpp" line="832"/>
+ <source>Schedule Info</source>
+ <translation>Schedule Info</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/scheduleeditor.cpp" line="592"/>
+- <location filename="../programs/mythfrontend/scheduleeditor.cpp" line="833"/>
++ <location filename="../programs/mythfrontend/scheduleeditor.cpp" line="834"/>
+ <source>Preview Changes</source>
+ <translation>Preview Changes</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/scheduleeditor.cpp" line="805"/>
++ <location filename="../programs/mythfrontend/scheduleeditor.cpp" line="806"/>
+ <source>Options</source>
+ <translation>Options</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/scheduleeditor.cpp" line="848"/>
++ <location filename="../programs/mythfrontend/scheduleeditor.cpp" line="849"/>
+ <source>No templates available</source>
+- <translation>No templates available</translation>
++ <translation>No Templates Available</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/scheduleeditor.cpp" line="852"/>
++ <location filename="../programs/mythfrontend/scheduleeditor.cpp" line="853"/>
+ <source>Template Options</source>
+ <translation>Template Options</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/scheduleeditor.cpp" line="864"/>
++ <location filename="../programs/mythfrontend/scheduleeditor.cpp" line="865"/>
+ <source>Default</source>
+ <translation>Default</translation>
+ </message>
+@@ -21251,7 +21824,7 @@
+ <message>
+ <location filename="../libs/libmyth/schemawizard.cpp" line="249"/>
+ <source>Error: This version of Myth%1 requires MySQL %2.%3.%4 or later. You seem to be running MySQL version %5.</source>
+- <translation>Error: This version of Myth%1 requires MySQL %2.%3.%4 or later. You seem to be running MySQL version %5.</translation>
++ <translation>Error: This version of Myth%1 requires MySQL %2.%3.%4 or later. You seem to be running MySQL version %5.</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmyth/schemawizard.cpp" line="317"/>
+@@ -21316,7 +21889,7 @@
+ <message>
+ <location filename="../libs/libmyth/schemawizard.cpp" line="402"/>
+ <source>This cannot be un-done, so having a database backup would be a good idea.</source>
+- <translation>This cannot be un-done, so having a database backup would be a good idea.</translation>
++ <translation>This cannot be undone, so having a database backup would be a good idea.</translation>
+ </message>
+ </context>
+ <context>
+@@ -21324,68 +21897,116 @@
+ <message>
+ <location filename="../libs/libmythtv/signalmonitorvalue.cpp" line="24"/>
+ <source>Could not open tuner device</source>
+- <translation>Could not open tuner device</translation>
++ <translation>Could Not Open Tuner Device</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/signalmonitorvalue.cpp" line="25"/>
+ <source>Bad connection to backend</source>
+- <translation>Bad connection to backend</translation>
++ <translation>Bad Connection to Backend</translation>
+ </message>
+ </context>
+ <context>
+ <name>SlideSettings</name>
+ <message>
+- <location filename="../programs/mythfrontend/galleryconfig.cpp" line="68"/>
++ <location filename="../programs/mythfrontend/galleryconfig.cpp" line="73"/>
+ <source>Slideshow</source>
+ <translation>Slideshow</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/galleryconfig.cpp" line="71"/>
++ <location filename="../programs/mythfrontend/galleryconfig.cpp" line="76"/>
+ <source>Transition</source>
+ <translation>Transition</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/galleryconfig.cpp" line="72"/>
++ <location filename="../programs/mythfrontend/galleryconfig.cpp" line="77"/>
+ <source>Effect to use between slides</source>
+- <translation>Effect to use between slides</translation>
++ <translation>Effect to Use Between Slides</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/galleryconfig.cpp" line="86"/>
++ <location filename="../programs/mythfrontend/galleryconfig.cpp" line="91"/>
+ <source>Slide Duration (ms)</source>
+ <translation>Slide Duration (ms)</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/galleryconfig.cpp" line="87"/>
++ <location filename="../programs/mythfrontend/galleryconfig.cpp" line="92"/>
+ <source>The time that a slide is displayed (between transitions), in milliseconds.</source>
+ <translation>The time that a slide is displayed (between transitions), in milliseconds.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/galleryconfig.cpp" line="92"/>
++ <location filename="../programs/mythfrontend/galleryconfig.cpp" line="97"/>
+ <source>Transition Duration (ms)</source>
+ <translation>Transition Duration (ms)</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/galleryconfig.cpp" line="93"/>
++ <location filename="../programs/mythfrontend/galleryconfig.cpp" line="98"/>
+ <source>The time that each transition lasts, in milliseconds.</source>
+ <translation>The time that each transition lasts, in milliseconds.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/galleryconfig.cpp" line="97"/>
++ <location filename="../programs/mythfrontend/galleryconfig.cpp" line="102"/>
++ <source>Status Delay (ms)</source>
++ <translation>Status Delay (ms)</translation>
++ </message>
++ <message>
++ <location filename="../programs/mythfrontend/galleryconfig.cpp" line="103"/>
++ <source>The delay before showing the Loading/Playing status, in milliseconds.</source>
++ <translation>The delay before showing the Loading/Playing status, in milliseconds.</translation>
++ </message>
++ <message>
++ <location filename="../programs/mythfrontend/galleryconfig.cpp" line="108"/>
+ <source>Use transitions when browsing</source>
+- <translation>Use transitions when browsing</translation>
++ <translation>Use Transitions When Browsing</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/galleryconfig.cpp" line="98"/>
++ <location filename="../programs/mythfrontend/galleryconfig.cpp" line="109"/>
+ <source>When cleared, transitions will only be used during a slideshow.</source>
+ <translation>When cleared, transitions will only be used during a slideshow.</translation>
+ </message>
+ </context>
+ <context>
++ <name>StandardSettingDialog</name>
++ <message>
++ <location filename="../libs/libmyth/standardsettings.cpp" line="1002"/>
++ <source>Exit ?</source>
++ <translation>Exit Settings?</translation>
++ </message>
++ <message>
++ <location filename="../libs/libmyth/standardsettings.cpp" line="1016"/>
++ <source>Save then Exit</source>
++ <translation>Save and Exit</translation>
++ </message>
++ <message>
++ <location filename="../libs/libmyth/standardsettings.cpp" line="1017"/>
++ <source>Exit without saving changes</source>
++ <translation>Exit Without Saving</translation>
++ </message>
++ <message>
++ <location filename="../libs/libmyth/standardsettings.cpp" line="1018"/>
++ <source>Cancel</source>
++ <translation>Cancel</translation>
++ </message>
++ <message>
++ <location filename="../libs/libmyth/standardsettings.cpp" line="1092"/>
++ <source>Edit</source>
++ <translation>Edit</translation>
++ </message>
++ <message>
++ <location filename="../libs/libmyth/standardsettings.cpp" line="1094"/>
++ <source>Delete</source>
++ <translation>Delete</translation>
++ </message>
++ <message>
++ <location filename="../libs/libmyth/standardsettings.cpp" line="1130"/>
++ <source>Do you want to delete the &apos;%1&apos; entry?</source>
++ <translation>Do you want to delete the &apos;%1&apos; entry?</translation>
++ </message>
++</context>
++<context>
+ <name>StartPrompter</name>
+ <message>
+ <location filename="../programs/mythtv-setup/startprompt.cpp" line="72"/>
+ <source>WARNING: The backend is currently running.</source>
+- <translation>WARNING: The backend is currently running.</translation>
++ <translation>Warning: The backend is currently running.</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythtv-setup/startprompt.cpp" line="73"/>
+@@ -21395,7 +22016,7 @@
+ <message>
+ <location filename="../programs/mythtv-setup/startprompt.cpp" line="77"/>
+ <source>Recording Status: RECORDING.</source>
+- <translation>Recording Status: RECORDING.</translation>
++ <translation>Recording Status: Recording</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythtv-setup/startprompt.cpp" line="78"/>
+@@ -21405,7 +22026,7 @@
+ <message>
+ <location filename="../programs/mythtv-setup/startprompt.cpp" line="82"/>
+ <source>Recording Status: None.</source>
+- <translation>Recording Status: None.</translation>
++ <translation>Recording Status: None</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythtv-setup/startprompt.cpp" line="103"/>
+@@ -21426,15 +22047,15 @@
+ <context>
+ <name>StartingChannel</name>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="3318"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="3237"/>
+ <source>Please add channels to this source</source>
+- <translation>Please add channels to this source</translation>
++ <translation>Please Add Channels to This Source</translation>
+ </message>
+ </context>
+ <context>
+ <name>StatusBox</name>
+ <message numerus="yes">
+- <location filename="../programs/mythfrontend/statusbox.cpp" line="1435"/>
++ <location filename="../programs/mythfrontend/statusbox.cpp" line="1442"/>
+ <source>%n (is) LiveTV and consume(s) %1
+ </source>
+ <translation>
+@@ -21445,7 +22066,7 @@
+ </translation>
+ </message>
+ <message numerus="yes">
+- <location filename="../programs/mythfrontend/statusbox.cpp" line="1439"/>
++ <location filename="../programs/mythfrontend/statusbox.cpp" line="1446"/>
+ <source>%n (is) Deleted and consume(s) %1
+ </source>
+ <translation>
+@@ -21457,7 +22078,7 @@
+ </message>
+ <message numerus="yes">
+ <location filename="../programs/mythfrontend/statusbox.cpp" line="592"/>
+- <location filename="../programs/mythfrontend/statusbox.cpp" line="1123"/>
++ <location filename="../programs/mythfrontend/statusbox.cpp" line="1130"/>
+ <source>%n day(s)</source>
+ <translation>
+ <numerusform>%n day</numerusform>
+@@ -21568,7 +22189,7 @@
+ <message>
+ <location filename="../programs/mythfrontend/statusbox.cpp" line="370"/>
+ <source>Move to Default group</source>
+- <translation>Move to Default group</translation>
++ <translation>Move to Default Group</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/statusbox.cpp" line="374"/>
+@@ -21588,7 +22209,7 @@
+ <message>
+ <location filename="../programs/mythfrontend/statusbox.cpp" line="546"/>
+ <source>Mythfrontend version: %1 (%2)</source>
+- <translation>Mythfrontend version: %1 (%2)</translation>
++ <translation>mythfrontend version: %1 (%2)</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/statusbox.cpp" line="548"/>
+@@ -21633,7 +22254,7 @@
+ <message>
+ <location filename="../programs/mythfrontend/statusbox.cpp" line="597"/>
+ <source>WARNING: is mythfilldatabase running?</source>
+- <translation>WARNING: is mythfilldatabase running?</translation>
++ <translation>Warning: is mythfilldatabase running?</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/statusbox.cpp" line="602"/>
+@@ -21678,47 +22299,47 @@
+ </translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/statusbox.cpp" line="766"/>
++ <location filename="../programs/mythfrontend/statusbox.cpp" line="773"/>
+ <source>with lower priority</source>
+ <translation>with lower priority</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/statusbox.cpp" line="772"/>
++ <location filename="../programs/mythfrontend/statusbox.cpp" line="779"/>
+ <source>marked as HDTV</source>
+ <translation>marked as HDTV</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/statusbox.cpp" line="782"/>
++ <location filename="../programs/mythfrontend/statusbox.cpp" line="789"/>
+ <source>from source</source>
+ <translation>from source</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/statusbox.cpp" line="804"/>
++ <location filename="../programs/mythfrontend/statusbox.cpp" line="811"/>
+ <source>Tuner Status shows the current information about the state of backend tuner cards</source>
+ <translation>Tuner Status shows the current information about the state of backend tuner cards</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/statusbox.cpp" line="845"/>
++ <location filename="../programs/mythfrontend/statusbox.cpp" line="852"/>
+ <source>has an error</source>
+ <translation>has an error</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/statusbox.cpp" line="847"/>
++ <location filename="../programs/mythfrontend/statusbox.cpp" line="854"/>
+ <source>is unavailable</source>
+ <translation>is unavailable</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/statusbox.cpp" line="849"/>
++ <location filename="../programs/mythfrontend/statusbox.cpp" line="856"/>
+ <source>is asleep</source>
+ <translation>is asleep</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/statusbox.cpp" line="854"/>
++ <location filename="../programs/mythfrontend/statusbox.cpp" line="861"/>
+ <source>is watching Live TV</source>
+ <translation>is watching Live TV</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/statusbox.cpp" line="916"/>
++ <location filename="../programs/mythfrontend/statusbox.cpp" line="923"/>
+ <source>On %1 from %2.%3
+ %4
+ </source>
+@@ -21726,27 +22347,27 @@
+ %4</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/statusbox.cpp" line="928"/>
++ <location filename="../programs/mythfrontend/statusbox.cpp" line="935"/>
+ <source>No further details</source>
+ <translation>No further details</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/statusbox.cpp" line="949"/>
++ <location filename="../programs/mythfrontend/statusbox.cpp" line="956"/>
+ <source>Job Queue shows any jobs currently in MythTV&apos;s Job Queue such as a commercial detection job.</source>
+ <translation>Job Queue shows any jobs currently in MythTV&apos;s Job Queue such as a commercial detection job.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/statusbox.cpp" line="1057"/>
++ <location filename="../programs/mythfrontend/statusbox.cpp" line="1064"/>
+ <source>%1 total, %2 used, %3 (or %4%) free.</source>
+ <translation>%1 total, %2 used, %3 (or %4%) free.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/statusbox.cpp" line="1074"/>
++ <location filename="../programs/mythfrontend/statusbox.cpp" line="1081"/>
+ <source>, using your %1 rate of %2 kb/s</source>
+ <translation>, using your %1 rate of %2 kb/s</translation>
+ </message>
+ <message numerus="yes">
+- <location filename="../programs/mythfrontend/statusbox.cpp" line="1090"/>
++ <location filename="../programs/mythfrontend/statusbox.cpp" line="1097"/>
+ <source>%n hour(s)</source>
+ <translation>
+ <numerusform>%n hour</numerusform>
+@@ -21754,7 +22375,7 @@
+ </translation>
+ </message>
+ <message numerus="yes">
+- <location filename="../programs/mythfrontend/statusbox.cpp" line="1091"/>
++ <location filename="../programs/mythfrontend/statusbox.cpp" line="1098"/>
+ <source>%n minute(s)</source>
+ <translation>
+ <numerusform>%n minute</numerusform>
+@@ -21762,178 +22383,178 @@
+ </translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/statusbox.cpp" line="1092"/>
++ <location filename="../programs/mythfrontend/statusbox.cpp" line="1099"/>
+ <source>%1 remaining</source>
+ <comment>time</comment>
+ <translation>%1 remaining</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/statusbox.cpp" line="1096"/>
++ <location filename="../programs/mythfrontend/statusbox.cpp" line="1103"/>
+ <source>%1 and %2 remaining</source>
+ <comment>time</comment>
+ <translation>%1 and %2 remaining</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/statusbox.cpp" line="1108"/>
++ <location filename="../programs/mythfrontend/statusbox.cpp" line="1115"/>
+ <source>Uptime</source>
+ <translation>Uptime</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/statusbox.cpp" line="1111"/>
++ <location filename="../programs/mythfrontend/statusbox.cpp" line="1118"/>
+ <source>unknown</source>
+ <comment>unknown uptime</comment>
+ <translation>unknown</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/statusbox.cpp" line="1161"/>
++ <location filename="../programs/mythfrontend/statusbox.cpp" line="1168"/>
+ <source>average</source>
+ <comment>average rate</comment>
+ <translation>average</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/statusbox.cpp" line="1181"/>
++ <location filename="../programs/mythfrontend/statusbox.cpp" line="1188"/>
+ <source>maximum</source>
+ <comment>maximum rate</comment>
+ <translation>maximum</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/statusbox.cpp" line="857"/>
++ <location filename="../programs/mythfrontend/statusbox.cpp" line="864"/>
+ <source>is recording</source>
+ <translation>is recording</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/statusbox.cpp" line="792"/>
++ <location filename="../programs/mythfrontend/statusbox.cpp" line="799"/>
+ <source>on card</source>
+ <translation>on card</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/statusbox.cpp" line="859"/>
++ <location filename="../programs/mythfrontend/statusbox.cpp" line="866"/>
+ <source>is not recording</source>
+ <translation>is not recording</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/statusbox.cpp" line="861"/>
++ <location filename="../programs/mythfrontend/statusbox.cpp" line="868"/>
+ <source>Tuner %1 %2 %3</source>
+ <translation>Tuner %1 %2 %3</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/statusbox.cpp" line="894"/>
++ <location filename="../programs/mythfrontend/statusbox.cpp" line="901"/>
+ <source>Log Entries shows any unread log entries from the system if you have logging enabled</source>
+ <translation>Log Entries shows any unread log entries from the system if you have logging enabled</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/statusbox.cpp" line="936"/>
++ <location filename="../programs/mythfrontend/statusbox.cpp" line="943"/>
+ <source>No items found at priority level %1 or lower.</source>
+ <translation>No items found at priority level %1 or lower.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/statusbox.cpp" line="938"/>
++ <location filename="../programs/mythfrontend/statusbox.cpp" line="945"/>
+ <source>Use 1-8 to change priority level.</source>
+ <translation>Use 1-8 to change priority level.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/statusbox.cpp" line="983"/>
++ <location filename="../programs/mythfrontend/statusbox.cpp" line="990"/>
+ <source>Job:</source>
+ <translation>Job:</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/statusbox.cpp" line="985"/>
++ <location filename="../programs/mythfrontend/statusbox.cpp" line="992"/>
+ <source>Status: </source>
+ <translation>Status: </translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/statusbox.cpp" line="992"/>
++ <location filename="../programs/mythfrontend/statusbox.cpp" line="999"/>
+ <source>Scheduled Run Time:</source>
+ <translation>Scheduled Run Time:</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/statusbox.cpp" line="1015"/>
++ <location filename="../programs/mythfrontend/statusbox.cpp" line="1022"/>
+ <source>Job Queue is currently empty.</source>
+ <translation>Job Queue is currently empty.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/statusbox.cpp" line="1203"/>
++ <location filename="../programs/mythfrontend/statusbox.cpp" line="1210"/>
+ <source>Machine Status shows some operating system statistics of this machine</source>
+ <translation>Machine Status shows some operating system statistics of this machine</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/statusbox.cpp" line="1206"/>
++ <location filename="../programs/mythfrontend/statusbox.cpp" line="1213"/>
+ <source>and the MythTV server</source>
+ <translation>and the MythTV server</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/statusbox.cpp" line="1219"/>
++ <location filename="../programs/mythfrontend/statusbox.cpp" line="1226"/>
+ <source>System:</source>
+ <translation>System:</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/statusbox.cpp" line="1221"/>
++ <location filename="../programs/mythfrontend/statusbox.cpp" line="1228"/>
+ <source>This machine:</source>
+ <translation>This machine:</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/statusbox.cpp" line="1230"/>
+- <location filename="../programs/mythfrontend/statusbox.cpp" line="1278"/>
++ <location filename="../programs/mythfrontend/statusbox.cpp" line="1237"/>
++ <location filename="../programs/mythfrontend/statusbox.cpp" line="1285"/>
+ <source>Load</source>
+ <translation>Load</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/statusbox.cpp" line="1233"/>
+- <location filename="../programs/mythfrontend/statusbox.cpp" line="1237"/>
+- <location filename="../programs/mythfrontend/statusbox.cpp" line="1288"/>
++ <location filename="../programs/mythfrontend/statusbox.cpp" line="1240"/>
++ <location filename="../programs/mythfrontend/statusbox.cpp" line="1244"/>
++ <location filename="../programs/mythfrontend/statusbox.cpp" line="1295"/>
+ <source>unknown</source>
+ <translation>unknown</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/statusbox.cpp" line="1233"/>
+- <location filename="../programs/mythfrontend/statusbox.cpp" line="1237"/>
++ <location filename="../programs/mythfrontend/statusbox.cpp" line="1240"/>
++ <location filename="../programs/mythfrontend/statusbox.cpp" line="1244"/>
+ <source>failed</source>
+ <translation>failed</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/statusbox.cpp" line="1255"/>
+- <location filename="../programs/mythfrontend/statusbox.cpp" line="1298"/>
++ <location filename="../programs/mythfrontend/statusbox.cpp" line="1262"/>
++ <location filename="../programs/mythfrontend/statusbox.cpp" line="1305"/>
+ <source>RAM</source>
+ <translation>RAM</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/statusbox.cpp" line="1261"/>
+- <location filename="../programs/mythfrontend/statusbox.cpp" line="1306"/>
++ <location filename="../programs/mythfrontend/statusbox.cpp" line="1268"/>
++ <location filename="../programs/mythfrontend/statusbox.cpp" line="1313"/>
+ <source>Swap</source>
+ <translation>Swap</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/statusbox.cpp" line="1269"/>
++ <location filename="../programs/mythfrontend/statusbox.cpp" line="1276"/>
+ <source>MythTV server</source>
+- <translation>MythTV server</translation>
++ <translation>MythTV Server</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/statusbox.cpp" line="1339"/>
++ <location filename="../programs/mythfrontend/statusbox.cpp" line="1346"/>
+ <source>Total Disk Space:</source>
+ <translation>Total Disk Space:</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/statusbox.cpp" line="1344"/>
++ <location filename="../programs/mythfrontend/statusbox.cpp" line="1351"/>
+ <source>MythTV Drive #%1:</source>
+ <translation>MythTV Drive #%1:</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/statusbox.cpp" line="1351"/>
++ <location filename="../programs/mythfrontend/statusbox.cpp" line="1358"/>
+ <source>Directories:</source>
+ <translation>Directories:</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/statusbox.cpp" line="1360"/>
++ <location filename="../programs/mythfrontend/statusbox.cpp" line="1367"/>
+ <source>Directory:</source>
+ <translation>Directory:</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/statusbox.cpp" line="1384"/>
++ <location filename="../programs/mythfrontend/statusbox.cpp" line="1391"/>
+ <source>The AutoExpire List shows all recordings which may be expired and the order of their expiration. Recordings at the top of the list will be expired first.</source>
+ <translation>The AutoExpire List shows all recordings which may be expired and the order of their expiration. Recordings at the top of the list will be expired first.</translation>
+ </message>
+ <message numerus="yes">
+- <location filename="../programs/mythfrontend/statusbox.cpp" line="1431"/>
++ <location filename="../programs/mythfrontend/statusbox.cpp" line="1438"/>
+ <source>%n recording(s) consuming %1 (is) allowed to expire
+ </source>
+ <translation>
+@@ -21945,58 +22566,81 @@
+ </message>
+ </context>
+ <context>
++ <name>StorageGroupDirSetting</name>
++ <message>
++ <location filename="../libs/libmyth/storagegroupeditor.cpp" line="203"/>
++ <source>Remove &apos;%1&apos;
++Directory From Storage Group?</source>
++ <translation>Remove &apos;%1&apos;
++Directory from Storage Group?</translation>
++ </message>
++</context>
++<context>
+ <name>StorageGroupEditor</name>
+ <message>
+- <location filename="../libs/libmyth/storagegroupeditor.cpp" line="69"/>
++ <location filename="../libs/libmyth/storagegroupeditor.cpp" line="32"/>
++ <location filename="../libs/libmyth/storagegroupeditor.cpp" line="79"/>
+ <source>Default</source>
+ <comment>Default storage group</comment>
+ <translation>Default</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/storagegroupeditor.cpp" line="76"/>
++ <location filename="../libs/libmyth/storagegroupeditor.cpp" line="39"/>
+ <source>&apos;%1&apos; Storage Group Directories</source>
+ <translation>&apos;%1&apos; Storage Group Directories</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/storagegroupeditor.cpp" line="80"/>
++ <location filename="../libs/libmyth/storagegroupeditor.cpp" line="43"/>
+ <source>Local &apos;%1&apos; Storage Group Directories</source>
+ <translation>Local &apos;%1&apos; Storage Group Directories</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/storagegroupeditor.cpp" line="96"/>
++ <location filename="../libs/libmyth/storagegroupeditor.cpp" line="84"/>
++ <source>Delete &apos;%1&apos; Storage Group?</source>
++ <translation>Delete &apos;%1&apos; Storage Group?</translation>
++ </message>
++ <message>
++ <location filename="../libs/libmyth/storagegroupeditor.cpp" line="89"/>
++ <source>Delete &apos;%1&apos; Storage Group?
++(from remote hosts)</source>
++ <translation>Delete &apos;%1&apos; Storage Group?
++(from remote hosts)</translation>
++ </message>
++ <message>
++ <location filename="../libs/libmyth/storagegroupeditor.cpp" line="93"/>
++ <source>Delete &apos;%1&apos; Storage Group?
++(from all hosts)</source>
++ <translation>Delete &apos;%1&apos; Storage Group?
++(from all hosts)</translation>
++ </message>
++ <message>
+ <source>Add Storage Group Directory</source>
+- <translation>Add Storage Group Directory</translation>
++ <translation type="vanished">Add Storage Group Directory</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/storagegroupeditor.cpp" line="97"/>
+- <location filename="../libs/libmyth/storagegroupeditor.cpp" line="122"/>
+ <source>Enter directory name or press SELECT to enter text via the On Screen Keyboard</source>
+- <translation>Enter directory name or press SELECT to enter text via the On Screen Keyboard</translation>
++ <translation type="vanished">Enter directory name or press SELECT to enter text via the On Screen Keyboard</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/storagegroupeditor.cpp" line="121"/>
+ <source>Edit Storage Group Directory</source>
+- <translation>Edit Storage Group Directory</translation>
++ <translation type="vanished">Edit Storage Group Directory</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/storagegroupeditor.cpp" line="161"/>
+ <source>Remove &apos;%1&apos;
+ Directory From Storage Group?</source>
+- <translation>Remove &apos;%1&apos;
++ <translation type="vanished">Remove &apos;%1&apos;
+ Directory From Storage Group?</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/storagegroupeditor.cpp" line="165"/>
+ <source>Yes, remove directory</source>
+- <translation>Yes, remove directory</translation>
++ <translation type="vanished">Yes, Remove Directory</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/storagegroupeditor.cpp" line="166"/>
+ <source>No, Don&apos;t remove directory</source>
+- <translation>No, Don&apos;t remove directory</translation>
++ <translation type="vanished">No, Keep Directory</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/storagegroupeditor.cpp" line="223"/>
++ <location filename="../libs/libmyth/storagegroupeditor.cpp" line="242"/>
+ <source>(Add New Directory)</source>
+ <translation>(Add New Directory)</translation>
+ </message>
+@@ -22004,168 +22648,170 @@
+ <context>
+ <name>StorageGroupListEditor</name>
+ <message>
+- <location filename="../libs/libmyth/storagegroupeditor.cpp" line="254"/>
++ <location filename="../libs/libmyth/storagegroupeditor.cpp" line="343"/>
+ <source>Storage Groups (directories for new recordings)</source>
+ <translation>Storage Groups (directories for new recordings)</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/storagegroupeditor.cpp" line="257"/>
++ <location filename="../libs/libmyth/storagegroupeditor.cpp" line="345"/>
+ <source>Local Storage Groups (directories for new recordings)</source>
+ <translation>Local Storage Groups (directories for new recordings)</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/storagegroupeditor.cpp" line="277"/>
+ <source>Create New Storage Group</source>
+- <translation>Create New Storage Group</translation>
++ <translation type="vanished">Create New Storage Group</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/storagegroupeditor.cpp" line="278"/>
+ <source>Enter group name or press SELECT to enter text via the On Screen Keyboard</source>
+- <translation>Enter group name or press SELECT to enter text via the On Screen Keyboard</translation>
++ <translation type="vanished">Enter group name or press SELECT to enter text via the On Screen Keyboard</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/storagegroupeditor.cpp" line="302"/>
+- <location filename="../libs/libmyth/storagegroupeditor.cpp" line="401"/>
++ <location filename="../libs/libmyth/storagegroupeditor.cpp" line="395"/>
+ <source>Default</source>
+ <comment>Default storage group</comment>
+ <translation>Default</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/storagegroupeditor.cpp" line="307"/>
+ <source>Delete &apos;%1&apos; Storage Group?</source>
+- <translation>Delete &apos;%1&apos; Storage Group?</translation>
++ <translation type="vanished">Delete &apos;%1&apos; Storage Group?</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/storagegroupeditor.cpp" line="312"/>
+ <source>Delete &apos;%1&apos; Storage Group?
+ (from remote hosts)</source>
+- <translation>Delete &apos;%1&apos; Storage Group?
++ <translation type="vanished">Delete &apos;%1&apos; Storage Group?
+ (from remote hosts)</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/storagegroupeditor.cpp" line="316"/>
+ <source>Delete &apos;%1&apos; Storage Group?
+ (from all hosts)</source>
+- <translation>Delete &apos;%1&apos; Storage Group?
++ <translation type="vanished">Delete &apos;%1&apos; Storage Group?
+ (from all hosts)</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/storagegroupeditor.cpp" line="323"/>
+ <source>Yes, delete group</source>
+- <translation>Yes, delete group</translation>
++ <translation type="vanished">Yes, Delete Group</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/storagegroupeditor.cpp" line="324"/>
+ <source>No, Don&apos;t delete group</source>
+- <translation>No, Don&apos;t delete group</translation>
++ <translation type="vanished">No, Keep Group</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/storagegroupeditor.cpp" line="437"/>
++ <location filename="../libs/libmyth/storagegroupeditor.cpp" line="427"/>
+ <source>(Create default group)</source>
+- <translation>(Create default group)</translation>
++ <translation>(Create Default Group)</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/storagegroupeditor.cpp" line="446"/>
+- <location filename="../libs/libmyth/storagegroupeditor.cpp" line="464"/>
++ <location filename="../libs/libmyth/storagegroupeditor.cpp" line="435"/>
++ <location filename="../libs/libmyth/storagegroupeditor.cpp" line="457"/>
+ <source>(Create %1 group)</source>
+- <translation>(Create %1 group)</translation>
++ <translation>(Create %1 Group)</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmyth/storagegroupeditor.cpp" line="454"/>
++ <location filename="../libs/libmyth/storagegroupeditor.cpp" line="445"/>
+ <source>(Create new group)</source>
+- <translation>(Create new group)</translation>
++ <translation>(Create New Group)</translation>
++ </message>
++ <message>
++ <location filename="../libs/libmyth/storagegroupeditor.cpp" line="473"/>
++ <source>Enter the name of the new storage group</source>
++ <translation>Enter group name:</translation>
++ </message>
++ <message>
++ <location filename="../libs/libmyth/storagegroupeditor.cpp" line="490"/>
++ <source> Storage Group Directories</source>
++ <translation> Storage Group Directories</translation>
+ </message>
+ </context>
+ <context>
+ <name>TV</name>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="1891"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="1893"/>
+ <source>MythTV wants to record &quot;%1&quot; on %2 in %d seconds. Do you want to:</source>
+ <translation>MythTV wants to record &quot;%1&quot; on %2 in %d seconds. Do you want to:</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="1894"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="1896"/>
+ <source>Record and watch while it records</source>
+- <translation>Record and watch while it records</translation>
++ <translation>Record and Watch While It Records</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="1895"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="1897"/>
+ <source>Let it record and go back to the Main Menu</source>
+- <translation>Let it record and go back to the Main Menu</translation>
++ <translation>Let It Record and Go Back to the Main Menu</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="1896"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="1898"/>
+ <source>Let them record and go back to the Main Menu</source>
+- <translation>Let them record and go back to the Main Menu</translation>
++ <translation>Let Them Record and Go Back to the Main Menu</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="1897"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="1899"/>
+ <source>Record it later, I want to watch TV</source>
+- <translation>Record it later, I want to watch TV</translation>
++ <translation>Record It Later, I Want to Watch TV</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="1898"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="1900"/>
+ <source>Record them later, I want to watch TV</source>
+- <translation>Record them later, I want to watch TV</translation>
++ <translation>Record Them Later, I Want to Watch TV</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="1899"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="1901"/>
+ <source>Don&apos;t let it record, I want to watch TV</source>
+- <translation>Don&apos;t let it record, I want to watch TV</translation>
++ <translation>Don&apos;t Let It Record, I Want to Watch TV</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="1900"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="1902"/>
+ <source>Don&apos;t let them record, I want to watch TV</source>
+- <translation>Don&apos;t let them record, I want to watch TV</translation>
++ <translation>Don&apos;t Let Them Record, I Want to Watch TV</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="2556"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="2558"/>
+ <source>%1 Settings</source>
+ <translation>%1 Settings</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="2948"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="2961"/>
+ <source>Last Program: %1 Doesn&apos;t Exist</source>
+ <translation>Last Program: %1 Doesn&apos;t Exist</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="3520"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="3534"/>
+ <source>End Of Recording</source>
+- <translation>End Of Recording</translation>
++ <translation>End of Recording</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="4324"/>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="4353"/>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="4370"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="4338"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="4367"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="4384"/>
+ <source>Zoom Committed</source>
+ <translation>Zoom Committed</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="4375"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="4389"/>
+ <source>Zoom Ignored</source>
+ <translation>Zoom Ignored</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="6765"/>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="12145"/>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="13088"/>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="13116"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="6779"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12076"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="13019"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="13047"/>
+ <source>Jump Back</source>
+ <translation>Jump Back</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="5320"/>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="6680"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="5334"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="6694"/>
+ <source>Skip Back</source>
+ <translation>Skip Back</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="4606"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="4620"/>
+ <source>Seek:</source>
+ <translation>Seek:</translation>
+ </message>
+ <message numerus="yes">
+- <location filename="../libs/libmythtv/tv_play.cpp" line="5953"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="5967"/>
+ <source>Sorry, PBP only supports %n video stream(s)</source>
+ <translation>
+ <numerusform>Sorry, PBP only supports %n video stream</numerusform>
+@@ -22173,7 +22819,7 @@
+ </translation>
+ </message>
+ <message numerus="yes">
+- <location filename="../libs/libmythtv/tv_play.cpp" line="5960"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="5974"/>
+ <source>Sorry, PIP only supports %n video stream(s)</source>
+ <translation>
+ <numerusform>Sorry, PIP only supports %n video stream</numerusform>
+@@ -22181,266 +22827,266 @@
+ </translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="6642"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="6656"/>
+ <source>Forward</source>
+ <translation>Forward</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="5316"/>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="6687"/>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="6691"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="5330"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="6701"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="6705"/>
+ <source>Skip Ahead</source>
+ <translation>Skip Ahead</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="6641"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="6655"/>
+ <source>Rewind</source>
+ <translation>Rewind</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="6762"/>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="12140"/>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="13076"/>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="13161"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="6776"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12071"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="13007"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="13092"/>
+ <source>Jump Ahead</source>
+ <translation>Jump Ahead</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="4647"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="4661"/>
+ <source>Jump to Bookmark</source>
+ <translation>Jump to Bookmark</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="4653"/>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="5312"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="4667"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="5326"/>
+ <source>Jump to Beginning</source>
+ <translation>Jump to Beginning</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="6744"/>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="6779"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="6758"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="6793"/>
+ <source>Jump To</source>
+ <translation>Jump To</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="5982"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="5996"/>
+ <source>Creating PBP</source>
+ <translation>Creating PBP</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="1638"/>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="1639"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="1640"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="1641"/>
+ <source>External Subtitles</source>
+ <translation>External Subtitles</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="5078"/>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="13427"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="5092"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="13358"/>
+ <source>Are you sure you want to delete:</source>
+ <translation>Are you sure you want to delete:</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="5982"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="5996"/>
+ <source>Creating PIP</source>
+ <translation>Creating PIP</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="5983"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="5997"/>
+ <source>Cannot create PBP</source>
+ <translation>Cannot create PBP</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="5983"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="5997"/>
+ <source>Cannot create PIP</source>
+ <translation>Cannot create PIP</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="6002"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="6016"/>
+ <source>Stopping PIP</source>
+ <translation>Stopping PIP</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="6002"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="6016"/>
+ <source>Stopping PBP</source>
+ <translation>Stopping PBP</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="6012"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="6026"/>
+ <source>Stopping all PIPs</source>
+- <translation>Stopping all PIPs</translation>
++ <translation>Stopping All PIPs</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="6012"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="6026"/>
+ <source>Stopping all PBPs</source>
+- <translation>Stopping all PBPs</translation>
++ <translation>Stopping All PBPs</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="6059"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="6073"/>
+ <source>Too many views to switch</source>
+- <translation>Too many views to switch</translation>
++ <translation>Too Many Views to Switch</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="6474"/>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="8040"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="6488"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="8042"/>
+ <source>Paused</source>
+ <translation>Paused</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="6476"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="6490"/>
+ <source>Aux Paused</source>
+ <translation>Aux Paused</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="6815"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="6829"/>
+ <source>Speed 16X</source>
+ <translation>Speed 16X</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="6816"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="6830"/>
+ <source>Speed 8X</source>
+ <translation>Speed 8X</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="6817"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="6831"/>
+ <source>Speed 3X</source>
+ <translation>Speed 3X</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="6818"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="6832"/>
+ <source>Speed 2X</source>
+ <translation>Speed 2X</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="6820"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="6834"/>
+ <source>Speed 1/3X</source>
+ <translation>Speed 1/3X</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="6821"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="6835"/>
+ <source>Speed 1/8X</source>
+ <translation>Speed 1/8X</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="6822"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="6836"/>
+ <source>Speed 1/16X</source>
+ <translation>Speed 1/16X</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="6926"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="6940"/>
+ <source>Forward %1X</source>
+ <translation>Forward %1X</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="6936"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="6950"/>
+ <source>Rewind %1X</source>
+ <translation>Rewind %1X</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="6975"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="6989"/>
+ <source>Stopping Transcode</source>
+ <translation>Stopping Transcode</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="6993"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="7007"/>
+ <source>Transcoding</source>
+ <translation>Transcoding</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="6986"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="7000"/>
+ <source>Try Again</source>
+ <translation>Try Again</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="7036"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="7050"/>
+ <source>Jump Chapter</source>
+ <translation>Jump Chapter</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="7139"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="7153"/>
+ <source>Switch Angle</source>
+ <translation>Switch Angle</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="7160"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="7174"/>
+ <source>Skip</source>
+ <translation>Skip</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="7500"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="7504"/>
+ <source>TXT:</source>
+ <translation>TXT:</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="7500"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="7504"/>
+ <source>CC:</source>
+ <translation>CC:</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="7504"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="7508"/>
+ <source>Seek:</source>
+ <comment>seek to location</comment>
+ <translation>Seek:</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="5011"/>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="8040"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="5025"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="8042"/>
+ <source>Position</source>
+ <translation>Position</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="8298"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="8300"/>
+ <source>Partial Lock</source>
+ <translation>Partial Lock</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="8298"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="8300"/>
+ <source>No Lock</source>
+ <translation>No Lock</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="8299"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="8301"/>
+ <source>Lock</source>
+ <translation>Lock</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="8301"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="8303"/>
+ <source>Signal %1%</source>
+ <translation>Signal %1%</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="8303"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="8305"/>
+ <source>S/N %1dB</source>
+ <translation>S/N %1dB</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="8305"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="8307"/>
+ <source>BE %1</source>
+ <comment>Bit Errors</comment>
+ <translation>BE %1</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="8307"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="8309"/>
+ <source>Rotor %1%</source>
+ <translation>Rotor %1%</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="8391"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="8393"/>
+ <source>You should have received a channel lock by now. You can continue to wait for a signal, or you can change the channel with %1 or %2, change video source (%3), inputs (%4), etc.</source>
+ <translation>You should have received a channel lock by now. You can continue to wait for a signal, or you can change the channel with %1 or %2, change video source (%3), inputs (%4), etc.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="8400"/>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="12964"/>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="13342"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="8402"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12895"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="13273"/>
+ <source>OK</source>
+ <translation>OK</translation>
+ </message>
+ <message numerus="yes">
+- <location filename="../libs/libmythtv/tv_play.cpp" line="8447"/>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="11799"/>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="11800"/>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="11801"/>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="11802"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="8449"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="11730"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="11731"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="11732"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="11733"/>
+ <location filename="../libs/libmythtv/tvbrowsehelper.cpp" line="26"/>
+ <location filename="../libs/libmythtv/tvbrowsehelper.cpp" line="310"/>
+ <source>%n minute(s)</source>
+@@ -22450,425 +23096,425 @@
+ </translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="8467"/>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="8964"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="8469"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="8891"/>
+ <source>DVD</source>
+ <translation>DVD</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="8472"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="8474"/>
+ <source>Menu</source>
+ <translation>Menu</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="8476"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="8478"/>
+ <source>Still Frame</source>
+ <translation>Still Frame</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="8487"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="8489"/>
+ <source>Title: %1 (%2)</source>
+ <translation>Title: %1 (%2)</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="8488"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="8490"/>
+ <source>Chapter: %1/%2</source>
+ <translation>Chapter: %1/%2</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="5440"/>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="8950"/>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="10181"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="5454"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="8877"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="10112"/>
+ <source>Adjust Volume</source>
+ <translation>Adjust Volume</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="2434"/>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="2489"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="2436"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="2491"/>
+ <source>TV Player</source>
+ <translation>TV Player</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="1098"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="1100"/>
+ <source>Off</source>
+ <comment>Sleep timer</comment>
+ <translation>Off</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="1099"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="1101"/>
+ <source>30m</source>
+ <comment>Sleep timer</comment>
+ <translation>30m</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="1100"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="1102"/>
+ <source>1h</source>
+ <comment>Sleep timer</comment>
+ <translation>1h</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="1101"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="1103"/>
+ <source>1h30m</source>
+ <comment>Sleep timer</comment>
+ <translation>1h30m</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="1102"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="1104"/>
+ <source>2h</source>
+ <comment>Sleep timer</comment>
+ <translation>2h</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="2037"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="2039"/>
+ <source>MythTV wants to record these programs in %d seconds:</source>
+ <translation>MythTV wants to record these programs in %d seconds:</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="2063"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="2065"/>
+ <source>&quot;%1&quot; on %2</source>
+ <translation>&quot;%1&quot; on %2</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="2076"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="2078"/>
+ <source>Do you want to:</source>
+ <translation>Do you want to:</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="2433"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="2435"/>
+ <source>Can&apos;t start playback</source>
+- <translation>Can&apos;t start playback</translation>
++ <translation>Can&apos;t Start Playback</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="4380"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="4394"/>
+ <source>%1 Committed</source>
+ <translation>%1 Committed</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="5004"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="5018"/>
+ <source>Bookmark Cleared</source>
+ <translation>Bookmark Cleared</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="5014"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="5028"/>
+ <source>Bookmark Saved</source>
+ <translation>Bookmark Saved</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="9031"/>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="12515"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="8958"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12446"/>
+ <source>Adjust Time Stretch</source>
+ <translation>Adjust Time Stretch</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="9061"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="8988"/>
+ <source>Upmixer On</source>
+ <translation>Upmixer On</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="9061"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="8988"/>
+ <source>Upmixer Off</source>
+ <translation>Upmixer Off</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="9125"/>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="12035"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="9052"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="11966"/>
+ <source>Adjust Subtitle Delay</source>
+ <translation>Adjust Subtitle Delay</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="9125"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="9052"/>
+ <source>Subtitle Delay</source>
+ <translation>Subtitle Delay</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="9154"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="9081"/>
+ <source>Audio Sync</source>
+ <translation>Audio Sync</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="9154"/>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="11931"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="9081"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="11862"/>
+ <source>Adjust Audio Sync</source>
+ <translation>Adjust Audio Sync</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="9189"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="9116"/>
+ <source>Mute Off</source>
+ <translation>Mute Off</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="9190"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="9117"/>
+ <source>Mute On</source>
+ <translation>Mute On</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="9191"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="9118"/>
+ <source>Left Channel Muted</source>
+ <translation>Left Channel Muted</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="9192"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="9119"/>
+ <source>Right Channel Muted</source>
+ <translation>Right Channel Muted</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="9220"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="9147"/>
+ <source>Sleep </source>
+ <translation>Sleep </translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="9235"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="9162"/>
+ <source>MythTV was set to sleep after %1 minutes and will exit in %d seconds.
+ Do you wish to continue watching?</source>
+ <translation>MythTV was set to sleep after %1 minutes and will exit in %d seconds.
+ Do you wish to continue watching?</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="9242"/>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="9305"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="9169"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="9232"/>
+ <source>Yes</source>
+ <translation>Yes</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="9243"/>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="9306"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="9170"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="9233"/>
+ <source>No</source>
+ <translation>No</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="9299"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="9226"/>
+ <source>MythTV has been idle for %1 minutes and will exit in %d seconds. Are you still watching?</source>
+ <translation>MythTV has been idle for %1 minutes and will exit in %d seconds. Are you still watching?</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="9672"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="9599"/>
+ <source>PiP</source>
+ <comment>Picture-in-Picture</comment>
+- <translation>PiP</translation>
++ <translation>PIP</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="9673"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="9600"/>
+ <source>PbP</source>
+ <comment>Picture-by-Picture</comment>
+- <translation>PbP</translation>
++ <translation>PBP</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="9675"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="9602"/>
+ <source>Disabling %1 for recording</source>
+- <translation>Disabling %1 for recording</translation>
++ <translation>Disabling %1 for Recording</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="10017"/>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="10040"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="9948"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="9971"/>
+ <source>Record</source>
+ <translation>Record</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="10052"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="9983"/>
+ <source>Cancel Record</source>
+ <translation>Cancel Record</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="10276"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="10207"/>
+ <source>Active Changed</source>
+ <translation>Active Changed</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="10289"/>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="10304"/>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="12533"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="10220"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="10235"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12464"/>
+ <source>Edit Cut Points</source>
+ <translation>Edit Cut Points</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="10323"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="10254"/>
+ <source>Exit Recording Editor</source>
+ <translation>Exit Recording Editor</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="10324"/>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="11585"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="10255"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="11516"/>
+ <source>Save Cuts and Exit</source>
+ <translation>Save Cuts and Exit</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="10326"/>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="11577"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="10257"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="11508"/>
+ <source>Exit Without Saving</source>
+ <translation>Exit Without Saving</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="10328"/>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="11581"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="10259"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="11512"/>
+ <source>Save Cuts</source>
+ <translation>Save Cuts</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="10330"/>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="11573"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="10261"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="11504"/>
+ <source>Undo Changes</source>
+ <translation>Undo Changes</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="10393"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="10324"/>
+ <source>This program is currently being edited</source>
+ <translation>This program is currently being edited</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="10396"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="10327"/>
+ <source>Continue Editing</source>
+ <translation>Continue Editing</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="10397"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="10328"/>
+ <source>Do not edit</source>
+- <translation>Do not edit</translation>
++ <translation>Do Not Edit</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="10577"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="10508"/>
+ <source>UNKNOWN%1</source>
+ <comment>Synthesized callsign</comment>
+ <translation>UNKNOWN%1</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="10903"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="10834"/>
+ <source>Zoom Mode ON</source>
+- <translation>Zoom Mode ON</translation>
++ <translation>Zoom Mode On</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="11500"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="11431"/>
+ <source>Move Previous Cut End Here</source>
+ <translation>Move Previous Cut End Here</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="11501"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="11432"/>
+ <source>Move Start of Cut Here</source>
+ <translation>Move Start of Cut Here</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="11512"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="11443"/>
+ <source>Move Next Cut Start Here</source>
+ <translation>Move Next Cut Start Here</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="11513"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="11444"/>
+ <source>Move End of Cut Here</source>
+ <translation>Move End of Cut Here</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="11521"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="11452"/>
+ <source>Cut to Beginning</source>
+ <translation>Cut to Beginning</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="11529"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="11460"/>
+ <source>Cut to End</source>
+ <translation>Cut to End</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="11535"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="11466"/>
+ <source>Delete This Cut</source>
+ <translation>Delete This Cut</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="11536"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="11467"/>
+ <source>Join Surrounding Cuts</source>
+ <translation>Join Surrounding Cuts</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="11541"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="11472"/>
+ <source>Add New Cut</source>
+ <translation>Add New Cut</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="11547"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="11478"/>
+ <source>Undo - %1</source>
+ <extracomment>%1 is the undo message</extracomment>
+ <translation>Undo - %1</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="11555"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="11486"/>
+ <source>Redo - %1</source>
+ <extracomment>%1 is the redo message</extracomment>
+ <translation>Redo - %1</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="11561"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="11492"/>
+ <source>Clear Cuts</source>
+ <translation>Clear Cuts</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="11565"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="11496"/>
+ <source>Reverse Cuts</source>
+ <translation>Reverse Cuts</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="11569"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="11500"/>
+ <source>Load Detected Commercials</source>
+ <translation>Load Detected Commercials</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="11778"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="11709"/>
+ <source>0.5x</source>
+ <translation>0.5x</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="11779"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="11710"/>
+ <source>0.9x</source>
+ <translation>0.9x</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="11780"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="11711"/>
+ <source>1.0x</source>
+ <translation>1.0x</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="11781"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="11712"/>
+ <source>1.1x</source>
+ <translation>1.1x</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="11782"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="11713"/>
+ <source>1.2x</source>
+ <translation>1.2x</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="11783"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="11714"/>
+ <source>1.3x</source>
+ <translation>1.3x</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="11784"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="11715"/>
+ <source>1.4x</source>
+ <translation>1.4x</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="11785"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="11716"/>
+ <source>1.5x</source>
+ <translation>1.5x</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="11981"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="11912"/>
+ <source>Disable Subtitles</source>
+ <translation>Disable Subtitles</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="11987"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="11918"/>
+ <source>Enable Subtitles</source>
+ <translation>Enable Subtitles</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="11995"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="11926"/>
+ <source>Disable Forced Subtitles</source>
+ <translation>Disable Forced Subtitles</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="12004"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="11935"/>
+ <source>Enable Forced Subtitles</source>
+ <translation>Enable Forced Subtitles</translation>
+ </message>
+ <message numerus="yes">
+- <location filename="../libs/libmythtv/tv_play.cpp" line="12093"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12024"/>
+ <source>Close PIP(s)</source>
+ <translation>
+ <numerusform>Close PIP</numerusform>
+@@ -22876,7 +23522,7 @@
+ </translation>
+ </message>
+ <message numerus="yes">
+- <location filename="../libs/libmythtv/tv_play.cpp" line="12103"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12034"/>
+ <source>Close PBP(s)</source>
+ <translation>
+ <numerusform>Close PBP</numerusform>
+@@ -22884,709 +23530,705 @@
+ </translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="12135"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12066"/>
+ <source>Playback Data</source>
+ <translation>Playback Data</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="12152"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12083"/>
+ <source>DVD Root Menu</source>
+ <translation>DVD Root Menu</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="12163"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12094"/>
+ <source>DVD Title Menu</source>
+ <translation>DVD Title Menu</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="12168"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12099"/>
+ <source>DVD Chapter Menu</source>
+ <translation>DVD Chapter Menu</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="12496"/>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="12547"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12427"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12478"/>
+ <source>Playback Compact Menu</source>
+ <translation>Playback Compact Menu</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="12524"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12455"/>
+ <source>Schedule</source>
+ <translation>Schedule</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="12177"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12108"/>
+ <source>Program Guide</source>
+ <translation>Program Guide</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="12217"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12148"/>
+ <source>Edit Channel</source>
+ <translation>Edit Channel</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="12217"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12148"/>
+ <source>Edit Recording</source>
+ <translation>Edit Recording</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="12526"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12457"/>
+ <source>Jump to Program</source>
+ <translation>Jump to Program</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="12193"/>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="12574"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12124"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12505"/>
+ <source>Recorded Program</source>
+ <translation>Recorded Program</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="12173"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12104"/>
+ <source>Previous Channel</source>
+ <translation>Previous Channel</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="12022"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="11953"/>
+ <source>Toggle Teletext Menu</source>
+ <translation>Toggle Teletext Menu</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="11966"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="11897"/>
+ <source>Manual Zoom Mode</source>
+ <translation>Manual Zoom Mode</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="12518"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12449"/>
+ <source>Channel Groups</source>
+ <translation>Channel Groups</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="11809"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="11740"/>
+ <source>All Channels</source>
+ <translation>All Channels</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="12234"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12165"/>
+ <source>Stop Transcoding</source>
+ <translation>Stop Transcoding</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="12530"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12461"/>
+ <source>Begin Transcoding</source>
+ <translation>Begin Transcoding</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="7161"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="7175"/>
+ <source>Searching</source>
+- <translation>Searching</translation>
++ <translation>Searching...</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="5440"/>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="8950"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="5454"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="8877"/>
+ <source>Volume</source>
+ <translation>Volume</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="9031"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="8958"/>
+ <source>Time Stretch</source>
+ <translation>Time Stretch</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="10334"/>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="12485"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="10265"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12416"/>
+ <source>Edit</source>
+ <translation>Edit</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="12234"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12165"/>
+ <source>Default</source>
+ <translation>Default</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="12242"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12173"/>
+ <source>Autodetect</source>
+ <translation>Autodetect</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="12250"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12181"/>
+ <source>High Quality</source>
+ <translation>High Quality</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="12258"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12189"/>
+ <source>Medium Quality</source>
+ <translation>Medium Quality</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="12266"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12197"/>
+ <source>Low Quality</source>
+ <translation>Low Quality</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="12520"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12451"/>
+ <source>Commercial Auto-Skip</source>
+- <translation>Commercial Auto-Skip</translation>
++ <translation>Commercial Auto-skip</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="12226"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12157"/>
+ <source>Turn Auto-Expire OFF</source>
+- <translation>Turn Auto-Expire OFF</translation>
++ <translation>Turn Auto-expire Off</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="12226"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12157"/>
+ <source>Turn Auto-Expire ON</source>
+- <translation>Turn Auto-Expire ON</translation>
++ <translation>Turn Auto-expire On</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="12185"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12116"/>
+ <source>Upcoming Recordings</source>
+ <translation>Upcoming Recordings</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="12181"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12112"/>
+ <source>Program Finder</source>
+ <translation>Program Finder</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="12189"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12120"/>
+ <source>Edit Recording Schedule</source>
+ <translation>Edit Recording Schedule</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="12521"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12452"/>
+ <source>Chapter</source>
+ <translation>Chapter</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="5965"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="5979"/>
+ <source>Sorry, cannot mix PBP and PIP views</source>
+- <translation>Sorry, cannot mix PBP and PIP views</translation>
++ <translation>Cannot Mix PBP and PIP Views</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="12495"/>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="12543"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12426"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12474"/>
+ <source>Playback Menu</source>
+ <translation>Playback Menu</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="12497"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12428"/>
+ <source>Audio</source>
+ <translation>Audio</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="8958"/>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="12500"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="8885"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12431"/>
+ <source>Video</source>
+ <translation>Video</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="4954"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="4968"/>
+ <source>Visualisation Off</source>
+ <translation>Visualisation Off</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="8961"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="8888"/>
+ <source>TV</source>
+ <translation>TV</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="9087"/>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="12027"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="9014"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="11958"/>
+ <source>Adjust Subtitle Zoom</source>
+ <translation>Adjust Subtitle Zoom</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="9087"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="9014"/>
+ <source>Subtitle Zoom</source>
+ <translation>Subtitle Zoom</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="12505"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12436"/>
+ <source>Advanced</source>
+ <translation>Advanced</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="12507"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12438"/>
+ <source>Deinterlacer</source>
+ <translation>Deinterlacer</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="12508"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12439"/>
+ <source>Subtitles</source>
+ <translation>Subtitles</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="12510"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12441"/>
+ <source>Text Subtitles</source>
+ <translation>Text Subtitles</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="12513"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12444"/>
+ <source>Select Teletext CC</source>
+ <translation>Select Teletext CC</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="12519"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12450"/>
+ <source>Navigate</source>
+ <translation>Navigate</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="12152"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12083"/>
+ <source>Top menu</source>
+- <translation>Top menu</translation>
++ <translation>Top Menu</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="12158"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12089"/>
+ <source>Popup menu</source>
+- <translation>Popup menu</translation>
++ <translation>Popup Menu</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="12522"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12453"/>
+ <source>Angle</source>
+ <translation>Angle</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="12523"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12454"/>
+ <source>Title</source>
+ <translation>Title</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="12525"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12456"/>
+ <source>Source</source>
+ <translation>Source</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="12529"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12460"/>
+ <source>Jobs</source>
+ <translation>Jobs</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="12514"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12445"/>
+ <source>Playback</source>
+ <translation>Playback</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="12041"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="11972"/>
+ <source>Play</source>
+ <translation>Play</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="12041"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="11972"/>
+ <source>Pause</source>
+ <translation>Pause</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="12516"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12447"/>
+ <source>Picture-in-Picture</source>
+ <translation>Picture-in-Picture</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="12126"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12057"/>
+ <source>Toggle Browse Mode</source>
+ <translation>Toggle Browse Mode</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="12131"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12062"/>
+ <source>Cancel Playlist</source>
+ <translation>Cancel Playlist</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="12053"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="11984"/>
+ <source>Open Live TV PIP</source>
+ <translation>Open Live TV PIP</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="12062"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="11993"/>
+ <source>Open Live TV PBP</source>
+ <translation>Open Live TV PBP</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="12070"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12001"/>
+ <source>Open Recording PIP</source>
+ <translation>Open Recording PIP</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="12078"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12009"/>
+ <source>Open Recording PBP</source>
+ <translation>Open Recording PBP</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="12084"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12015"/>
+ <source>Change Active Window</source>
+ <translation>Change Active Window</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="12110"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12041"/>
+ <source>Swap Windows</source>
+ <translation>Swap Windows</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="12120"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12051"/>
+ <source>Switch to PIP</source>
+ <translation>Switch to PIP</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="12120"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12051"/>
+ <source>Switch to PBP</source>
+ <translation>Switch to PBP</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="13386"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="13317"/>
+ <source>No, keep it</source>
+- <translation>No, keep it</translation>
++ <translation>No, Keep</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="12527"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12458"/>
+ <source>Switch Input</source>
+ <translation>Switch Input</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="12528"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12459"/>
+ <source>Switch Source</source>
+ <translation>Switch Source</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="12501"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12432"/>
+ <source>Change Aspect Ratio</source>
+ <translation>Change Aspect Ratio</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="12502"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12433"/>
+ <source>Adjust Fill</source>
+ <translation>Adjust Fill</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="11951"/>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="11961"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="11882"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="11892"/>
+ <source>Auto Detect</source>
+ <translation>Auto Detect</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="12503"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12434"/>
+ <source>Adjust Picture</source>
+ <translation>Adjust Picture</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="7123"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="7137"/>
+ <source>Switch Title</source>
+ <translation>Switch Title</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="12499"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12430"/>
+ <source>Visualisation</source>
+ <translatorcomment>Original string is in British English</translatorcomment>
+ <translation>Visualization</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="11943"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="11874"/>
+ <source>Disable Audio Upmixer</source>
+ <translation>Disable Audio Upmixer</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="11696"/>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="11936"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="11627"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="11867"/>
+ <source>None</source>
+ <translation>None</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="12504"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12435"/>
+ <source>3D</source>
+ <translation>3D</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="11974"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="11905"/>
+ <source>Disable Night Mode</source>
+ <translation>Disable Night Mode</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="11974"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="11905"/>
+ <source>Enable Night Mode</source>
+ <translation>Enable Night Mode</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="11698"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="11629"/>
+ <source>Side by Side</source>
+ <translation>Side by Side</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="11700"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="11631"/>
+ <source>Discard Side by Side</source>
+ <translation>Discard Side by Side</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="11702"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="11633"/>
+ <source>Top and Bottom</source>
+ <translation>Top and Bottom</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="11704"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="11635"/>
+ <source>Discard Top and Bottom</source>
+ <translation>Discard Top and Bottom</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="12011"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="11942"/>
+ <source>Disable External Subtitles</source>
+ <translation>Disable External Subtitles</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="12017"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="11948"/>
+ <source>Enable External Subtitles</source>
+ <translation>Enable External Subtitles</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="12045"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="11976"/>
+ <source>Toggle</source>
+ <translation>Toggle</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="11777"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="11708"/>
+ <source>Adjust</source>
+ <translation>Adjust</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="12429"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12360"/>
+ <source>(I)</source>
+ <comment>Interlaced (Normal)</comment>
+ <translation>(I)</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="12431"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12362"/>
+ <source>(i)</source>
+ <comment>Interlaced (Reversed)</comment>
+ <translation>(i)</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="12433"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12364"/>
+ <source>(P)</source>
+ <comment>Progressive</comment>
+ <translation>(P)</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="12942"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12873"/>
+ <source>MythTV is already using all available inputs for the channel you selected. If you want to watch an in-progress recording, select one from the playback menu. If you want to watch Live TV, cancel one of the in-progress recordings from the delete menu.</source>
+- <translation>MythTV is already using all available inputs for the channel you selected. If you want to watch an in-progress recording, select one from the playback menu. If you want to watch Live TV, cancel one of the in-progress recordings from the delete menu.</translation>
++ <translation>MythTV is already using all available inputs for the channel you selected. If you want to watch an in-progress recording, select one from the playback menu. If you want to watch Live TV, cancel one of the in-progress recordings from the delete menu.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="12506"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12437"/>
+ <source>Video Scan</source>
+ <translation>Video Scan</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="11710"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="11641"/>
+ <source>Detect</source>
+ <translation>Detect</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="11712"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="11643"/>
+ <source>Progressive</source>
+ <translation>Progressive</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="11714"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="11645"/>
+ <source>Interlaced (Normal)</source>
+ <translation>Interlaced (Normal)</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="11716"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="11647"/>
+ <source>Interlaced (Reversed)</source>
+ <translation>Interlaced (Reversed)</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="12517"/>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="12929"/>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="12931"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12448"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12860"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12862"/>
+ <source>Sleep</source>
+ <translation>Sleep</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="11798"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="11729"/>
+ <source>Sleep Off</source>
+ <translation>Sleep Off</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="12498"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12429"/>
+ <source>Select Audio Track</source>
+ <translation>Select Audio Track</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="12509"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12440"/>
+ <source>Select Subtitle</source>
+ <translation>Select Subtitle</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="12512"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12443"/>
+ <source>Select VBI CC</source>
+ <translation>Select VBI CC</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="12511"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12442"/>
+ <source>Select ATSC CC</source>
+ <translation>Select ATSC CC</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="12534"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12465"/>
+ <source>Edit Cut Points (Compact)</source>
+ <translation>Edit Cut Points (Compact)</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="12535"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12466"/>
+ <source>Cut List Options</source>
+ <translation>Cut List Options</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="12703"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12634"/>
+ <source>Auto-Expire OFF</source>
+- <translation>Auto-Expire OFF</translation>
++ <translation>Auto-expire Off</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="12708"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12639"/>
+ <source>Auto-Expire ON</source>
+- <translation>Auto-Expire ON</translation>
++ <translation>Auto-expire On</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="12951"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12882"/>
+ <source>Error: MythTV is using all inputs, but there are no active recordings?</source>
+- <translation>Error: MythTV is using all inputs, but there are no active recordings?</translation>
++ <translation>ERROR: MythTV is using all inputs, but there are no active recordings?</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="12955"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12886"/>
+ <source>MythTV has no capture cards defined. Please run the mythtv-setup program.</source>
+ <translation>MythTV has no capture cards defined. Please run the mythtv-setup program.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="13104"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="13035"/>
+ <source>Skip Back Not Allowed</source>
+ <translation>Skip Back Not Allowed</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="13127"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="13058"/>
+ <source>Previous Title</source>
+ <translation>Previous Title</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="13146"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="13077"/>
+ <source>Skip Still Frame</source>
+ <translation>Skip Still Frame</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="13172"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="13103"/>
+ <source>Next Title</source>
+ <translation>Next Title</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="13235"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="13166"/>
+ <source>Live TV</source>
+ <translation>Live TV</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="13237"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="13168"/>
+ <source>this DVD</source>
+ <translation>this DVD</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="13241"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="13172"/>
+ <source>this Video</source>
+ <translation>this Video</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="13245"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="13176"/>
+ <source>this recording</source>
+- <translation>this recording</translation>
++ <translation>this Recording</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="13251"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="13182"/>
+ <source>You are exiting %1</source>
+- <translation>You are exiting %1</translation>
++ <translation>You Are Exiting %1</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="13255"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="13186"/>
+ <source>Save this position and go to the menu</source>
+- <translation>Save this position and go to the menu</translation>
++ <translation>Save and Exit</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="13257"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="13188"/>
+ <source>Do not save, just exit to the menu</source>
+- <translation>Do not save, just exit to the menu</translation>
++ <translation>Exit Without Saving</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="13261"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="13192"/>
+ <source>Exit %1</source>
+ <translation>Exit %1</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="13265"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="13196"/>
+ <source>Delete this recording</source>
+ <translation>Delete this recording</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="13268"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="13199"/>
+ <source>Keep watching</source>
+ <translation>Keep watching</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="13314"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="13245"/>
+ <source>Cannot delete program </source>
+ <translation>Cannot delete program </translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="13323"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="13254"/>
+ <source>because it is not a recording.</source>
+ <translation>because it is not a recording.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="13327"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="13258"/>
+ <source>because it is in use by</source>
+ <translation>because it is in use by</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="13373"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="13304"/>
+ <source>Delete it, but allow it to re-record</source>
+- <translation>Delete it, but allow it to re-record</translation>
++ <translation>Delete Recording, and Allow Re-record</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="13375"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="13306"/>
+ <source>Delete it</source>
+- <translation>Delete it</translation>
++ <translation>Delete Recording</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="13377"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="13308"/>
+ <source>Save it so I can watch it again</source>
+- <translation>Save it so I can watch it again</translation>
++ <translation>Keep Recording</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="13382"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="13313"/>
+ <source>Yes, and allow re-record</source>
+- <translation>Yes, and allow re-record</translation>
++ <translation>Yes, Delete and Allow Re-record</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_play.cpp" line="13384"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="13315"/>
+ <source>Yes, delete it</source>
+- <translation>Yes, delete it</translation>
++ <translation>Yes, Delete</translation>
+ </message>
+ </context>
+ <context>
+ <name>TVRec</name>
+ <message>
+- <location filename="../libs/libmythtv/tv_rec.cpp" line="3934"/>
+ <source>Good signal seen after %1 ms</source>
+- <translation>Good signal seen after %1 ms</translation>
++ <translation type="vanished">Good signal seen after %1 ms</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_rec.cpp" line="3943"/>
+- <location filename="../libs/libmythtv/tv_rec.cpp" line="3995"/>
+ <source>See &apos;Tuning timeout&apos; in mythtv-setup for this input.</source>
+- <translation>See &apos;Tuning timeout&apos; in mythtv-setup for this input.</translation>
++ <translation type="vanished">See &apos;Tuning timeout&apos; in mythtv-setup for this input.</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/tv_rec.cpp" line="3987"/>
+ <source>Taking more than %1 ms to get a lock.</source>
+- <translation>Taking more than %1 ms to get a lock.</translation>
++ <translation type="vanished">Taking more than %1 ms to get a lock.</translation>
+ </message>
+ </context>
+ <context>
+ <name>ThemeChooser</name>
+ <message>
+- <location filename="../programs/mythfrontend/themechooser.cpp" line="533"/>
++ <location filename="../programs/mythfrontend/themechooser.cpp" line="542"/>
+ <source>Theme Chooser Menu</source>
+ <translation>Theme Chooser Menu</translation>
+ </message>
+@@ -23596,123 +24238,123 @@
+ <translation>Loading Installed Themes</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/themechooser.cpp" line="271"/>
+- <location filename="../programs/mythfrontend/themechooser.cpp" line="286"/>
++ <location filename="../programs/mythfrontend/themechooser.cpp" line="280"/>
++ <location filename="../programs/mythfrontend/themechooser.cpp" line="295"/>
+ <source>Unable to create &apos;%1&apos;</source>
+ <translation>Unable to create &apos;%1&apos;</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/themechooser.cpp" line="275"/>
++ <location filename="../programs/mythfrontend/themechooser.cpp" line="284"/>
+ <source>Refreshing Downloadable Themes Information</source>
+ <translation>Refreshing Downloadable Themes Information</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/themechooser.cpp" line="283"/>
++ <location filename="../programs/mythfrontend/themechooser.cpp" line="292"/>
+ <source>Unable to remove &apos;%1&apos;</source>
+ <translation>Unable to remove &apos;%1&apos;</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/themechooser.cpp" line="292"/>
++ <location filename="../programs/mythfrontend/themechooser.cpp" line="301"/>
+ <source>Extracting Downloadable Themes Information</source>
+ <translation>Extracting Downloadable Themes Information</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/themechooser.cpp" line="307"/>
++ <location filename="../programs/mythfrontend/themechooser.cpp" line="316"/>
+ <source>Failed to download &apos;%1&apos;</source>
+- <translation>Failed to download &apos;%1&apos;</translation>
++ <translation>Failed to Download &apos;%1&apos;</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/themechooser.cpp" line="315"/>
++ <location filename="../programs/mythfrontend/themechooser.cpp" line="324"/>
+ <source>Failed to unzip &apos;%1&apos; to &apos;%2&apos;</source>
+- <translation>Failed to unzip &apos;%1&apos; to &apos;%2&apos;</translation>
++ <translation>Failed to Unzip &apos;%1&apos; to &apos;%2&apos;</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/themechooser.cpp" line="333"/>
++ <location filename="../programs/mythfrontend/themechooser.cpp" line="342"/>
+ <source>Loading Downloadable Themes</source>
+ <translation>Loading Downloadable Themes</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/themechooser.cpp" line="496"/>
++ <location filename="../programs/mythfrontend/themechooser.cpp" line="505"/>
+ <source>Error creating test file, %1 themes directory is not writable.</source>
+ <translation>Error creating test file, %1 themes directory is not writable.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/themechooser.cpp" line="554"/>
++ <location filename="../programs/mythfrontend/themechooser.cpp" line="563"/>
+ <source>Hide Fullscreen Preview</source>
+ <translation>Hide Fullscreen Preview</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/themechooser.cpp" line="557"/>
++ <location filename="../programs/mythfrontend/themechooser.cpp" line="566"/>
+ <source>Show Fullscreen Preview</source>
+ <translation>Show Fullscreen Preview</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/themechooser.cpp" line="561"/>
++ <location filename="../programs/mythfrontend/themechooser.cpp" line="570"/>
+ <source>Refresh Downloadable Themes</source>
+ <translation>Refresh Downloadable Themes</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/themechooser.cpp" line="571"/>
++ <location filename="../programs/mythfrontend/themechooser.cpp" line="580"/>
+ <source>Select Theme</source>
+ <translation>Select Theme</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/themechooser.cpp" line="575"/>
++ <location filename="../programs/mythfrontend/themechooser.cpp" line="584"/>
+ <source>Delete Theme</source>
+ <translation>Delete Theme</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/themechooser.cpp" line="581"/>
++ <location filename="../programs/mythfrontend/themechooser.cpp" line="590"/>
+ <source>Disable Theme Update Notifications</source>
+ <translation>Disable Theme Update Notifications</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/themechooser.cpp" line="584"/>
++ <location filename="../programs/mythfrontend/themechooser.cpp" line="593"/>
+ <source>Enable Theme Update Notifications</source>
+ <translation>Enable Theme Update Notifications</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/themechooser.cpp" line="704"/>
++ <location filename="../programs/mythfrontend/themechooser.cpp" line="713"/>
+ <source>Unable to install theme, %1 themes directory is not writable.</source>
+ <translation>Unable to install theme, %1 themes directory is not writable.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/themechooser.cpp" line="725"/>
++ <location filename="../programs/mythfrontend/themechooser.cpp" line="734"/>
+ <source>Downloading %1 Theme</source>
+ <translation>Downloading %1 Theme</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/themechooser.cpp" line="866"/>
++ <location filename="../programs/mythfrontend/themechooser.cpp" line="875"/>
+ <source>Copying %1 Theme Package</source>
+ <translation>Copying %1 Theme Package</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/themechooser.cpp" line="875"/>
++ <location filename="../programs/mythfrontend/themechooser.cpp" line="884"/>
+ <source>ERROR downloading theme package on master backend.</source>
+- <translation>ERROR downloading theme package on master backend.</translation>
++ <translation>ERROR: Downloading theme package on master backend.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/themechooser.cpp" line="896"/>
++ <location filename="../programs/mythfrontend/themechooser.cpp" line="905"/>
+ <source>Installing %1 Theme</source>
+ <translation>Installing %1 Theme</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/themechooser.cpp" line="902"/>
++ <location filename="../programs/mythfrontend/themechooser.cpp" line="911"/>
+ <source>ERROR downloading theme package from master backend.</source>
+- <translation>ERROR downloading theme package from master backend.</translation>
++ <translation>ERROR: Downloading theme package from master backend.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/themechooser.cpp" line="940"/>
++ <location filename="../programs/mythfrontend/themechooser.cpp" line="949"/>
+ <source>Error, no theme selected.</source>
+- <translation>Error, no theme selected.</translation>
++ <translation>ERROR: No theme selected.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/themechooser.cpp" line="947"/>
++ <location filename="../programs/mythfrontend/themechooser.cpp" line="956"/>
+ <source>Error, unable to find current theme.</source>
+- <translation>Error, unable to find current theme.</translation>
++ <translation>ERROR: Unable to find current theme.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/themechooser.cpp" line="953"/>
++ <location filename="../programs/mythfrontend/themechooser.cpp" line="962"/>
+ <source>%1 is not a user-installed theme and can not be deleted.</source>
+ <translation>%1 is not a user-installed theme and can not be deleted.</translation>
+ </message>
+@@ -23976,7 +24618,7 @@
+ <message>
+ <location filename="../themes/themestrings.h" line="718"/>
+ <source>To manually schedule a recording, enter a title (optional). Then set the channel, date, start time, and duration of your recording. Note that this recording will not have any listings data or other information provided by an EPG.</source>
+- <translation>To manually schedule a recording, enter a title (optional). Then set the channel, date, start time, and duration of your recording. Note that this recording will not have any listings data or other information provided by an EPG.</translation>
++ <translation>To manually schedule a recording, enter a title (optional). Then set the channel, date, start time, and duration of your recording. Note that this recording will not have any listings data or other information provided by an EPG.</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="851"/>
+@@ -24130,7 +24772,7 @@
+ <message>
+ <location filename="../themes/themestrings.h" line="729"/>
+ <source>Below you will find the program details of the selected item. There are two available screens. You can toggle between them by pressing INFO.</source>
+- <translation>Below you will find the program details of the selected item. There are two available screens. You can toggle between them by pressing INFO.</translation>
++ <translation>Below you will find the program details of the selected item. There are two available screens. You can toggle between them by pressing INFO.</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="866"/>
+@@ -24317,7 +24959,7 @@
+ <message>
+ <location filename="../themes/themestrings.h" line="890"/>
+ <source>Allow Recordings to Auto-Expire</source>
+- <translation>Allow Recordings to Auto-Expire</translation>
++ <translation>Allow Recordings to Auto-expire</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="891"/>
+@@ -24397,7 +25039,7 @@
+ <message>
+ <location filename="../themes/themestrings.h" line="908"/>
+ <source>Type your tweet below. Select &quot;Send&quot; to submit it.</source>
+- <translation>Type your tweet below. Select &quot;Send&quot; to submit it.</translation>
++ <translation>Type your tweet below. Select &quot;Send&quot; to submit it.</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="909"/>
+@@ -24452,7 +25094,7 @@
+ <message>
+ <location filename="../themes/themestrings.h" line="390"/>
+ <source>WARNING: There are conflicting scheduled recordings!</source>
+- <translation>WARNING: There are conflicting scheduled recordings!</translation>
++ <translation>Warning: There are conflicting scheduled recordings!</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="954"/>
+@@ -24604,7 +25246,7 @@
+ <message>
+ <location filename="../themes/themestrings.h" line="994"/>
+ <source>Graphite is a theme emphasizing MythUI interface improvements such as alpha, animation, unique layouts, and user-supplied backdrop content. It is extremely memory-hungry.</source>
+- <translation>Graphite is a theme emphasizing MythUI interface improvements such as alpha, animation, unique layouts, and user-supplied backdrop content. It is extremely memory-hungry.</translation>
++ <translation>Graphite is a theme emphasizing MythUI interface improvements such as alpha, animation, unique layouts, and user-supplied backdrop content. It is extremely memory-hungry.</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1011"/>
+@@ -25307,7 +25949,7 @@
+ <message>
+ <location filename="../themes/themestrings.h" line="1080"/>
+ <source>Press Up/Down from letter list, to navigate to another list. Press Left/Right from Show or Episode list to navigate to another list.</source>
+- <translation>Press Up/Down from letter list, to navigate to another list. Press Left/Right from Show or Episode list to navigate to another list.</translation>
++ <translation>Press Up/Down from letter list, to navigate to another list. Press Left/Right from Show or Episode list to navigate to another list.</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1083"/>
+@@ -25332,7 +25974,7 @@
+ <message>
+ <location filename="../themes/themestrings.h" line="1106"/>
+ <source>No videos in library, or no files found. If you have configured a video directory, press MENU and select &quot;Scan for Changes.&quot;</source>
+- <translation>No videos in library, or no files found. If you have configured a video directory, press MENU and select &quot;Scan for Changes.&quot;</translation>
++ <translation>No videos in library, or no files found. If you have configured a video directory, press MENU and select &quot;Scan for Changes.&quot;</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="745"/>
+@@ -25376,7 +26018,7 @@
+ <message>
+ <location filename="../themes/themestrings.h" line="1122"/>
+ <source>Designed to show off some different element arrangements. Reminder: On Watch Recordings screen [Rew] and [FF] can be used to change the Rec. Group.</source>
+- <translation>Designed to show off some different element arrangements. Reminder: On Watch Recordings screen [Rew] and [FF] can be used to change the Rec. Group.</translation>
++ <translation>Designed to show off some different element arrangements. Reminder: On Watch Recordings screen [Rew] and [FF] can be used to change the Rec. Group.</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1123"/>
+@@ -25627,7 +26269,7 @@
+ <message>
+ <location filename="../themes/themestrings.h" line="1172"/>
+ <source>Protocol-Version: %1</source>
+- <translation>Protocol-Version: %1</translation>
++ <translation>Protocol Version: %1</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1173"/>
+@@ -25860,7 +26502,7 @@
+ <message>
+ <location filename="../themes/themestrings.h" line="360"/>
+ <source>Move the selected corner of the preview image to the corner of the TV screen. Press SELECT to edit the other corner. Press MENU for options and ESC to quit.</source>
+- <translation>Move the selected corner of the preview image to the corner of the TV screen. Press SELECT to edit the other corner. Press MENU for options and ESC to quit.</translation>
++ <translation>Move the selected corner of the preview image to the corner of the TV screen. Press SELECT to edit the other corner. Press MENU for options and ESC to quit.</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="417"/>
+@@ -26303,7 +26945,7 @@
+ <message>
+ <location filename="../themes/themestrings.h" line="638"/>
+ <source>Ok</source>
+- <translation>Ok</translation>
++ <translation>OK</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="639"/>
+@@ -26423,7 +27065,7 @@
+ <message>
+ <location filename="../themes/themestrings.h" line="665"/>
+ <source>PCM-BluRay</source>
+- <translation>PCM-BluRay</translation>
++ <translation>PCM-Blu-ray</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="666"/>
+@@ -26618,7 +27260,7 @@
+ <message>
+ <location filename="../themes/themestrings.h" line="706"/>
+ <source>To create a custom recording rule, either select an existing rule, or create a new rule by typing in a name. Then select a rule type and hit enter. The SQL code will be transferred below, and you can edit it and insert your own program information. Finally, you can test, immediately activate, store, or cancel your rule.</source>
+- <translation>To create a custom recording rule, either select an existing rule, or create a new rule by typing in a name. Then select a rule type and hit enter. The SQL code will be transferred below, and you can edit it and insert your own program information. Finally, you can test, immediately activate, store, or cancel your rule.</translation>
++ <translation>To create a custom recording rule, either select an existing rule, or create a new rule by typing in a name. Then select a rule type and hit enter. The SQL code will be transferred below, and you can edit it and insert your own program information. Finally, you can test, immediately activate, store, or cancel your rule.</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="708"/>
+@@ -26902,7 +27544,7 @@
+ <message>
+ <location filename="../themes/themestrings.h" line="802"/>
+ <source>Let&apos;s set up your DVR! On the next few screens, we will configure your system to play back audio and video, optimize your color and contrast, and make sure we are taking advantage of all of your hardware. Press next to begin!</source>
+- <translation>Let&apos;s set up your DVR! On the next few screens, we will configure your system to play back audio and video, optimize your color and contrast, and make sure we are taking advantage of all of your hardware. Press next to begin!</translation>
++ <translation>Let&apos;s set up your DVR! On the next few screens, we will configure your system to play back audio and video, optimize your color and contrast, and make sure we are taking advantage of all of your hardware. Press next to begin!</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="803"/>
+@@ -27454,7 +28096,7 @@
+ <message>
+ <location filename="../themes/themestrings.h" line="1103"/>
+ <source>Designed to show off some different element arrangements. Tested at 1280x720 and with Français. Reminder: On Watch Recordings screen [Rew] and [FF] can be used to change the Rec. Group.</source>
+- <translation>Designed to show off some different element arrangements. Tested at 1280x720 and with Français. Reminder: On Watch Recordings screen [Rew] and [FF] can be used to change the Rec. Group.</translation>
++ <translation>Designed to show off some different element arrangements. Tested at 1280x720 and with Français. Reminder: On Watch Recordings screen [Rew] and [FF] can be used to change the Rec. Group.</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="1107"/>
+@@ -28434,7 +29076,7 @@
+ <message>
+ <location filename="../themes/themestrings.h" line="300"/>
+ <source>No videos in library, or no files found. If you have configured a video directory, press &quot;M&quot; (or the MENU key) and select &quot;Scan for Changes.&quot;</source>
+- <translation>No videos in library, or no files found. If you have configured a video directory, press &quot;M&quot; (or the MENU key) and select &quot;Scan for Changes.&quot;</translation>
++ <translation>No videos in library, or no files found. If you have configured a video directory, press &quot;M&quot; (or the MENU key) and select &quot;Scan for Changes.&quot;</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="303"/>
+@@ -28564,7 +29206,7 @@
+ <message>
+ <location filename="../themes/themestrings.h" line="478"/>
+ <source>Post-Processing Options</source>
+- <translation>Post-Processing Options</translation>
++ <translation>Post Processing Options</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="279"/>
+@@ -28851,9 +29493,9 @@
+ <source>On this screen, you can add new extensions to be recognized by the Video Plugin. If a scan does not add your files, create a new extension below by clicking the &quot;New&quot; button.
+
+ If you select &quot;Use Default Player,&quot; the player command set for the extension will be ignored. &quot;Ignore This File Type&quot; prevents the items from appearing in a scan.</source>
+- <translation>On this screen, you can add new extensions to be recognized by the Video Plugin. If a scan does not add your files, create a new extension below by clicking the &quot;New&quot; button.
++ <translation>On this screen, you can add new extensions to be recognized by the Video Plugin. If a scan does not add your files, create a new extension below by clicking the &quot;New&quot; button.
+
+-If you select &quot;Use Default Player,&quot; the player command set for the extension will be ignored. &quot;Ignore This File Type&quot; prevents the items from appearing in a scan.</translation>
++If you select &quot;Use Default Player,&quot; the player command set for the extension will be ignored. &quot;Ignore This File Type&quot; prevents the items from appearing in a scan.</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="922"/>
+@@ -29298,7 +29940,7 @@
+ <message>
+ <location filename="../themes/themestrings.h" line="953"/>
+ <source>Move the selected arrow to the corner of the TV screen. Press SELECT to edit the other arrow. Press MENU for options and ESC to quit.</source>
+- <translation>Move the selected arrow to the corner of the TV screen. Press SELECT to edit the other arrow. Press MENU for options and ESC to quit.</translation>
++ <translation>Move the selected arrow to the corner of the TV screen. Press SELECT to edit the other arrow. Press MENU for options and ESC to quit.</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="160"/>
+@@ -29674,12 +30316,12 @@
+ <message>
+ <location filename="../themes/themestrings.h" line="907"/>
+ <source>Arclight is a sleek theme meant for widescreen HD displays. It is high contrast and uses shapes and an attractive layout to convey information simply and consistently.</source>
+- <translation>Arclight is a sleek theme meant for widescreen HD displays. It is high contrast and uses shapes and an attractive layout to convey information simply and consistently.</translation>
++ <translation>Arclight is a sleek theme meant for widescreen HD displays. It is high contrast and uses shapes and an attractive layout to convey information simply and consistently.</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="971"/>
+ <source>Childish is the first MythTV theme designed specifically with children in mind. It was the winner of MythTV&apos;s v0.23 theming contest.</source>
+- <translation>Childish is the first MythTV theme designed specifically with children in mind. It was the winner of MythTV&apos;s v0.23 theming contest.</translation>
++ <translation>Childish is the first MythTV theme designed specifically with children in mind. It was the winner of MythTV&apos;s v0.23 theming contest.</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="20"/>
+@@ -29699,12 +30341,12 @@
+ <message>
+ <location filename="../themes/themestrings.h" line="293"/>
+ <source>A blue theme. Originally designed before the MythUI rewrite, MythCenter has been updated to take advantage of the new UI library while still maintaining the look and feel that long-time MythTV users are used to.</source>
+- <translation>A blue theme. Originally designed before the MythUI rewrite, MythCenter has been updated to take advantage of the new UI library while still maintaining the look and feel that long-time MythTV users are used to.</translation>
++ <translation>A blue theme. Originally designed before the MythUI rewrite, MythCenter has been updated to take advantage of the new UI library while still maintaining the look and feel that long-time MythTV users are used to.</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="391"/>
+ <source>This was adapted from the Jeroen Brosens&apos; MythCenter theme. The fonts have been changed to freely redistributable ones and layout changes have been made to make this theme look good on 1280x720 and 1920x1080 screens with a 1:1 pixel aspect ratio.</source>
+- <translation>This was adapted from the Jeroen Brosens&apos; MythCenter theme. The fonts have been changed to freely redistributable ones and layout changes have been made to make this theme look good on 1280x720 and 1920x1080 screens with a 1:1 pixel aspect ratio.</translation>
++ <translation>This was adapted from the Jeroen Brosens&apos; MythCenter theme. The fonts have been changed to freely redistributable ones and layout changes have been made to make this theme look good on 1280x720 and 1920x1080 screens with a 1:1 pixel aspect ratio.</translation>
+ </message>
+ <message>
+ <location filename="../themes/themestrings.h" line="394"/>
+@@ -29954,7 +30596,7 @@
+ <context>
+ <name>ThemeUpdateChecker</name>
+ <message>
+- <location filename="../programs/mythfrontend/themechooser.cpp" line="1150"/>
++ <location filename="../programs/mythfrontend/themechooser.cpp" line="1159"/>
+ <source>Version %1 of the %2 theme is now available in the Theme Chooser. The currently installed version is %3.</source>
+ <translation>Version %1 of the %2 theme is now available in the Theme Chooser. The currently installed version is %3.</translation>
+ </message>
+@@ -29991,12 +30633,12 @@
+ <message>
+ <location filename="../programs/mythfrontend/galleryconfig.cpp" line="22"/>
+ <source>Exif Date (oldest first)</source>
+- <translation>Exif Date (oldest first)</translation>
++ <translation>EXIF Date (oldest first)</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/galleryconfig.cpp" line="23"/>
+ <source>Reverse Exif Date (newest first)</source>
+- <translation>Reverse Exif Date (newest first)</translation>
++ <translation>Reverse EXIF Date (newest first)</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/galleryconfig.cpp" line="24"/>
+@@ -30046,7 +30688,7 @@
+ <translation>Date Format</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/galleryconfig.cpp" line="60"/>
++ <location filename="../programs/mythfrontend/galleryconfig.cpp" line="65"/>
+ <source>Date format of thumbnail captions. Other places use the system date format. Sample shows 3rd May 2002.</source>
+ <translation>Date format of thumbnail captions. Other places use the system date format. Sample shows 3rd May 2002.</translation>
+ </message>
+@@ -30087,45 +30729,46 @@
+ <context>
+ <name>TransportList</name>
+ <message>
+- <location filename="../libs/libmythtv/transporteditor.cpp" line="89"/>
+ <source>New Transport</source>
+- <translation>New Transport</translation>
++ <translation type="vanished">New Transport</translation>
+ </message>
+ </context>
+ <context>
+ <name>TransportListEditor</name>
+ <message>
+- <location filename="../libs/libmythtv/transporteditor.cpp" line="279"/>
++ <location filename="../libs/libmythtv/transporteditor.cpp" line="188"/>
+ <source>Multiplex Editor</source>
+ <translation>Multiplex Editor</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/transporteditor.cpp" line="324"/>
++ <location filename="../libs/libmythtv/transporteditor.cpp" line="192"/>
++ <source>New Transport</source>
++ <translation>New Transport</translation>
++ </message>
++ <message>
++ <location filename="../libs/libmythtv/transporteditor.cpp" line="304"/>
+ <source>Are you sure you would like to delete this transport?</source>
+ <translation>Are you sure you would like to delete this transport?</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/transporteditor.cpp" line="325"/>
+ <source>Yes, delete the transport</source>
+- <translation>Yes, delete the transport</translation>
++ <translation type="vanished">Yes, Delete Transport</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/transporteditor.cpp" line="326"/>
+ <source>No, don&apos;t</source>
+- <translation>No, don&apos;t</translation>
++ <translation type="vanished">No, Keep Transport</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/transporteditor.cpp" line="360"/>
++ <location filename="../libs/libmythtv/transporteditor.cpp" line="346"/>
+ <source>Transport Menu</source>
+ <translation>Transport Menu</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/transporteditor.cpp" line="361"/>
+ <source>Edit...</source>
+- <translation>Edit...</translation>
++ <translation type="vanished">Edit...</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/transporteditor.cpp" line="362"/>
++ <location filename="../libs/libmythtv/transporteditor.cpp" line="347"/>
+ <source>Delete...</source>
+ <translation>Delete...</translation>
+ </message>
+@@ -30133,8 +30776,8 @@
+ <context>
+ <name>UPNPScanner</name>
+ <message>
+- <location filename="../programs/mythfrontend/upnpscanner.cpp" line="226"/>
+- <location filename="../programs/mythfrontend/upnpscanner.cpp" line="273"/>
++ <location filename="../programs/mythfrontend/upnpscanner.cpp" line="227"/>
++ <location filename="../programs/mythfrontend/upnpscanner.cpp" line="274"/>
+ <source>Media Servers</source>
+ <translation>Media Servers</translation>
+ </message>
+@@ -30230,89 +30873,89 @@
+ <context>
+ <name>V4L2encGroup</name>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="2705"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="2640"/>
+ <source>Probed info</source>
+- <translation>Probed info</translation>
++ <translation>Probed Info</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="2729"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="2654"/>
+ <source>Failed to open</source>
+- <translation>Failed to open</translation>
++ <translation>Failed to Open</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="2735"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="2660"/>
+ <source>Failed to probe</source>
+- <translation>Failed to probe</translation>
++ <translation>Failed to Probe</translation>
+ </message>
+ </context>
+ <context>
+ <name>V4LConfigurationGroup</name>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="2470"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="2407"/>
+ <source>Probed info</source>
+- <translation>Probed info</translation>
++ <translation>Probed Info</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="2485"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="2425"/>
+ <source>Failed to open</source>
+- <translation>Failed to open</translation>
++ <translation>Failed to Open</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="2492"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="2432"/>
+ <source>Failed to probe</source>
+- <translation>Failed to probe</translation>
++ <translation>Failed to Probe</translation>
+ </message>
+ </context>
+ <context>
+ <name>VBoxChannelFetcher</name>
+ <message>
+- <location filename="../libs/libmythtv/channelscan/vboxchannelfetcher.cpp" line="128"/>
++ <location filename="../libs/libmythtv/channelscan/vboxchannelfetcher.cpp" line="132"/>
+ <source>Downloading Channel List</source>
+ <translation>Downloading Channel List</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelscan/vboxchannelfetcher.cpp" line="144"/>
++ <location filename="../libs/libmythtv/channelscan/vboxchannelfetcher.cpp" line="148"/>
+ <source>Downloading Channel List Failed</source>
+ <translation>Downloading Channel List Failed</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelscan/vboxchannelfetcher.cpp" line="156"/>
++ <location filename="../libs/libmythtv/channelscan/vboxchannelfetcher.cpp" line="160"/>
+ <source>Adding Channels</source>
+ <translation>Adding Channels</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelscan/vboxchannelfetcher.cpp" line="177"/>
++ <location filename="../libs/libmythtv/channelscan/vboxchannelfetcher.cpp" line="183"/>
+ <source>Channel #%1 : %2</source>
+ <extracomment>%1 is the channel number, %2 is the channel name</extracomment>
+ <translation>Channel #%1 : %2</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelscan/vboxchannelfetcher.cpp" line="187"/>
++ <location filename="../libs/libmythtv/channelscan/vboxchannelfetcher.cpp" line="193"/>
+ <source>Ignoring Encrypted %1</source>
+ <translation>Ignoring Encrypted %1</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelscan/vboxchannelfetcher.cpp" line="195"/>
++ <location filename="../libs/libmythtv/channelscan/vboxchannelfetcher.cpp" line="201"/>
+ <source>Ignoring Radio %1</source>
+ <translation>Ignoring Radio %1</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelscan/vboxchannelfetcher.cpp" line="203"/>
++ <location filename="../libs/libmythtv/channelscan/vboxchannelfetcher.cpp" line="209"/>
+ <source>Ignoring Bad Transmission Type %1</source>
+ <translation>Ignoring Bad Transmission Type %1</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelscan/vboxchannelfetcher.cpp" line="213"/>
++ <location filename="../libs/libmythtv/channelscan/vboxchannelfetcher.cpp" line="220"/>
+ <source>Adding %1</source>
+ <translation>Adding %1</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelscan/vboxchannelfetcher.cpp" line="227"/>
++ <location filename="../libs/libmythtv/channelscan/vboxchannelfetcher.cpp" line="242"/>
+ <source>Updating %1</source>
+ <translation>Updating %1</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/channelscan/vboxchannelfetcher.cpp" line="242"/>
++ <location filename="../libs/libmythtv/channelscan/vboxchannelfetcher.cpp" line="265"/>
+ <source>Done</source>
+ <translation>Done</translation>
+ </message>
+@@ -30320,35 +30963,34 @@
+ <context>
+ <name>VBoxConfigurationGroup</name>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="2267"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="2227"/>
+ <source>Description</source>
+ <translation>Description</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="2282"/>
+ <source>Recording Options</source>
+- <translation>Recording Options</translation>
++ <translation type="vanished">Recording Options</translation>
+ </message>
+ </context>
+ <context>
+ <name>VBoxDeviceID</name>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="1663"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="1688"/>
+ <source>Device ID</source>
+ <translation>Device ID</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="1664"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="1689"/>
+ <source>Device ID of VBox device</source>
+- <translation>Device ID of VBox device</translation>
++ <translation>Device ID of VBox Device</translation>
+ </message>
+ </context>
+ <context>
+ <name>VBoxDeviceIDList</name>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="1735"/>
+- <location filename="../libs/libmythtv/videosource.cpp" line="1779"/>
+- <location filename="../libs/libmythtv/videosource.cpp" line="1786"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="1760"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="1804"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="1811"/>
+ <source>Manually Enter IP Address</source>
+ <translation>Manually Enter IP Address</translation>
+ </message>
+@@ -30449,7 +31091,7 @@
+ <message>
+ <location filename="../programs/mythfrontend/videodlg.cpp" line="2503"/>
+ <source>Play With Trailers</source>
+- <translation>Play With Trailers</translation>
++ <translation>Play with Trailers</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/videodlg.cpp" line="2510"/>
+@@ -30464,7 +31106,7 @@
+ <message>
+ <location filename="../programs/mythfrontend/videodlg.cpp" line="2526"/>
+ <source>Scan For Changes</source>
+- <translation>Scan For Changes</translation>
++ <translation>Scan for Changes</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/videodlg.cpp" line="2527"/>
+@@ -30490,12 +31132,12 @@
+ <message>
+ <location filename="../programs/mythfrontend/videodlg.cpp" line="3374"/>
+ <source>Failed to retrieve image(s)</source>
+- <translation>Failed to retrieve image(s)</translation>
++ <translation>Failed to Retrieve Image(s)</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/videodlg.cpp" line="3376"/>
+ <source>Check logs</source>
+- <translation>Check logs</translation>
++ <translation>Check Logs</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/videodlg.cpp" line="3836"/>
+@@ -30521,12 +31163,12 @@
+ <message>
+ <location filename="../programs/mythfrontend/videodlg.cpp" line="2177"/>
+ <source>Retrieved details for %1</source>
+- <translation>Retrieved details for %1</translation>
++ <translation>Retrieved Details for %1</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/videodlg.cpp" line="2181"/>
+ <source>Failed to retrieve details for %1</source>
+- <translation>Failed to retrieve details for %1</translation>
++ <translation>Failed to Retrieve Details for %1</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/videodlg.cpp" line="2552"/>
+@@ -30706,7 +31348,7 @@
+ <message>
+ <location filename="../programs/mythfrontend/videodlg.cpp" line="2152"/>
+ <source>Fetching details for %1</source>
+- <translation>Fetching details for %1</translation>
++ <translation>Fetching Details for %1</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/videodlg.cpp" line="3557"/>
+@@ -30718,7 +31360,7 @@
+ <message>
+ <location filename="../programs/mythfrontend/videodlg.cpp" line="3595"/>
+ <source>Failed to delete file</source>
+- <translation>Failed to delete file</translation>
++ <translation>Failed to Delete File</translation>
+ </message>
+ </context>
+ <context>
+@@ -30901,7 +31543,7 @@
+ <message>
+ <location filename="../programs/mythfrontend/videoglobalsettings.cpp" line="106"/>
+ <source>Directories that hold videos</source>
+- <translation>Directories that hold videos</translation>
++ <translation>Directories That Hold Videos</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/videoglobalsettings.cpp" line="110"/>
+@@ -30911,7 +31553,7 @@
+ <message>
+ <location filename="../programs/mythfrontend/videoglobalsettings.cpp" line="122"/>
+ <source>Directory that holds movie posters</source>
+- <translation>Directory that holds movie posters</translation>
++ <translation>Directory That Holds Movie Posters</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/videoglobalsettings.cpp" line="127"/>
+@@ -30925,37 +31567,37 @@
+ <message>
+ <location filename="../programs/mythfrontend/videoglobalsettings.cpp" line="138"/>
+ <source>Directory that holds movie screenshots</source>
+- <translation>Directory that holds movie screenshots</translation>
++ <translation>Directory That Holds Movie Screenshots</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/videoglobalsettings.cpp" line="154"/>
+ <source>Directory that holds movie/TV Banners</source>
+- <translation>Directory that holds movie/TV Banners</translation>
++ <translation>Directory That Holds Movie/TV Banners</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/videoglobalsettings.cpp" line="170"/>
+ <source>Directory that holds movie fanart</source>
+- <translation>Directory that holds movie fanart</translation>
++ <translation>Directory That Holds Movie Fanart</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/videoglobalsettings.cpp" line="185"/>
+ <source>Directory that holds movie trailers</source>
+- <translation>Directory that holds movie trailers</translation>
++ <translation>Directory That Holds Movie Trailers</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/videoglobalsettings.cpp" line="207"/>
+ <source>On DVD insertion</source>
+- <translation>On DVD insertion</translation>
++ <translation>On DVD Insertion</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/videoglobalsettings.cpp" line="209"/>
+ <source>Display mythdvd menu</source>
+- <translation>Display MythDVD menu</translation>
++ <translation>Display MythDVD Menu</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/videoglobalsettings.cpp" line="210"/>
+ <source>Do nothing</source>
+- <translation>Do nothing</translation>
++ <translation>Do Nothing</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/videoglobalsettings.cpp" line="211"/>
+@@ -30970,7 +31612,7 @@
+ <message>
+ <location filename="../programs/mythfrontend/videoglobalsettings.cpp" line="224"/>
+ <source>Video Tree remembers last selected position</source>
+- <translation>Video Tree remembers last selected position</translation>
++ <translation>Video Tree Remembers Last Selected Position</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/videoglobalsettings.cpp" line="229"/>
+@@ -30978,58 +31620,62 @@
+ <translation>If set, the current position in the Video Tree is persistent.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/videoglobalsettings.cpp" line="284"/>
++ <location filename="../programs/mythfrontend/videoglobalsettings.cpp" line="281"/>
+ <source>Enable automatic Parental Level from rating</source>
+- <translation>Enable automatic Parental Level from rating</translation>
++ <translation>Enable Automatic Parental Level from Rating</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/videoglobalsettings.cpp" line="288"/>
++ <location filename="../programs/mythfrontend/videoglobalsettings.cpp" line="285"/>
+ <source>If enabled, searches will automatically set the Parental Level to the one matching the rating below.</source>
+ <translation>If enabled, searches will automatically set the Parental Level to the one matching the rating below.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/videoglobalsettings.cpp" line="301"/>
++ <location filename="../programs/mythfrontend/videoglobalsettings.cpp" line="296"/>
+ <source>G</source>
+ <comment>PL 1 default search string.</comment>
+ <translation>G</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/videoglobalsettings.cpp" line="303"/>
++ <location filename="../programs/mythfrontend/videoglobalsettings.cpp" line="298"/>
+ <source>PG</source>
+ <comment>PL 2 default search string.</comment>
+ <translation>PG</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/videoglobalsettings.cpp" line="305"/>
++ <location filename="../programs/mythfrontend/videoglobalsettings.cpp" line="300"/>
+ <source>PG-13</source>
+ <comment>PL3 default search string.</comment>
+ <translation>PG-13</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/videoglobalsettings.cpp" line="308"/>
++ <location filename="../programs/mythfrontend/videoglobalsettings.cpp" line="303"/>
+ <source>R:NC-17</source>
+ <comment>PL4 default search string.</comment>
+ <translation>R:NC-17</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/videoglobalsettings.cpp" line="319"/>
++ <location filename="../programs/mythfrontend/videoglobalsettings.cpp" line="312"/>
+ <source>Level %1</source>
+ <translation>Level %1</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/videoglobalsettings.cpp" line="322"/>
++ <location filename="../programs/mythfrontend/videoglobalsettings.cpp" line="315"/>
+ <source>Ratings containing these strings (separated by :) will be assigned to Parental Level %1.</source>
+ <translation>Ratings containing these strings (separated by :) will be assigned to Parental Level %1.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/videoglobalsettings.cpp" line="366"/>
++ <location filename="../programs/mythfrontend/videoglobalsettings.cpp" line="341"/>
++ <source>General Settings</source>
++ <translation>General Settings</translation>
++ </message>
++ <message>
++ <location filename="../programs/mythfrontend/videoglobalsettings.cpp" line="354"/>
+ <source>Parental Control Settings</source>
+ <translation>Parental Control Settings</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/videoglobalsettings.cpp" line="382"/>
+ <source>General Settings (%1/%2)</source>
+- <translation>General Settings (%1/%2)</translation>
++ <translation type="vanished">General Settings (%1/%2)</translation>
+ </message>
+ </context>
+ <context>
+@@ -31057,118 +31703,117 @@
+ <context>
+ <name>VideoModeSettings</name>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="2184"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2160"/>
+ <source>Separate video modes for GUI and TV playback</source>
+- <translation>Separate video modes for GUI and TV playback</translation>
++ <translation>Separate Video Modes for GUI and TV Playback</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="2189"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2165"/>
+ <source>Switch X Window video modes for TV. Requires &quot;xrandr&quot; support.</source>
+ <translation>Switch X Window video modes for TV. Requires &quot;xrandr&quot; support.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="2199"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2176"/>
+ <source>In X</source>
+ <comment>Video mode width</comment>
+ <translation>In X</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="2206"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2180"/>
+ <source>Horizontal resolution of video which needs a special output resolution.</source>
+ <translation>Horizontal resolution of video which needs a special output resolution.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="2217"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2192"/>
+ <source>In Y</source>
+ <comment>Video mode height</comment>
+ <translation>In Y</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="2224"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2196"/>
+ <source>Vertical resolution of video which needs a special output resolution.</source>
+ <translation>Vertical resolution of video which needs a special output resolution.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="2234"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2206"/>
+ <source>GUI</source>
+ <translation>GUI</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="2238"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2208"/>
+ <source>Resolution of screen when not watching a video.</source>
+ <translation>Resolution of screen when not watching a video.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="2268"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2238"/>
+ <source>Default screen resolution when watching a video.</source>
+ <translation>Default screen resolution when watching a video.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="2270"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2240"/>
+ <source>Screen resolution when watching a video at a specific resolution.</source>
+ <translation>Screen resolution when watching a video at a specific resolution.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="2276"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2246"/>
+ <source>Video output</source>
+- <translation>Video output</translation>
++ <translation>Video Output</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="2277"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2247"/>
+ <source>Output</source>
+ <translation>Output</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="2298"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2321"/>
+ <source>Default refresh rate when watching a video. Leave at &quot;Auto&quot; to automatically use the best available</source>
+ <translation>Default refresh rate when watching a video. Leave at &quot;Auto&quot; to automatically use the best available</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="2302"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2325"/>
+ <source>Refresh rate when watching a video at a specific resolution. Leave at &quot;Auto&quot; to automatically use the best available</source>
+ <translation>Refresh rate when watching a video at a specific resolution. Leave at &quot;Auto&quot; to automatically use the best available</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="2310"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2334"/>
+ <source>Rate</source>
+ <translation>Rate</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="2322"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2345"/>
+ <source>Aspect ratio when watching a video. Leave at &quot;%1&quot; to use ratio reported by the monitor. Set to 16:9 or 4:3 to force a specific aspect ratio.</source>
+ <translation>Aspect ratio when watching a video. Leave at &quot;%1&quot; to use ratio reported by the monitor. Set to 16:9 or 4:3 to force a specific aspect ratio.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="2330"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2353"/>
+ <source>Aspect ratio when watching a video at a specific resolution. Leave at &quot;%1&quot; to use ratio reported by the monitor. Set to 16:9 or 4:3 to force a specific aspect ratio.</source>
+ <translation>Aspect ratio when watching a video at a specific resolution. Leave at &quot;%1&quot; to use ratio reported by the monitor. Set to 16:9 or 4:3 to force a specific aspect ratio.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="2342"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2365"/>
+ <source>Aspect</source>
+ <translation>Aspect</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="2348"/>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="2350"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2369"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2371"/>
+ <source>Default</source>
+ <translation>Default</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="2360"/>
+ <source>Video Mode Settings</source>
+- <translation>Video Mode Settings</translation>
++ <translation type="vanished">Video Mode Settings</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="2383"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="2398"/>
+ <source>Overrides for specific video sizes</source>
+- <translation>Overrides for specific video sizes</translation>
++ <translation>Overrides for Specific Video Sizes</translation>
+ </message>
+ </context>
+ <context>
+ <name>VideoOutWindow</name>
+ <message>
+- <location filename="../libs/libmythtv/videooutwindow.cpp" line="960"/>
++ <location filename="../libs/libmythtv/videooutwindow.cpp" line="963"/>
+ <source>Zoom %1x%2 @ (%3,%4)</source>
+ <translation>Zoom %1x%2 @ (%3,%4)</translation>
+ </message>
+@@ -31194,17 +31839,17 @@
+ <message>
+ <location filename="../libs/libmythmetadata/videoscan.cpp" line="181"/>
+ <source>Searching for video files</source>
+- <translation>Searching for video files</translation>
++ <translation>Searching for Video Files</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythmetadata/videoscan.cpp" line="258"/>
+ <source>Verifying video files</source>
+- <translation>Verifying video files</translation>
++ <translation>Verifying Video Files</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythmetadata/videoscan.cpp" line="314"/>
+ <source>Updating video database</source>
+- <translation>Updating video database</translation>
++ <translation>Updating Video Database</translation>
+ </message>
+ </context>
+ <context>
+@@ -31212,17 +31857,17 @@
+ <message>
+ <location filename="../programs/mythfrontend/setupwizard_video.cpp" line="70"/>
+ <source>Select from one of the preconfigured playback profiles. When satisfied, you can test Standard Definition and High Definition playback with the selected profile before moving on.</source>
+- <translation>Select from one of the preconfigured playback profiles. When satisfied, you can test Standard Definition and High Definition playback with the selected profile before moving on.</translation>
++ <translation>Select from one of the preconfigured playback profiles. When satisfied, you can test Standard Definition and High Definition playback with the selected profile before moving on.</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/setupwizard_video.cpp" line="75"/>
+ <source>Test your playback settings with Standard Definition content. (480p)</source>
+- <translation>Test your playback settings with Standard Definition content. (480p)</translation>
++ <translation>Test your playback settings with Standard Definition (480p) content.</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/setupwizard_video.cpp" line="77"/>
+ <source>Test your playback settings with High Definition content (1080p).</source>
+- <translation>Test your playback settings with High Definition content (1080p).</translation>
++ <translation>Test your playback settings with High Definition (1080p) content.</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/setupwizard_video.cpp" line="79"/>
+@@ -31275,56 +31920,53 @@
+ <context>
+ <name>VideoSourceEditor</name>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="3887"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="3797"/>
+ <source>Video sources</source>
+- <translation>Video sources</translation>
++ <translation>Video Sources</translation>
++ </message>
++ <message>
++ <location filename="../libs/libmythtv/videosource.cpp" line="3840"/>
++ <source>New video source</source>
++ <translation>New Video Source</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="3929"/>
+ <source>Video Source Menu</source>
+- <translation>Video Source Menu</translation>
++ <translation type="vanished">Video Source Menu</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="3930"/>
+ <source>Edit...</source>
+- <translation>Edit...</translation>
++ <translation type="vanished">Edit...</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="3931"/>
+ <source>Delete...</source>
+- <translation>Delete...</translation>
++ <translation type="vanished">Delete...</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="3948"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="3820"/>
+ <source>Are you sure you want to delete ALL video sources?</source>
+ <translation>Are you sure you want to delete ALL video sources?</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="3950"/>
+ <source>Yes, delete video sources</source>
+- <translation>Yes, delete video sources</translation>
++ <translation type="vanished">Yes, Delete Video Sources</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="3951"/>
+- <location filename="../libs/libmythtv/videosource.cpp" line="3975"/>
+ <source>No, don&apos;t</source>
+- <translation>No, don&apos;t</translation>
++ <translation type="vanished">No, Keep</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="3972"/>
+ <source>Are you sure you want to delete this video source?</source>
+- <translation>Are you sure you want to delete this video source?</translation>
++ <translation type="vanished">Are you sure you want to delete this video source?</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="3974"/>
+ <source>Yes, delete video source</source>
+- <translation>Yes, delete video source</translation>
++ <translation type="vanished">Yes, Delete Video Source</translation>
+ </message>
+ </context>
+ <context>
+ <name>VideoSourceSelector</name>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="71"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="76"/>
+ <source>Video Source</source>
+ <translation>Video Source</translation>
+ </message>
+@@ -31348,93 +31990,93 @@
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/viewscheduled.cpp" line="226"/>
+- <location filename="../programs/mythfrontend/viewscheduled.cpp" line="644"/>
++ <location filename="../programs/mythfrontend/viewscheduled.cpp" line="645"/>
+ <source>Show Important</source>
+ <translation>Show Important</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/viewscheduled.cpp" line="228"/>
+- <location filename="../programs/mythfrontend/viewscheduled.cpp" line="648"/>
++ <location filename="../programs/mythfrontend/viewscheduled.cpp" line="649"/>
+ <source>Show All</source>
+ <translation>Show All</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/viewscheduled.cpp" line="229"/>
+- <location filename="../programs/mythfrontend/viewscheduled.cpp" line="652"/>
++ <location filename="../programs/mythfrontend/viewscheduled.cpp" line="653"/>
+ <source>Program Details</source>
+ <translation>Program Details</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/viewscheduled.cpp" line="230"/>
+- <location filename="../programs/mythfrontend/viewscheduled.cpp" line="656"/>
++ <location filename="../programs/mythfrontend/viewscheduled.cpp" line="657"/>
+ <source>Program Guide</source>
+ <translation>Program Guide</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/viewscheduled.cpp" line="231"/>
+- <location filename="../programs/mythfrontend/viewscheduled.cpp" line="660"/>
++ <location filename="../programs/mythfrontend/viewscheduled.cpp" line="661"/>
+ <source>Channel Search</source>
+ <translation>Channel Search</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/viewscheduled.cpp" line="232"/>
+- <location filename="../programs/mythfrontend/viewscheduled.cpp" line="664"/>
++ <location filename="../programs/mythfrontend/viewscheduled.cpp" line="665"/>
+ <source>Upcoming by title</source>
+- <translation>Upcoming by title</translation>
++ <translation>Upcoming by Title</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/viewscheduled.cpp" line="233"/>
+- <location filename="../programs/mythfrontend/viewscheduled.cpp" line="668"/>
++ <location filename="../programs/mythfrontend/viewscheduled.cpp" line="669"/>
+ <source>Upcoming scheduled</source>
+- <translation>Upcoming scheduled</translation>
++ <translation>Upcoming Scheduled</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/viewscheduled.cpp" line="234"/>
+- <location filename="../programs/mythfrontend/viewscheduled.cpp" line="672"/>
++ <location filename="../programs/mythfrontend/viewscheduled.cpp" line="673"/>
+ <source>Previously Recorded</source>
+ <translation>Previously Recorded</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/viewscheduled.cpp" line="235"/>
+- <location filename="../programs/mythfrontend/viewscheduled.cpp" line="676"/>
++ <location filename="../programs/mythfrontend/viewscheduled.cpp" line="677"/>
+ <source>Custom Edit</source>
+ <translation>Custom Edit</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/viewscheduled.cpp" line="236"/>
+- <location filename="../programs/mythfrontend/viewscheduled.cpp" line="680"/>
++ <location filename="../programs/mythfrontend/viewscheduled.cpp" line="681"/>
+ <source>Delete Rule</source>
+ <translation>Delete Rule</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/viewscheduled.cpp" line="237"/>
+- <location filename="../programs/mythfrontend/viewscheduled.cpp" line="684"/>
++ <location filename="../programs/mythfrontend/viewscheduled.cpp" line="685"/>
+ <source>Show Inputs</source>
+ <translation>Show Inputs</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/viewscheduled.cpp" line="334"/>
+- <location filename="../programs/mythfrontend/viewscheduled.cpp" line="507"/>
++ <location filename="../programs/mythfrontend/viewscheduled.cpp" line="508"/>
+ <source>All</source>
+ <translation>All</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/viewscheduled.cpp" line="493"/>
++ <location filename="../programs/mythfrontend/viewscheduled.cpp" line="494"/>
+ <source>Conflict %1</source>
+ <translation>Conflict %1</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/viewscheduled.cpp" line="500"/>
++ <location filename="../programs/mythfrontend/viewscheduled.cpp" line="501"/>
+ <source>No Conflicts</source>
+ <translation>No Conflicts</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/viewscheduled.cpp" line="509"/>
++ <location filename="../programs/mythfrontend/viewscheduled.cpp" line="510"/>
+ <source>Important</source>
+ <translation>Important</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/viewscheduled.cpp" line="553"/>
++ <location filename="../programs/mythfrontend/viewscheduled.cpp" line="554"/>
+ <source>Delete &apos;%1&apos; %2 rule?</source>
+ <translation>Delete &apos;%1&apos; %2 rule?</translation>
+ </message>
+@@ -31442,52 +32084,52 @@
+ <context>
+ <name>WatchListSettings</name>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="3232"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="3223"/>
+ <source>Include the &apos;Watch List&apos; group</source>
+- <translation>Include the &apos;Watch List&apos; group</translation>
++ <translation>Include the &apos;Watch List&apos; Group</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="3236"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="3227"/>
+ <source>The &apos;Watch List&apos; is an abbreviated list of recordings sorted to highlight series and shows that need attention in order to keep up to date.</source>
+ <translation>The &apos;Watch List&apos; is an abbreviated list of recordings sorted to highlight series and shows that need attention in order to keep up to date.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="3248"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="3239"/>
+ <source>Start from the Watch List view</source>
+- <translation>Start from the Watch List view</translation>
++ <translation>Start from the Watch List View</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="3252"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="3243"/>
+ <source>If enabled, the &apos;Watch List&apos; will be the initial view each time you enter the Watch Recordings screen</source>
+- <translation>If enabled, the &apos;Watch List&apos; will be the initial view each time you enter the Watch Recordings screen</translation>
++ <translation>If Enabled, the &apos;Watch List&apos; Will Be the Initial View Each Time You Enter the Watch Recordings Screen</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="3262"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="3253"/>
+ <source>Exclude recordings not set for Auto-Expire</source>
+- <translation>Exclude recordings not set for Auto-Expire</translation>
++ <translation>Exclude Recordings Not Set for Auto-expire</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="3267"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="3258"/>
+ <source>Set this if you turn off Auto-Expire only for recordings that you&apos;ve seen and intend to keep. This option will exclude these recordings from the &apos;Watch List&apos;.</source>
+- <translation>Set this if you turn off Auto-Expire only for recordings that you&apos;ve seen and intend to keep. This option will exclude these recordings from the &apos;Watch List&apos;.</translation>
++ <translation>Set this if you turn off Auto-expire only for recordings that you&apos;ve seen and intend to keep. This option will exclude these recordings from the &apos;Watch List&apos;.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="3280"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="3271"/>
+ <source>Maximum days counted in the score</source>
+- <translation>Maximum days counted in the score</translation>
++ <translation>Maximum Days Counted in the Score</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="3284"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="3275"/>
+ <source>The &apos;Watch List&apos; scores are based on 1 point equals one day since recording. This option limits the maximum score due to age and affects other weighting factors.</source>
+ <translation>The &apos;Watch List&apos; scores are based on 1 point equals one day since recording. This option limits the maximum score due to age and affects other weighting factors.</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="3296"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="3287"/>
+ <source>Days to exclude weekly episodes after delete</source>
+ <translation>Days to exclude weekly episodes after delete</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="3301"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="3292"/>
+ <source>When an episode is deleted or marked as watched, other episodes of the series are excluded from the &apos;Watch List&apos; for this interval of time. Daily shows also have a smaller interval based on this setting.</source>
+ <translation>When an episode is deleted or marked as watched, other episodes of the series are excluded from the &apos;Watch List&apos; for this interval of time. Daily shows also have a smaller interval based on this setting.</translation>
+ </message>
+@@ -31508,7 +32150,7 @@
+ <message>
+ <location filename="../programs/mythwelcome/welcomedialog.cpp" line="363"/>
+ <source>Tuner %1 is recording:</source>
+- <translation>Tuner %1 is recording:</translation>
++ <translation>Tuner %1 is Recording:</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythwelcome/welcomedialog.cpp" line="371"/>
+@@ -31519,12 +32161,12 @@
+ <message>
+ <location filename="../programs/mythwelcome/welcomedialog.cpp" line="376"/>
+ <source>There are no recordings currently taking place</source>
+- <translation>There are no recordings currently taking place</translation>
++ <translation>There Are No Recordings Currently Taking Place</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythwelcome/welcomedialog.cpp" line="408"/>
+ <source>There are no scheduled recordings</source>
+- <translation>There are no scheduled recordings</translation>
++ <translation>There Are No Scheduled Recordings</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythwelcome/welcomedialog.cpp" line="415"/>
+@@ -31622,12 +32264,12 @@
+ <message>
+ <location filename="../programs/mythwelcome/welcomedialog.cpp" line="656"/>
+ <source>Cannot shutdown because MythTV is currently recording</source>
+- <translation>Cannot shutdown because MythTV is currently recording</translation>
++ <translation>Cannot Shutdown Because MythTV Is Currently Recording</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythwelcome/welcomedialog.cpp" line="667"/>
+ <source>Cannot shutdown because MythTV is about to start recording</source>
+- <translation>Cannot shutdown because MythTV is about to start recording</translation>
++ <translation>Cannot Shutdown Because MythTV Is About to Start Recording</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythwelcome/welcomedialog.cpp" line="678"/>
+@@ -31638,12 +32280,12 @@
+ <context>
+ <name>XMLTV_generic_config</name>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="462"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="613"/>
+ <source>Configure</source>
+ <translation>Configure</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/videosource.cpp" line="463"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="614"/>
+ <source>Run XMLTV configure command.</source>
+ <translation>Run XMLTV configure command.</translation>
+ </message>
diff --git a/abs/core/mythtv/stable-29/mythtv/mythtv.install b/abs/core/mythtv/stable-29/mythtv/mythtv.install
new file mode 100644
index 0000000..aedebbf
--- /dev/null
+++ b/abs/core/mythtv/stable-29/mythtv/mythtv.install
@@ -0,0 +1,34 @@
+# arg 1: the new package version
+post_install() {
+ gen_is_xml.py
+ gen_lib_xml.py
+ systemconfig.py -m config_xml
+}
+
+pre_upgrade() {
+ if [ "`vercmp $2 0.28`" -lt 0 ]
+ then
+ . /etc/systemconfig
+ if [ $SystemType = "Master_backend" -o $SystemType = "Standalone" ]
+ then
+ echo "upgrading from 0.27, adding new storage groups..."
+ add_storage.py --reconstruct_sg
+ fi
+ fi
+ /bin/true
+}
+
+post_upgrade() {
+ post_install
+}
+
+
+# arg 1: the old package version
+post_remove() {
+ /bin/true
+
+}
+
+op=$1
+shift
+$op $*
diff --git a/abs/core/mythtv/stable-29/mythtv/recordings b/abs/core/mythtv/stable-29/mythtv/recordings
new file mode 100644
index 0000000..5dff16f
--- /dev/null
+++ b/abs/core/mythtv/stable-29/mythtv/recordings
@@ -0,0 +1,145 @@
+#!/bin/bash
+
+#START=$(date +%s)
+
+#check if mythbackend is running and was just started
+for i in 1 2
+do
+if [ `cat /service/mythbackend/supervise/pid` ]
+then
+ now=$(date +%s)
+ mythbackendStartTime=`stat -c %Y /service/mythbackend/supervise/pid`
+ if [[ $(( $now - $mythbackendStartTime )) -lt 59 ]]
+ then
+ #echo "mythbackend started less than a minute ago. Sleeping..."
+ sleep 60
+ fi
+else
+ #echo "mythbackend not running. exiting."
+ exit
+fi
+done
+
+if [ -f /usr/share/mythtv/contrib/user_jobs/mythlink.pl ]
+then
+ recdir="/data/storage/disk0/media/recordings"
+ tmprecdir="/data/storage/disk0/media/tmp/recordings"
+ rm -r $tmprecdir
+ su - mythtv -c "perl /usr/share/mythtv/contrib/user_jobs/mythlink.pl --format '%Ct/%U/%T/%T %- S%ssE%ep %- %oY-%om-%od = %S' --link '$tmprecdir'"
+
+ # rename category_types (%Ct) from numbers to names
+ for cattype in $tmprecdir/*
+ do
+ if [ $cattype == "$tmprecdir/1" ]
+ then
+ rsync -a "$cattype/" "$tmprecdir/Movies"
+ rm -r "$cattype"
+ elif [[ $cattype == "$tmprecdir/2" ]] || [[ $cattype == "$tmprecdir/4" ]]
+ then
+ rsync -a "$cattype/" "$tmprecdir/TV Shows"
+ rm -r "$cattype"
+ elif [ $cattype == "$tmprecdir/3" ]
+ then
+ rsync -a "$cattype/" "$tmprecdir/Sports"
+ rm -r "$cattype"
+ else
+ #ignore Movies, TV Shows, Sports. Move all others to TV Shows
+ if [[ $cattype != "$tmprecdir/Movies" ]] && [[ $cattype != "$tmprecdir/TV Shows" ]] && [[ $cattype != "$tmprecdir/Sports" ]]
+ then
+ if [ ! -d "$tmprecdir/TV Shows" ]
+ then
+ mkdir "$tmprecdir/TV Shows"
+ fi
+ rsync -a "$cattype" "$tmprecdir/TV Shows"
+ rm -r "$cattype"
+ fi
+ fi
+ done
+
+ #delete Deleted recgroup
+ for link in $tmprecdir/**/Deleted
+ do
+ rm -r "$link"
+ done
+
+ #move all links in recgroup dirs out to parent dir
+ for recgroup in $tmprecdir/**/*
+ do
+ if [ -d "$recgroup" ]
+ then
+ cd "$recgroup"
+ rsync -a "$recgroup/" ..
+ cd "$tmprecdir"
+ rm -r "$recgroup"
+ fi
+ done
+
+ #replace SE if no season/episode is in myth
+ for link in $tmprecdir/**/**/*\ -\ SE\ -\ *
+ do
+ newlink=`echo "$link" | sed 's/ - SE - / - /'`
+ mv "$link" "$newlink"
+ done
+ #replace SEyy if no season is in myth
+ for link in $tmprecdir/**/**/*\ -\ SE[0-9][0-9]\ -\ *
+ do
+ newlink=`echo "$link" | sed 's/ - SE/ - S00E/'`
+ mv "$link" "$newlink"
+ done
+ #replace SyyE if no episode is in myth
+ for link in $tmprecdir/**/**/*\ -\ S[0-9][0-9]E\ -\ *
+ do
+ newlink=`echo "$link" | sed 's/E - /E00 - /'`
+ mv "$link" "$newlink"
+ done
+ #replace blank original date
+ for link in $tmprecdir/**/**/*\ -\ 0000-00-00\ -\ *
+ do
+ newlink=`echo "$link" | sed 's/ - 0000-00-00 - / - /'`
+ mv "$link" "$newlink"
+ done
+ #add dash pt suffix if filename before the subtitle is the same
+ #so that plex will scan and include in library
+ uniqs="$(ls $tmprecdir/**/**/* | sed 's/ = .*//' | sort | uniq -d)"
+ SAVEIFS=$IFS
+ IFS=$'\n'
+ for link in $uniqs
+ do
+ i=1
+ for dup in `ls -v $link*`
+ do
+ newlink=`echo "$dup" | sed "s/ = /-pt$i = /"`
+ mv "$dup" "$newlink"
+ i=$((i+1))
+ done
+ done
+ IFS=$SAVEIFS
+
+ #change symlinks mtime to match the file it is linked to
+# for link in $tmprecdir/**/*
+# do
+# if [ -L "$link" ]
+# then
+# file=`readlink "$link"`
+# touch -hr "$file" "$link"
+# fi
+# done
+
+ #sync tmprecdir to recdir
+ #rsync -aOP --delete --ignore-existing "$tmprecdir/" "$recdir/"
+ rsync -aO --delete "$tmprecdir/" "$recdir/"
+
+ #check if plex media server is running
+ if [[ `pidof "Plex Media Server"` ]]
+ then
+ #get plex section and update
+ script -q -c '/usr/LH/bin/plexmediascanner.sh -l' | grep -i myth | cut -d: -f1 | while read -r line
+ do
+ /usr/LH/bin/plexmediascanner.sh --scan --refresh --section $line
+ done
+ fi
+fi
+
+#END=$(date +%s)
+#DIFF=$(( $END - $START ))
+#echo "It took $DIFF seconds"
diff --git a/abs/core/mythtv/stable-29/mythtv/searchMetatdataSelectedGrabber.patch b/abs/core/mythtv/stable-29/mythtv/searchMetatdataSelectedGrabber.patch
new file mode 100644
index 0000000..41e0871
--- /dev/null
+++ b/abs/core/mythtv/stable-29/mythtv/searchMetatdataSelectedGrabber.patch
@@ -0,0 +1,18 @@
+--- src/mythtv/libs/libmythmetadata/metadatadownload.cpp.orig 2016-10-06 19:52:36.807746878 +0000
++++ src/mythtv/libs/libmythmetadata/metadatadownload.cpp 2016-10-06 19:42:06.045651726 +0000
+@@ -517,6 +517,7 @@
+
+ // initial search mode
+ if (!lookup->GetInetref().isEmpty() && lookup->GetInetref() != "00000000" &&
++ !lookup->GetInetref().endsWith("_") &&
+ (lookup->GetStep() == kLookupSearch || lookup->GetStep() == kLookupData))
+ {
+ // with inetref
+@@ -575,6 +576,7 @@
+
+ // initial search mode
+ if (!lookup->GetInetref().isEmpty() && lookup->GetInetref() != "00000000" &&
++ !lookup->GetInetref().endsWith("_") &&
+ (lookup->GetStep() == kLookupSearch || lookup->GetStep() == kLookupData))
+ {
+ // with inetref
diff --git a/abs/core/mythtv/stable-29/mythtv/suggestedstarttime.patch.v1 b/abs/core/mythtv/stable-29/mythtv/suggestedstarttime.patch.v1
new file mode 100644
index 0000000..26d4c36
--- /dev/null
+++ b/abs/core/mythtv/stable-29/mythtv/suggestedstarttime.patch.v1
@@ -0,0 +1,32 @@
+diff --git a/mythtv/programs/mythbackend/httpstatus.cpp b/mythtv/programs/mythbackend/httpstatus.cpp
+index 8571a58..be0272f 100644
+--- a/mythtv/programs/mythbackend/httpstatus.cpp
++++ b/mythtv/programs/mythbackend/httpstatus.cpp
+@@ -1392,13 +1392,17 @@ int HttpStatus::PrintMachineInfo( QTextStream &os, QDomElement info )
+ QString sStatus = e.attribute( "status" , "" );
+ QDateTime next = MythDate::fromString( e.attribute( "next" , "" ));
+ QString sNext = next.isNull() ? "" :
+- MythDate::toString(next, MythDate::kDatabase);
++ MythDate::toString(next, MythDate::kDateTimeFull);
+ QString sMsg = "";
+
+ QDateTime thru = MythDate::fromString( e.attribute( "guideThru", "" ));
+
+ QDomText text = e.firstChild().toText();
+
++ QString mfdblrs =
++ gCoreContext->GetSetting("mythfilldatabaseLastRunStart");
++ QDateTime lastrunstart = MythDate::fromString(mfdblrs);
++
+ if (!text.isNull())
+ sMsg = text.nodeValue();
+
+@@ -1412,7 +1416,7 @@ int HttpStatus::PrintMachineInfo( QTextStream &os, QDomElement info )
+
+ os << sStatus << "<br />\r\n";
+
+- if (!next.isNull() && sNext >= sStart)
++ if (!next.isNull() && next >= lastrunstart)
+ {
+ os << " Suggested next mythfilldatabase run: "
+ << sNext << ".<br />\r\n";
diff --git a/abs/core/mythtv/stable-29/mythtv/videoAlwaysUseBookmark.patch b/abs/core/mythtv/stable-29/mythtv/videoAlwaysUseBookmark.patch
new file mode 100644
index 0000000..7a0b428
--- /dev/null
+++ b/abs/core/mythtv/stable-29/mythtv/videoAlwaysUseBookmark.patch
@@ -0,0 +1,22 @@
+--- src/mythtv/programs/mythfrontend/main.cpp.orig 2014-10-05 21:16:54.226667223 +0000
++++ src/mythtv/programs/mythfrontend/main.cpp 2014-10-06 20:31:16.822482368 +0000
+@@ -1166,14 +1166,11 @@
+
+ if (useBookmark && bookmarkPresent)
+ {
+- MythScreenStack *mainStack = GetMythMainWindow()->GetMainStack();
+- BookmarkDialog *bookmarkdialog = new BookmarkDialog(pginfo, mainStack);
+- if (!bookmarkdialog->Create())
+- {
+- delete bookmarkdialog;
+- delete pginfo;
+- return res;
+- }
++ TV::StartTV(pginfo, kStartTVNoFlags);
++
++ res = 0;
++
++ delete pginfo;
+ }
+ else
+ {
diff --git a/abs/core/mythtv/stable-29/mythweb/PKGBUILD b/abs/core/mythtv/stable-29/mythweb/PKGBUILD
new file mode 100644
index 0000000..d294694
--- /dev/null
+++ b/abs/core/mythtv/stable-29/mythweb/PKGBUILD
@@ -0,0 +1,58 @@
+pkgname=mythweb
+pkgver=29
+pkgrel=2
+commit_hash=`cat ../git_src/git_hash_web`
+pkgdesc="Web interface for MythTV's backend, $commit_hash"
+arch=('i686' 'x86_64')
+url="http://www.mythtv.org"
+license=('GPL')
+depends=('lighttpd' "mythtv>=${pkgver}" 'php' 'supplemental-web')
+groups=('mythtv-extras')
+install=mythweb.install
+
+patches=()
+source=(`echo ${patches[@]:0}`
+ 'mythweb.include'
+ 'mythweb_gen_light.conf')
+
+build() {
+ if [ -e ${srcdir}/mythweb ]
+ then
+ msg "Removing old mythweb src"
+ rm -rf ${srcdir}/mythweb
+ fi
+
+ cd ${startdir}
+ msg "Copying in mythweb git_src"
+ cp -rp ../git_src/mythweb $srcdir
+ cd ${srcdir}/$pkgname
+
+ msg "--------------------------applying patches------------------------------"
+ for i in `echo ${patches[@]:0} `
+ do
+ echo applying $i
+ echo "-----------------------------"
+ patch -Np0 -i ${srcdir}/$i || return 1
+ done
+ msg "--------------------------done applying patches-------------------------"
+
+ [ "$CARCH" = "i686" ] && ARCH="i686"
+ [ "$CARCH" = "x86_64" ] && ARCH="x86-64"
+}
+
+package() {
+ DOCROOT=/data/srv/httpd/mythweb
+ mkdir -p $pkgdir/$DOCROOT/{image_cache,php_sessions,data}
+ rsync -arp --exclude .git* --delete-excluded $srcdir/mythweb/* $pkgdir/$DOCROOT
+ rm $pkgdir/$DOCROOT/README
+ chown -R http:http $pkgdir/$DOCROOT
+ chmod -R 775 $pkgdir/$DOCROOT/{image_cache,php_sessions,data}
+
+ #install conf files for lighttpd
+ mkdir -p $pkgdir/etc/lighttpd
+ install -D -m 644 $srcdir/mythweb.include $pkgdir/etc/lighttpd/
+ #gen_light_conf
+ install -D -m0744 ${srcdir}/mythweb_gen_light.conf ${pkgdir}/etc/gen_light_conf.d/mythweb.conf
+}
+md5sums=('7645a6399434cbba35639713ac5d88e0'
+ 'df190116b3aba35720fb6631885f973f')
diff --git a/abs/core/mythtv/stable-29/mythweb/mythweb.include b/abs/core/mythtv/stable-29/mythweb/mythweb.include
new file mode 100644
index 0000000..18e9be1
--- /dev/null
+++ b/abs/core/mythtv/stable-29/mythweb/mythweb.include
@@ -0,0 +1,8 @@
+alias.url += ( "/mythweb" => "/data/srv/httpd/mythweb/")
+
+url.rewrite-once = (
+"^/{1,2}mythweb/(css|data|images|js|themes|skins|[a-z_]+\.(php|pl)).*" => "$0",
+"^/{1,2}mythweb/(pl(/.*)?)$" => "/mythweb/mythweb.pl/$1",
+"^/{1,2}mythweb/(.+)$" => "/mythweb/mythweb.php/$1",
+"^/{1,2}mythweb/(.*)$" => "/mythweb/mythweb.php"
+) \ No newline at end of file
diff --git a/abs/core/mythtv/stable-29/mythweb/mythweb.install b/abs/core/mythtv/stable-29/mythweb/mythweb.install
new file mode 100644
index 0000000..b8e31a8
--- /dev/null
+++ b/abs/core/mythtv/stable-29/mythweb/mythweb.install
@@ -0,0 +1,22 @@
+post_install() {
+ echo "==> Setting mythweb permissions."
+ chmod -R 755 /data/srv/httpd/mythweb/
+ chown mythtv:http /data/srv/httpd/mythweb/data/tv_icons
+ chmod -R 775 /data/srv/httpd/mythweb/{image_cache,php_sessions,data}
+ echo "==> Reading lighttpd's configuration file."
+ gen_light_include.py
+ echo "==> Restarting lighttpd."
+ /sbin/sv hup /service/lighttpd
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ gen_light_include.py
+ echo
+ echo "==> Forcing a re-read of lighttpd's configuration file."
+ echo ""
+ /sbin/sv hup /service/lighttpd
+}
diff --git a/abs/core/mythtv/stable-29/mythweb/mythweb_gen_light.conf b/abs/core/mythtv/stable-29/mythweb/mythweb_gen_light.conf
new file mode 100644
index 0000000..ddf0d2f
--- /dev/null
+++ b/abs/core/mythtv/stable-29/mythweb/mythweb_gen_light.conf
@@ -0,0 +1 @@
+include "/etc/lighttpd/mythweb.include"
diff --git a/abs/core/nvidia-304xx-utils/PKGBUILD b/abs/core/nvidia-304xx-utils/PKGBUILD
index 7f2c108..699a06d 100644
--- a/abs/core/nvidia-304xx-utils/PKGBUILD
+++ b/abs/core/nvidia-304xx-utils/PKGBUILD
@@ -4,9 +4,9 @@
pkgbase=nvidia-304xx-utils
pkgname=('nvidia-304xx-utils' 'opencl-nvidia-304xx')
-pkgver=304.135
-pkgrel=6
-arch=('i686' 'x86_64')
+pkgver=304.137
+pkgrel=1
+arch=('x86_64')
url="http://www.nvidia.com/"
license=('custom')
makedepends=('zlib')
@@ -15,8 +15,8 @@ source=(nvidia-drm-outputclass.conf)
source_i686=("http://us.download.nvidia.com/XFree86/Linux-x86/${pkgver}/NVIDIA-Linux-x86-${pkgver}.run")
source_x86_64=("http://us.download.nvidia.com/XFree86/Linux-x86_64/${pkgver}/NVIDIA-Linux-x86_64-${pkgver}-no-compat32.run")
md5sums=('a433deeb5f9cc661e537f42bde2f1df7')
-md5sums_i686=('0e2082ae8490b135eb306befe6db56e1')
-md5sums_x86_64=('8ee9bd0b020508bca9953181811422fa')
+md5sums_i686=('133098e70581f6b81c481338cc20f100')
+md5sums_x86_64=('485506ee6a7c54780488dacddf1d56b1')
if [ "$CARCH" = "i686" ]; then
_arch='x86'
diff --git a/abs/core/nvidia-304xx/PKGBUILD b/abs/core/nvidia-304xx/PKGBUILD
index 3ce7ce4..cb0b9e9 100644
--- a/abs/core/nvidia-304xx/PKGBUILD
+++ b/abs/core/nvidia-304xx/PKGBUILD
@@ -4,78 +4,68 @@
pkgbase=nvidia-304xx
pkgname=(nvidia-304xx nvidia-304xx-dkms)
-pkgver=304.135
+pkgver=304.137
_extramodules=extramodules-4.9-ARCH
-pkgrel=5
-arch=('i686' 'x86_64')
+pkgrel=8
+pkgdesc="NVIDIA drivers for linux, 304xx legacy branch"
+arch=('x86_64')
url="http://www.nvidia.com/"
-makedepends=('linux' 'linux-headers>=4.9' 'linux-headers<4.10')
+makedepends=("nvidia-304xx-utils=${pkgver}" 'linux' 'linux-headers>=4.9' 'linux-headers<4.10')
conflicts=('nvidia')
license=('custom')
options=('!strip')
-source=('disable-mtrr.patch'
- 'drm-driver-legacy.patch'
- 'kernel_4.10.patch'
- 'kernel_4.11.patch')
-source_i686+=("http://us.download.nvidia.com/XFree86/Linux-x86/${pkgver}/NVIDIA-Linux-x86-${pkgver}.run")
-source_x86_64+=("http://us.download.nvidia.com/XFree86/Linux-x86_64/${pkgver}/NVIDIA-Linux-x86_64-${pkgver}-no-compat32.run")
-sha512sums=('54e8825e523f11706890e09e476498f3a30f75ce4e350ff2ff8a1e1c3af574d9ccfb8903543766b6863d94cdfbf46e68cd3d33380867dd976cafc8dd2dd78774'
- 'fa39dee5c9f1ea98286c87165f683ee194b2cb4056aa6b556e822b9ee760dcf3683ea001c3704e79b9ac9712314d7df5690dc7f68440cda7a96791f94425455d'
- '68dabbf6ad889c46bd0c01ebb697b80f4aa526ef1cdc53de008343a243adefc6ce7f2778be7005f2d79f3d23c0a3ff69f67ecdb9f97c0feb0ec99405a0c1046a'
- 'da3d1698af8b97e8fc3b6d3c690925e0258f8b6ad26a24f8d32c04a5a82701655208021f9f5af0ce44cb397a7422e2776a05193204bc7e4ac2b98f6e173984ea')
-sha512sums_i686=('c2645cc9a6f23641d8b6da51e72e203980068c05e365fcc73b32322a6875ce95e81f4e0d893276e14e84e93464488539c16db6b3be04f5324cf7d7a12bb557f8')
-sha512sums_x86_64=('a5aa48baa75eb267bd193e59328aa5fbc15d41045bb7e97aa1b96b918b9e68a1c1bf95624d9d494336256e0af2c41e188d30fe91be4967084de3387f50d3805c')
+source=("http://us.download.nvidia.com/XFree86/Linux-x86_64/${pkgver}/NVIDIA-Linux-x86_64-${pkgver}-no-compat32.run"
+ 'disable-mtrr.patch' 'kernel-4.14.patch')
+sha512sums=('4ab648647e4f3e2c352b2eab6454c264fe4728d8eb1264fafee2a4ab1a4ce59516abcf8490044d31e35309ea951e564cc217e13f7139a48bbf650a4238c5b87c'
+ '54e8825e523f11706890e09e476498f3a30f75ce4e350ff2ff8a1e1c3af574d9ccfb8903543766b6863d94cdfbf46e68cd3d33380867dd976cafc8dd2dd78774'
+ 'ccaa40e085d985ec4280003e36dd06e60958ed1408867379fd21a68a18d48aa4be311bf9ad1e804f7a7245c90be98e919d2ec30f45d290f1cdb19c866bdb8a8d')
-[[ "$CARCH" = "i686" ]] && _pkg="NVIDIA-Linux-x86-${pkgver}"
-[[ "$CARCH" = "x86_64" ]] && _pkg="NVIDIA-Linux-x86_64-${pkgver}-no-compat32"
+_pkg="NVIDIA-Linux-x86_64-${pkgver}-no-compat32"
prepare() {
- cd "${srcdir}"
sh "${_pkg}.run" --extract-only
cd "${_pkg}"
# patches here
- patch -Np1 --no-backup-if-mismatch -i ../kernel_4.10.patch
- patch -Np1 --no-backup-if-mismatch -i ../kernel_4.11.patch
+
+ patch -Np1 --no-backup-if-mismatch < "${srcdir}/kernel-4.14.patch"
# FS#47092
- #(cd kernel; patch -p1 --no-backup-if-mismatch -i "$srcdir"/disable-mtrr.patch)
- (cd kernel; patch -p1 --no-backup-if-mismatch -i "$srcdir"/drm-driver-legacy.patch)
+ #patch -d kernel -Np1 --no-backup-if-mismatch < "${srcdir}/disable-mtrr.patch"
cp -a kernel kernel-dkms
}
build() {
_kernver="$(cat /usr/lib/modules/${_extramodules}/version)"
- cd "${_pkg}/kernel"
+ cd "${_pkg}"/kernel
make SYSSRC=/usr/lib/modules/"${_kernver}/build" module
}
package_nvidia-304xx() {
pkgdesc="NVIDIA drivers for linux, 304xx legacy branch"
- depends=('linux>=4.9' 'linux<4.10' 'libgl' "nvidia-304xx-utils=${pkgver}")
- conflicts+=('nvidia-304xx-dkms')
- install=nvidia-304xx.install
+ depends=('linux>=4.9' 'linux<4.10' "nvidia-304xx-utils=${pkgver}" 'libgl')
+
+ install -Dt "${pkgdir}/usr/lib/modules/${_extramodules}" -m644 \
+ "${srcdir}/${_pkg}/kernel"/nvidia.ko
- install -D -m644 "${srcdir}/${_pkg}/kernel/nvidia.ko" \
- "${pkgdir}/usr/lib/modules/${_extramodules}/nvidia.ko"
- install -d -m755 "${pkgdir}/usr/lib/modprobe.d"
- echo "blacklist nouveau" >> "${pkgdir}/usr/lib/modprobe.d/nvidia.conf"
- sed -i -e "s/EXTRAMODULES='.*'/EXTRAMODULES='${_extramodules}'/" "${startdir}/${pkgname}.install"
- gzip "${pkgdir}/usr/lib/modules/${_extramodules}/nvidia.ko"
+ find "${pkgdir}" -name '*.ko' -exec gzip -n {} +
- # the license file is part of nvidia-304xx-utils - the module depends on it, so we don't ship it another time.
+ echo "blacklist nouveau" |
+ install -Dm644 /dev/stdin "${pkgdir}/usr/lib/modprobe.d/nvidia.conf"
}
package_nvidia-304xx-dkms() {
pkgdesc="NVIDIA driver sources for linux, 304xx legacy branch"
- depends=('dkms' "nvidia-304xx-utils=$pkgver")
+ depends=('dkms' "nvidia-304xx-utils=$pkgver" 'libgl')
optdepends=('linux-headers: Build the module for Arch kernel'
'linux-lts-headers: Build the module for LTS Arch kernel')
- conflicts+=('nvidia-304xx')
+ conflicts+=('nvidia-304xx')
cd ${_pkg}
- make -C kernel clean
- install -dm 755 "${pkgdir}"/usr/{lib/modprobe.d,src}
- cp -dr --no-preserve='ownership' kernel-dkms "${pkgdir}"/usr/src/nvidia-${pkgver}
- echo 'blacklist nouveau' > "${pkgdir}"/usr/lib/modprobe.d/nvidia.conf
+
+ install -dm 755 "${pkgdir}"/usr/src
+ cp -dr --no-preserve='ownership' kernel-dkms "${pkgdir}/usr/src/nvidia-${pkgver}"
+
+ echo "blacklist nouveau" |
+ install -Dm644 /dev/stdin "${pkgdir}/usr/lib/modprobe.d/nvidia.conf"
}
diff --git a/abs/core/nvidia-304xx/drm-driver-legacy.patch b/abs/core/nvidia-304xx/drm-driver-legacy.patch
deleted file mode 100644
index 32ac75c..0000000
--- a/abs/core/nvidia-304xx/drm-driver-legacy.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-Author: Luca Boccassi <luca.boccassi@gmail.com>
-Description: Fix kernel module load on 4.9 and greater
- From kernel 4.9 and newer (commit fa5386459f06) non-modesetting drivers have
- to use the DRM flag DRIVER_LEGACY. Without this flag the kernel module does
- not load correctly.
-
---- a/nv-drm.c
-+++ b/nv-drm.c
-@@ -71,7 +71,11 @@
- };
-
- static struct drm_driver nv_drm_driver = {
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 9, 0)
- .driver_features = 0,
-+#else
-+ .driver_features = DRIVER_LEGACY,
-+#endif
- .load = nv_drm_load,
- .unload = nv_drm_unload,
- .fops = &nv_drm_fops,
diff --git a/abs/core/nvidia-304xx/kernel-4.14.patch b/abs/core/nvidia-304xx/kernel-4.14.patch
new file mode 100644
index 0000000..a38adbd
--- /dev/null
+++ b/abs/core/nvidia-304xx/kernel-4.14.patch
@@ -0,0 +1,29 @@
+diff -u -r NVIDIA-Linux-x86_64-340.104-no-compat32/kernel/nv-drm.c NVIDIA-Linux-x86_64-340.104-no-compat32-kernel4.14/kernel/nv-drm.c
+--- NVIDIA-Linux-x86_64-340.104-no-compat32/kernel/nv-drm.c 2017-09-15 01:16:51.000000000 +0200
++++ NVIDIA-Linux-x86_64-340.104-no-compat32-kernel4.14/kernel/nv-drm.c 2017-11-19 00:51:45.006654148 +0100
+@@ -173,8 +173,12 @@
+ {
+ int ret = 0;
+ #if defined(NV_DRM_AVAILABLE)
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 14, 0)
++ ret = drm_legacy_pci_init(&nv_drm_driver, pci_driver);
++#else
+ ret = drm_pci_init(&nv_drm_driver, pci_driver);
+ #endif
++#endif
+ return ret;
+ }
+
+@@ -183,8 +187,12 @@
+ )
+ {
+ #if defined(NV_DRM_AVAILABLE)
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 14, 0)
++ drm_legacy_pci_exit(&nv_drm_driver, pci_driver);
++#else
+ drm_pci_exit(&nv_drm_driver, pci_driver);
+ #endif
++#endif
+ }
+
+ RM_STATUS NV_API_CALL nv_alloc_os_descriptor_handle(
diff --git a/abs/core/nvidia-304xx/kernel_4.10.patch b/abs/core/nvidia-304xx/kernel_4.10.patch
deleted file mode 100644
index 1e98740..0000000
--- a/abs/core/nvidia-304xx/kernel_4.10.patch
+++ /dev/null
@@ -1,105 +0,0 @@
-From d270372bf8abcf45409b30cdb33069280527b0ff Mon Sep 17 00:00:00 2001
-From: Alberto Milone <alberto.milone@canonical.com>
-Date: Wed, 15 Feb 2017 18:01:02 +0100
-Subject: [PATCH 1/1] Add support for Linux 4.10
-
----
- nv-linux.h | 5 +++++
- nv-pat.c | 40 ++++++++++++++++++++++++++++++++++++++++
- 2 files changed, 45 insertions(+)
-
-diff --git a/kernel/nv-linux.h b/kernel/nv-linux.h
-index b46e71f..3081c06 100644
---- a/kernel/nv-linux.h
-+++ b/kernel/nv-linux.h
-@@ -1895,8 +1895,13 @@ static inline NvU64 nv_node_end_pfn(int nid)
-
- #else
-
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 10, 0)
- return get_user_pages_remote(tsk, mm, start, nr_pages, flags,
- pages, vmas);
-+#else
-+ return get_user_pages_remote(tsk, mm, start, nr_pages, flags,
-+ pages, vmas, NULL);
-+#endif
-
- #endif
-
-diff --git a/kernel/nv-pat.c b/kernel/nv-pat.c
-index e71e81c..d742789 100644
---- a/kernel/nv-pat.c
-+++ b/kernel/nv-pat.c
-@@ -203,6 +203,7 @@ void nv_disable_pat_support(void)
- }
-
- #if defined(NV_ENABLE_PAT_SUPPORT) && defined(NV_ENABLE_HOTPLUG_CPU)
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 10, 0)
- static int
- nv_kern_cpu_callback(struct notifier_block *nfb, unsigned long action, void *hcpu)
- {
-@@ -234,6 +235,34 @@ static struct notifier_block nv_hotcpu_nfb = {
- .notifier_call = nv_kern_cpu_callback,
- .priority = 0
- };
-+#else
-+static int nvidia_cpu_online(unsigned int hcpu)
-+{
-+ unsigned int cpu = get_cpu();
-+ if (cpu == hcpu)
-+ nv_setup_pat_entries(NULL);
-+ else
-+ NV_SMP_CALL_FUNCTION(nv_setup_pat_entries, (void *)(long int)hcpu, 1);
-+
-+ put_cpu();
-+
-+ return 0;
-+}
-+
-+static int nvidia_cpu_down_prep(unsigned int hcpu)
-+{
-+ unsigned int cpu = get_cpu();
-+ if (cpu == hcpu)
-+ nv_restore_pat_entries(NULL);
-+ else
-+ NV_SMP_CALL_FUNCTION(nv_restore_pat_entries, (void *)(long int)hcpu, 1);
-+
-+ put_cpu();
-+
-+ return 0;
-+}
-+#endif
-+
- #endif
-
- int nv_init_pat_support(nv_stack_t *sp)
-@@ -255,7 +284,14 @@ int nv_init_pat_support(nv_stack_t *sp)
- #if defined(NV_ENABLE_PAT_SUPPORT) && defined(NV_ENABLE_HOTPLUG_CPU)
- if (nv_pat_mode == NV_PAT_MODE_BUILTIN)
- {
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 10, 0)
- if (register_hotcpu_notifier(&nv_hotcpu_nfb) != 0)
-+#else
-+ if (cpuhp_setup_state(CPUHP_AP_ONLINE_DYN,
-+ "gpu/nvidia:online",
-+ nvidia_cpu_online,
-+ nvidia_cpu_down_prep) != 0)
-+#endif
- {
- nv_disable_pat_support();
- nv_printf(NV_DBG_ERRORS,
-@@ -280,7 +316,11 @@ void nv_teardown_pat_support(void)
- {
- nv_disable_pat_support();
- #if defined(NV_ENABLE_PAT_SUPPORT) && defined(NV_ENABLE_HOTPLUG_CPU)
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 10, 0)
- unregister_hotcpu_notifier(&nv_hotcpu_nfb);
-+#else
-+ cpuhp_remove_state_nocalls(CPUHP_AP_ONLINE_DYN);
-+#endif
- #endif
- }
- }
---
-2.7.4
-
diff --git a/abs/core/nvidia-304xx/nvidia-304xx.install b/abs/core/nvidia-304xx/nvidia-304xx.install
deleted file mode 100644
index 9858d46..0000000
--- a/abs/core/nvidia-304xx/nvidia-304xx.install
+++ /dev/null
@@ -1,13 +0,0 @@
-post_install() {
- EXTRAMODULES='extramodules-4.9-ARCH'
- depmod $(cat /usr/lib/modules/$EXTRAMODULES/version)
- echo 'In order to use nvidia module, reboot the system.'
-}
-
-post_upgrade() {
- post_install
-}
-
-post_remove() {
- post_install
-}
diff --git a/abs/core/nvidia-340xx-utils/PKGBUILD b/abs/core/nvidia-340xx-utils/PKGBUILD
index 89c759f..9d132f3 100644
--- a/abs/core/nvidia-340xx-utils/PKGBUILD
+++ b/abs/core/nvidia-340xx-utils/PKGBUILD
@@ -5,9 +5,9 @@
pkgbase=nvidia-340xx-utils
pkgname=('nvidia-340xx-utils' 'opencl-nvidia-340xx')
-pkgver=340.102
-pkgrel=8
-arch=('i686' 'x86_64')
+pkgver=340.104
+pkgrel=1
+arch=('x86_64')
url="http://www.nvidia.com/"
license=('custom')
options=('!strip')
@@ -15,8 +15,8 @@ source=(nvidia-drm-outputclass.conf)
source_i686=("http://us.download.nvidia.com/XFree86/Linux-x86/${pkgver}/NVIDIA-Linux-x86-${pkgver}.run")
source_x86_64=("http://us.download.nvidia.com/XFree86/Linux-x86_64/${pkgver}/NVIDIA-Linux-x86_64-${pkgver}-no-compat32.run")
sha512sums=('cfea06a816ac4a8b728b1ec728d667cdcca604abb038e8b5313b434021caad06a586856b8b3a6c79f8c925629360f5a051ca3de5ab46a42af76b9d0615d2bbbe')
-sha512sums_i686=('bea700c925a6044fcded40324bb389c5fa1aadc40831f685a76e7b0ded11161f492960950c201467e564d157dcbe0c330d13a2014f51d0073002c5a262a6f0ca')
-sha512sums_x86_64=('2a29e6418244ea384e4237d74057bd8e56247b1c503cf623dea34a3b1065d8783879aa7e6a802dd31f0a10cf81cfcab2a1b1a8269b97996f15fa1838c0a3a44b')
+sha512sums_i686=('8dacd5345a5794e862f4106ab9e8e402defa7883dd176c243d019209b560fe955d7576a13936364c01c5a249f15df58208308c9378c12c3438784376e5fb806c')
+sha512sums_x86_64=('e962494561728af5a911354bfb3560e414464f7858f30f9654eac5ca56175bc8498d1eee93a18248c63e9eee7d84807ef924fe9f53239644d7085b0f3502bf8c')
[[ "$CARCH" = "i686" ]] && _pkg="NVIDIA-Linux-x86-${pkgver}"
[[ "$CARCH" = "x86_64" ]] && _pkg="NVIDIA-Linux-x86_64-${pkgver}-no-compat32"
diff --git a/abs/core/nvidia-340xx/4.10.0_kernel.patch b/abs/core/nvidia-340xx/4.10.0_kernel.patch
deleted file mode 100644
index f4297b1..0000000
--- a/abs/core/nvidia-340xx/4.10.0_kernel.patch
+++ /dev/null
@@ -1,131 +0,0 @@
-From 983a2ca221a371e08bb5ad11758a729cfa5aa88c Mon Sep 17 00:00:00 2001
-From: Alberto Milone <alberto.milone@canonical.com>
-Date: Wed, 15 Feb 2017 17:05:55 +0100
-Subject: [PATCH 1/1] Add support for Linux 4.10
-
----
- nv-linux.h | 7 +++++++
- nv-pat.c | 40 ++++++++++++++++++++++++++++++++++++++++
- uvm/nvidia_uvm_lite.c | 4 ++++
- 3 files changed, 51 insertions(+)
-
-diff --git a/kernel/nv-linux.h b/kernel/nv-linux.h
-index e7068e3..2d62492 100644
---- a/kernel/nv-linux.h
-+++ b/kernel/nv-linux.h
-@@ -2082,6 +2082,8 @@ static inline NvU64 nv_node_end_pfn(int nid)
- * 2016 Dec 14:5b56d49fc31dbb0487e14ead790fc81ca9fb2c99
- */
-
-+#include <linux/version.h>
-+
- #if defined(NV_GET_USER_PAGES_REMOTE_PRESENT)
- #if defined(NV_GET_USER_PAGES_HAS_WRITE_AND_FORCE_ARGS)
- #define NV_GET_USER_PAGES get_user_pages
-@@ -2129,8 +2131,13 @@ static inline NvU64 nv_node_end_pfn(int nid)
-
- #else
-
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 10, 0)
- return get_user_pages_remote(tsk, mm, start, nr_pages, flags,
- pages, vmas);
-+#else
-+ return get_user_pages_remote(tsk, mm, start, nr_pages, flags,
-+ pages, vmas, NULL);
-+#endif
-
- #endif
-
-diff --git a/kernel/nv-pat.c b/kernel/nv-pat.c
-index a725533..cec6f3f 100644
---- a/kernel/nv-pat.c
-+++ b/kernel/nv-pat.c
-@@ -203,6 +203,7 @@ void nv_disable_pat_support(void)
- }
-
- #if defined(NV_ENABLE_PAT_SUPPORT) && defined(NV_ENABLE_HOTPLUG_CPU)
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 10, 0)
- static int
- nvidia_cpu_callback(struct notifier_block *nfb, unsigned long action, void *hcpu)
- {
-@@ -234,6 +235,34 @@ static struct notifier_block nv_hotcpu_nfb = {
- .notifier_call = nvidia_cpu_callback,
- .priority = 0
- };
-+#else
-+static int nvidia_cpu_online(unsigned int hcpu)
-+{
-+ unsigned int cpu = get_cpu();
-+ if (cpu == hcpu)
-+ nv_setup_pat_entries(NULL);
-+ else
-+ NV_SMP_CALL_FUNCTION(nv_setup_pat_entries, (void *)(long int)hcpu, 1);
-+
-+ put_cpu();
-+
-+ return 0;
-+}
-+
-+static int nvidia_cpu_down_prep(unsigned int hcpu)
-+{
-+ unsigned int cpu = get_cpu();
-+ if (cpu == hcpu)
-+ nv_restore_pat_entries(NULL);
-+ else
-+ NV_SMP_CALL_FUNCTION(nv_restore_pat_entries, (void *)(long int)hcpu, 1);
-+
-+ put_cpu();
-+
-+ return 0;
-+}
-+#endif
-+
- #endif
-
- int nv_init_pat_support(nv_stack_t *sp)
-@@ -255,7 +284,14 @@ int nv_init_pat_support(nv_stack_t *sp)
- #if defined(NV_ENABLE_PAT_SUPPORT) && defined(NV_ENABLE_HOTPLUG_CPU)
- if (nv_pat_mode == NV_PAT_MODE_BUILTIN)
- {
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 10, 0)
- if (register_hotcpu_notifier(&nv_hotcpu_nfb) != 0)
-+#else
-+ if (cpuhp_setup_state(CPUHP_AP_ONLINE_DYN,
-+ "gpu/nvidia:online",
-+ nvidia_cpu_online,
-+ nvidia_cpu_down_prep) != 0)
-+#endif
- {
- nv_disable_pat_support();
- nv_printf(NV_DBG_ERRORS,
-@@ -280,7 +316,11 @@ void nv_teardown_pat_support(void)
- {
- nv_disable_pat_support();
- #if defined(NV_ENABLE_PAT_SUPPORT) && defined(NV_ENABLE_HOTPLUG_CPU)
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 10, 0)
- unregister_hotcpu_notifier(&nv_hotcpu_nfb);
-+#else
-+ cpuhp_remove_state_nocalls(CPUHP_AP_ONLINE_DYN);
-+#endif
- #endif
- }
- }
-diff --git a/kernel/uvm/nvidia_uvm_lite.c b/kernel/uvm/nvidia_uvm_lite.c
-index 9627f60..2158b45 100644
---- a/kernel/uvm/nvidia_uvm_lite.c
-+++ b/kernel/uvm/nvidia_uvm_lite.c
-@@ -820,7 +820,11 @@ done:
- #if defined(NV_VM_OPERATIONS_STRUCT_HAS_FAULT)
- int _fault(struct vm_area_struct *vma, struct vm_fault *vmf)
- {
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 10, 0)
- unsigned long vaddr = (unsigned long)vmf->virtual_address;
-+#else
-+ unsigned long vaddr = (unsigned long)vmf->address;
-+#endif
- struct page *page = NULL;
- int retval;
-
---
-2.7.4
-
diff --git a/abs/core/nvidia-340xx/4.11.0_kernel.patch b/abs/core/nvidia-340xx/4.11.0_kernel.patch
deleted file mode 100644
index 5ee3e4f..0000000
--- a/abs/core/nvidia-340xx/4.11.0_kernel.patch
+++ /dev/null
@@ -1,112 +0,0 @@
---- a/kernel/nv-drm.c
-+++ b/kernel/nv-drm.c
-@@ -22,6 +22,8 @@
- #include <drm/drm_gem.h>
- #endif
-
-+#include <linux/version.h>
-+
- extern nv_linux_state_t *nv_linux_devices;
-
- struct nv_gem_object {
-@@ -48,7 +50,11 @@
- return -ENODEV;
- }
-
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 11, 0)
- static int nv_drm_unload(
-+#else
-+static void nv_drm_unload(
-+#endif
- struct drm_device *dev
- )
- {
-@@ -60,11 +66,19 @@
- {
- BUG_ON(nvl->drm != dev);
- nvl->drm = NULL;
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 11, 0)
- return 0;
-+#else
-+ return;
-+#endif
- }
- }
-
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 11, 0)
- return -ENODEV;
-+#else
-+ return;
-+#endif
- }
-
- static void nv_gem_free(
-
---- a/kernel/uvm/nvidia_uvm_linux.h
-+++ b/kernel/uvm/nvidia_uvm_linux.h
-@@ -124,6 +124,9 @@
- #include <linux/delay.h> /* mdelay, udelay */
-
- #include <linux/sched.h> /* suser(), capable() replacement */
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 11, 0)
-+#include <linux/sched/signal.h>
-+#endif
- #include <linux/moduleparam.h> /* module_param() */
- #if !defined(NV_VMWARE)
- #include <asm/tlbflush.h> /* flush_tlb(), flush_tlb_all() */
-@@ -362,6 +365,7 @@
- void address_space_init_once(struct address_space *mapping);
- #endif
-
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 11, 0)
- #if !defined(NV_FATAL_SIGNAL_PENDING_PRESENT)
- static inline int __fatal_signal_pending(struct task_struct *p)
- {
-@@ -372,6 +376,7 @@
- {
- return signal_pending(p) && __fatal_signal_pending(p);
- }
-+#endif
- #endif
-
- //
-
---- a/kernel/uvm/nvidia_uvm_lite.c
-+++ b/kernel/uvm/nvidia_uvm_lite.c
-@@ -818,7 +818,11 @@
- }
-
- #if defined(NV_VM_OPERATIONS_STRUCT_HAS_FAULT)
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 11, 0)
-+int _fault(struct vm_fault *vmf)
-+#else
- int _fault(struct vm_area_struct *vma, struct vm_fault *vmf)
-+#endif
- {
- #if LINUX_VERSION_CODE < KERNEL_VERSION(4, 10, 0)
- unsigned long vaddr = (unsigned long)vmf->virtual_address;
-@@ -828,7 +832,11 @@
- struct page *page = NULL;
- int retval;
-
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 11, 0)
-+ retval = _fault_common(NULL, vaddr, &page, vmf->flags);
-+#else
- retval = _fault_common(vma, vaddr, &page, vmf->flags);
-+#endif
-
- vmf->page = page;
-
-@@ -866,7 +874,11 @@
- // it's dealing with anonymous mapping (see handle_pte_fault).
- //
- #if defined(NV_VM_OPERATIONS_STRUCT_HAS_FAULT)
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 11, 0)
-+int _sigbus_fault(struct vm_fault *vmf)
-+#else
- int _sigbus_fault(struct vm_area_struct *vma, struct vm_fault *vmf)
-+#endif
- {
- vmf->page = NULL;
- return VM_FAULT_SIGBUS;
-
diff --git a/abs/core/nvidia-340xx/PKGBUILD b/abs/core/nvidia-340xx/PKGBUILD
index c2b6f16..bff3ae3 100644
--- a/abs/core/nvidia-340xx/PKGBUILD
+++ b/abs/core/nvidia-340xx/PKGBUILD
@@ -4,35 +4,31 @@
pkgbase=nvidia-340xx
pkgname=(nvidia-340xx nvidia-340xx-dkms)
-pkgver=340.102
+pkgver=340.104
_extramodules=extramodules-4.9-ARCH
pkgrel=7
-arch=('i686' 'x86_64')
+pkgdesc="NVIDIA drivers for linux, 340xx legacy branch"
+arch=('x86_64')
url="http://www.nvidia.com/"
makedepends=("nvidia-340xx-utils=${pkgver}" 'linux' 'linux-headers>=4.9' 'linux-headers<4.10')
conflicts=('nvidia')
license=('custom')
-options=(!strip)
-source=('fs52243.patch' '4.10.0_kernel.patch' '4.11.0_kernel.patch')
-source_i686+=("http://us.download.nvidia.com/XFree86/Linux-x86/${pkgver}/NVIDIA-Linux-x86-${pkgver}.run")
-source_x86_64+=("http://us.download.nvidia.com/XFree86/Linux-x86_64/${pkgver}/NVIDIA-Linux-x86_64-${pkgver}-no-compat32.run")
-sha512sums=('de4f697d64f8e73c4aadec1a407884a6bc459c0020d4bfd19740fe4177a60bb801fe8a74ef6f7fa2e89c6cd648ea4daf152799ae344a145c06480a6eef0c5bca'
- '88a2b448c1e8445dc43820328e86d8f20eb7e3cb5774e704cd44191a9fa26064264510c1adc9ea938fa2c92075496f3a27bd52ae6e6f4ec5fa6d4a829dd961e8'
- '48eb48dfd118a5d76d0e01c3bb5aedb7e6ec153a40680c0ebd6842c74fe1dda49e1cc8dc2b2493b7355de47d3013c578a13c254c5bb3eecdbfcf8f4ebc7c7c34')
-sha512sums_i686=('bea700c925a6044fcded40324bb389c5fa1aadc40831f685a76e7b0ded11161f492960950c201467e564d157dcbe0c330d13a2014f51d0073002c5a262a6f0ca')
-sha512sums_x86_64=('2a29e6418244ea384e4237d74057bd8e56247b1c503cf623dea34a3b1065d8783879aa7e6a802dd31f0a10cf81cfcab2a1b1a8269b97996f15fa1838c0a3a44b')
+options=('!strip')
+source=("http://us.download.nvidia.com/XFree86/Linux-x86_64/${pkgver}/NVIDIA-Linux-x86_64-${pkgver}-no-compat32.run"
+ 'kernel-4.11.patch' 'kernel-4.14.patch')
+sha512sums=('e962494561728af5a911354bfb3560e414464f7858f30f9654eac5ca56175bc8498d1eee93a18248c63e9eee7d84807ef924fe9f53239644d7085b0f3502bf8c'
+ 'c25d90499e1deb26129a67dd7e953be8c1e31c5770e2b8b64d03af54cf1afec1a52636e74900f8ac468692207ab8a3765a12edd581142c4d2cfd2d6e66ac7ac2'
+ 'ccaa40e085d985ec4280003e36dd06e60958ed1408867379fd21a68a18d48aa4be311bf9ad1e804f7a7245c90be98e919d2ec30f45d290f1cdb19c866bdb8a8d')
-[[ "$CARCH" = "i686" ]] && _pkg="NVIDIA-Linux-x86-${pkgver}"
-[[ "$CARCH" = "x86_64" ]] && _pkg="NVIDIA-Linux-x86_64-${pkgver}-no-compat32"
+_pkg="NVIDIA-Linux-x86_64-${pkgver}-no-compat32"
prepare() {
sh "${_pkg}.run" --extract-only
cd "${_pkg}"
# patches here
- patch -Np0 < "${srcdir}"/fs52243.patch
- patch -Np1 < "${srcdir}"/4.10.0_kernel.patch
- patch -Np1 < "${srcdir}"/4.11.0_kernel.patch
+ patch -Np0 < "${srcdir}/kernel-4.11.patch"
+ patch -Np1 < "${srcdir}/kernel-4.14.patch"
cp -a kernel kernel-dkms
}
@@ -48,29 +44,30 @@ build() {
package_nvidia-340xx() {
pkgdesc="NVIDIA drivers for linux, 340xx legacy branch"
- depends=('linux>=4.9' 'linux<4.10' 'libgl' "nvidia-340xx-utils=${pkgver}")
- conflict+=('nvidia-340xx-dkms')
- install=nvidia-340xx.install
+ depends=('linux>=4.9' 'linux<4.10' "nvidia-340xx-utils=${pkgver}" 'libgl')
- install -D -m644 "${srcdir}/${_pkg}/kernel/nvidia.ko" \
- "${pkgdir}/usr/lib/modules/${_extramodules}/nvidia.ko"
- install -D -m644 "${srcdir}/${_pkg}/kernel/uvm/nvidia-uvm.ko" \
- "${pkgdir}/usr/lib/modules/${_extramodules}/nvidia-uvm.ko"
- gzip "${pkgdir}/usr/lib/modules/${_extramodules}/"*.ko
- install -d -m755 "${pkgdir}/usr/lib/modprobe.d"
- echo "blacklist nouveau" >> "${pkgdir}/usr/lib/modprobe.d/nvidia.conf"
+ install -Dt "${pkgdir}/usr/lib/modules/${_extramodules}" -m644 \
+ "${srcdir}/${_pkg}/kernel"/{nvidia,uvm/nvidia-uvm}.ko
+
+ find "${pkgdir}" -name '*.ko' -exec gzip -n {} +
+
+ echo "blacklist nouveau" |
+ install -Dm644 /dev/stdin "${pkgdir}/usr/lib/modprobe.d/nvidia.conf"
}
package_nvidia-340xx-dkms() {
pkgdesc="NVIDIA driver sources for linux, 340xx legacy branch"
- depends=('dkms' "nvidia-340xx-utils=$pkgver")
+ depends=('dkms' "nvidia-340xx-utils=$pkgver" 'libgl')
optdepends=('linux-headers: Build the module for Arch kernel'
'linux-lts-headers: Build the module for LTS Arch kernel')
conflicts+=('nvidia-340xx')
cd ${_pkg}
- install -dm 755 "${pkgdir}"/usr/{lib/modprobe.d,src}
- cp -dr --no-preserve='ownership' kernel-dkms "${pkgdir}"/usr/src/nvidia-${pkgver}
- echo 'blacklist nouveau' > "${pkgdir}"/usr/lib/modprobe.d/nvidia.conf
+
+ install -dm 755 "${pkgdir}"/usr/src
+ cp -dr --no-preserve='ownership' kernel-dkms "${pkgdir}/usr/src/nvidia-${pkgver}"
cat "${pkgdir}"/usr/src/nvidia-${pkgver}/uvm/dkms.conf.fragment >> "${pkgdir}"/usr/src/nvidia-${pkgver}/dkms.conf
+
+ echo "blacklist nouveau" |
+ install -Dm644 /dev/stdin "${pkgdir}/usr/lib/modprobe.d/nvidia.conf"
}
diff --git a/abs/core/nvidia-340xx/fs52243.patch b/abs/core/nvidia-340xx/fs52243.patch
deleted file mode 100644
index b6dc35a..0000000
--- a/abs/core/nvidia-340xx/fs52243.patch
+++ /dev/null
@@ -1,14 +0,0 @@
---- kernel/nv-drm.c 2016-12-15 12:41:26.000000000 +0100
-+++ kernel/nv-drm.c 2016-12-15 12:58:48.000000000 +0100
-@@ -115,7 +115,11 @@
- };
-
- static struct drm_driver nv_drm_driver = {
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 9, 0)
-+ .driver_features = DRIVER_GEM | DRIVER_PRIME | DRIVER_LEGACY,
-+#else
- .driver_features = DRIVER_GEM | DRIVER_PRIME,
-+#endif
- .load = nv_drm_load,
- .unload = nv_drm_unload,
- .fops = &nv_drm_fops,
diff --git a/abs/core/nvidia-340xx/kernel-4.11.patch b/abs/core/nvidia-340xx/kernel-4.11.patch
new file mode 100644
index 0000000..b2b3a7a
--- /dev/null
+++ b/abs/core/nvidia-340xx/kernel-4.11.patch
@@ -0,0 +1,38 @@
+--- kernel/uvm/nvidia_uvm_lite.c 2017-09-27 13:50:46.334075042 +0200
++++ kernel/uvm/nvidia_uvm_lite.c 2017-09-27 13:56:06.358041280 +0200
+@@ -818,7 +818,11 @@
+ }
+
+ #if defined(NV_VM_OPERATIONS_STRUCT_HAS_FAULT)
++#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 11, 0)
+ int _fault(struct vm_area_struct *vma, struct vm_fault *vmf)
++#else
++int _fault(struct vm_fault *vmf)
++#endif
+ {
+ #if defined(NV_VM_FAULT_HAS_ADDRESS)
+ unsigned long vaddr = vmf->address;
+@@ -828,7 +832,11 @@
+ struct page *page = NULL;
+ int retval;
+
++#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 11, 0)
+ retval = _fault_common(vma, vaddr, &page, vmf->flags);
++#else
++ retval = _fault_common(NULL, vaddr, &page, vmf->flags);
++#endif
+
+ vmf->page = page;
+
+@@ -866,7 +874,11 @@
+ // it's dealing with anonymous mapping (see handle_pte_fault).
+ //
+ #if defined(NV_VM_OPERATIONS_STRUCT_HAS_FAULT)
++#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 11, 0)
+ int _sigbus_fault(struct vm_area_struct *vma, struct vm_fault *vmf)
++#else
++int _sigbus_fault(struct vm_fault *vmf)
++#endif
+ {
+ vmf->page = NULL;
+ return VM_FAULT_SIGBUS;
diff --git a/abs/core/nvidia-340xx/kernel-4.14.patch b/abs/core/nvidia-340xx/kernel-4.14.patch
new file mode 100644
index 0000000..a38adbd
--- /dev/null
+++ b/abs/core/nvidia-340xx/kernel-4.14.patch
@@ -0,0 +1,29 @@
+diff -u -r NVIDIA-Linux-x86_64-340.104-no-compat32/kernel/nv-drm.c NVIDIA-Linux-x86_64-340.104-no-compat32-kernel4.14/kernel/nv-drm.c
+--- NVIDIA-Linux-x86_64-340.104-no-compat32/kernel/nv-drm.c 2017-09-15 01:16:51.000000000 +0200
++++ NVIDIA-Linux-x86_64-340.104-no-compat32-kernel4.14/kernel/nv-drm.c 2017-11-19 00:51:45.006654148 +0100
+@@ -173,8 +173,12 @@
+ {
+ int ret = 0;
+ #if defined(NV_DRM_AVAILABLE)
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 14, 0)
++ ret = drm_legacy_pci_init(&nv_drm_driver, pci_driver);
++#else
+ ret = drm_pci_init(&nv_drm_driver, pci_driver);
+ #endif
++#endif
+ return ret;
+ }
+
+@@ -183,8 +187,12 @@
+ )
+ {
+ #if defined(NV_DRM_AVAILABLE)
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 14, 0)
++ drm_legacy_pci_exit(&nv_drm_driver, pci_driver);
++#else
+ drm_pci_exit(&nv_drm_driver, pci_driver);
+ #endif
++#endif
+ }
+
+ RM_STATUS NV_API_CALL nv_alloc_os_descriptor_handle(
diff --git a/abs/core/nvidia-340xx/nvidia-340xx.install b/abs/core/nvidia-340xx/nvidia-340xx.install
deleted file mode 100644
index 9858d46..0000000
--- a/abs/core/nvidia-340xx/nvidia-340xx.install
+++ /dev/null
@@ -1,13 +0,0 @@
-post_install() {
- EXTRAMODULES='extramodules-4.9-ARCH'
- depmod $(cat /usr/lib/modules/$EXTRAMODULES/version)
- echo 'In order to use nvidia module, reboot the system.'
-}
-
-post_upgrade() {
- post_install
-}
-
-post_remove() {
- post_install
-}
diff --git a/abs/core/nvidia-utils/PKGBUILD b/abs/core/nvidia-utils/PKGBUILD
index de2e364..6a47564 100644
--- a/abs/core/nvidia-utils/PKGBUILD
+++ b/abs/core/nvidia-utils/PKGBUILD
@@ -5,9 +5,9 @@
pkgbase=nvidia-utils
pkgname=('nvidia-utils' 'opencl-nvidia')
-pkgver=381.22
+pkgver=387.22
pkgrel=1
-arch=('i686' 'x86_64')
+arch=('x86_64')
url="http://www.nvidia.com/"
license=('custom')
options=('!strip')
@@ -15,8 +15,11 @@ source=('nvidia-drm-outputclass.conf')
source_i686=("http://us.download.nvidia.com/XFree86/Linux-x86/${pkgver}/NVIDIA-Linux-x86-${pkgver}.run")
source_x86_64=("http://us.download.nvidia.com/XFree86/Linux-x86_64/${pkgver}/NVIDIA-Linux-x86_64-${pkgver}-no-compat32.run")
md5sums=('a433deeb5f9cc661e537f42bde2f1df7')
-md5sums_i686=('8825cec1640739521689bd80121d1425')
-md5sums_x86_64=('0e9590d48703c8baa034b6f0f8bbf1e5')
+md5sums_i686=('abdbb3c813e52148f7435308121e6a37')
+md5sums_x86_64=('b21f9bafb20409b337505c9b1d362c34')
+sha512sums=('cfea06a816ac4a8b728b1ec728d667cdcca604abb038e8b5313b434021caad06a586856b8b3a6c79f8c925629360f5a051ca3de5ab46a42af76b9d0615d2bbbe')
+sha512sums_i686=('865c5024957ade2c8361b198cbc6600f469612fe0336e3a0bfaf56e4240999367f2066837c0b354af4821ab2531d05eddf3f2a0957eacc2eca0dd7cada4929b4')
+sha512sums_x86_64=('f304f5b6d4c7e0ba5f19cf9f84ecab1c911e17d25193b527bf9c45200dda942011cb7632555e5351ed8fc212dcb59ea3d791b971073a8b09cb96af790e0c30ff')
[[ "$CARCH" = "i686" ]] && _pkg="NVIDIA-Linux-x86-${pkgver}"
[[ "$CARCH" = "x86_64" ]] && _pkg="NVIDIA-Linux-x86_64-${pkgver}-no-compat32"
@@ -35,6 +38,8 @@ prepare() {
sh "${_pkg}.run" --extract-only
cd "${_pkg}"
bsdtar -xf nvidia-persistenced-init.tar.bz2
+
+ sed -i 's/__NV_VK_ICD__/libGLX_nvidia.so.0/' nvidia_icd.json.template
}
package_opencl-nvidia() {
@@ -75,14 +80,14 @@ package_nvidia-utils() {
install -D -m755 "libglx.so.${pkgver}" "${pkgdir}/usr/lib/nvidia/xorg/libglx.so.${pkgver}"
ln -s "libglx.so.${pkgver}" "${pkgdir}/usr/lib/nvidia/xorg/libglx.so.1" # X doesn't find glx otherwise
ln -s "libglx.so.${pkgver}" "${pkgdir}/usr/lib/nvidia/xorg/libglx.so" # X doesn't find glx otherwise
-
+
install -D -m755 "libGLX_nvidia.so.${pkgver}" "${pkgdir}/usr/lib/libGLX_nvidia.so.${pkgver}"
# now in mesa driver
#ln -s "libGLX_nvidia.so.${pkgver}" "${pkgdir}/usr/lib/libGLX_indirect.so.0"
# Wayland stuff
- install -D -m755 "libnvidia-egl-wayland.so.1.0.1" "${pkgdir}/usr/lib/libnvidia-egl-wayland.so.1.0.1"
- ln -s "libnvidia-egl-wayland.so.1.0.1" "${pkgdir}/usr/lib/libnvidia-egl-wayland.so.1"
+ install -D -m755 "libnvidia-egl-wayland.so.1.0.2" "${pkgdir}/usr/lib/libnvidia-egl-wayland.so.1.0.2"
+ ln -s "libnvidia-egl-wayland.so.1.0.2" "${pkgdir}/usr/lib/libnvidia-egl-wayland.so.1"
install -D -m644 "10_nvidia_wayland.json" "${pkgdir}/usr/share/egl/egl_external_platform.d/10_nvidia_wayland.json"
# OpenGL libraries
@@ -104,7 +109,7 @@ package_nvidia-utils() {
install -D -m755 "libnvidia-ml.so.${pkgver}" "${pkgdir}/usr/lib/libnvidia-ml.so.${pkgver}"
# Vulkan ICD
- install -D -m644 "nvidia_icd.json" "${pkgdir}/usr/share/vulkan/icd.d/nvidia_icd.json"
+ install -D -m644 "nvidia_icd.json.template" "${pkgdir}/usr/share/vulkan/icd.d/nvidia_icd.json"
# VDPAU
install -D -m755 "libvdpau_nvidia.so.${pkgver}" "${pkgdir}/usr/lib/vdpau/libvdpau_nvidia.so.${pkgver}"
diff --git a/abs/core/nvidia/PKGBUILD b/abs/core/nvidia/PKGBUILD
index 470343c..d6db1ad 100644
--- a/abs/core/nvidia/PKGBUILD
+++ b/abs/core/nvidia/PKGBUILD
@@ -5,22 +5,19 @@
pkgbase=nvidia
pkgname=(nvidia nvidia-dkms)
-pkgver=381.22
+pkgver=387.22
_extramodules=extramodules-4.9-ARCH
-pkgrel=2
+pkgrel=8
pkgdesc="NVIDIA drivers for linux"
-arch=('i686' 'x86_64')
+arch=('x86_64')
url="http://www.nvidia.com/"
makedepends=('nvidia-libgl' "nvidia-utils=${pkgver}" 'linux' 'linux-headers>=4.9' 'linux-headers<4.10')
license=('custom')
options=('!strip')
-source_i686=("http://us.download.nvidia.com/XFree86/Linux-x86/${pkgver}/NVIDIA-Linux-x86-${pkgver}.run")
-source_x86_64=("http://us.download.nvidia.com/XFree86/Linux-x86_64/${pkgver}/NVIDIA-Linux-x86_64-${pkgver}-no-compat32.run")
-md5sums_i686=('8825cec1640739521689bd80121d1425')
-md5sums_x86_64=('0e9590d48703c8baa034b6f0f8bbf1e5')
+source=("http://us.download.nvidia.com/XFree86/Linux-x86_64/${pkgver}/NVIDIA-Linux-x86_64-${pkgver}-no-compat32.run")
+sha256sums=('2056b386f619ed096ee3c2267c495c6b00d1a2a4c933f0635befcf4e69c3856c')
-[[ "$CARCH" = "i686" ]] && _pkg="NVIDIA-Linux-x86-${pkgver}"
-[[ "$CARCH" = "x86_64" ]] && _pkg="NVIDIA-Linux-x86_64-${pkgver}-no-compat32"
+_pkg="NVIDIA-Linux-x86_64-${pkgver}-no-compat32"
prepare() {
sh "${_pkg}.run" --extract-only
@@ -39,6 +36,9 @@ BUILT_MODULE_NAME[2]="nvidia-modeset"\
DEST_MODULE_LOCATION[2]="/kernel/drivers/video"\
BUILT_MODULE_NAME[3]="nvidia-drm"\
DEST_MODULE_LOCATION[3]="/kernel/drivers/video"' dkms.conf
+
+ # Gift for linux-rt guys
+ sed -i 's/NV_EXCLUDE_BUILD_MODULES/IGNORE_PREEMPT_RT_PRESENCE=1 NV_EXCLUDE_BUILD_MODULES/' dkms.conf
}
build() {
@@ -52,22 +52,13 @@ package_nvidia() {
depends=('linux>=4.9' 'linux<4.10' "nvidia-utils=${pkgver}" 'libgl')
install=nvidia.install
- install -D -m644 "${srcdir}/${_pkg}/kernel/nvidia.ko" \
- "${pkgdir}/usr/lib/modules/${_extramodules}/nvidia.ko"
- install -D -m644 "${srcdir}/${_pkg}/kernel/nvidia-modeset.ko" \
- "${pkgdir}/usr/lib/modules/${_extramodules}/nvidia-modeset.ko"
- install -D -m644 "${srcdir}/${_pkg}/kernel/nvidia-drm.ko" \
- "${pkgdir}/usr/lib/modules/${_extramodules}/nvidia-drm.ko"
-
- if [[ "$CARCH" = "x86_64" ]]; then
- install -D -m644 "${srcdir}/${_pkg}/kernel/nvidia-uvm.ko" \
- "${pkgdir}/usr/lib/modules/${_extramodules}/nvidia-uvm.ko"
- fi
+ install -Dt "${pkgdir}/usr/lib/modules/${_extramodules}" -m644 \
+ "${srcdir}/${_pkg}/kernel"/nvidia{,-modeset,-drm,-uvm}.ko
- gzip "${pkgdir}/usr/lib/modules/${_extramodules}/"*.ko
- install -d -m755 "${pkgdir}/usr/lib/modprobe.d"
+ find "${pkgdir}" -name '*.ko' -exec gzip -n {} +
- echo "blacklist nouveau" >> "${pkgdir}/usr/lib/modprobe.d/nvidia.conf"
+ echo "blacklist nouveau" |
+ install -Dm644 /dev/stdin "${pkgdir}/usr/lib/modprobe.d/nvidia.conf"
}
package_nvidia-dkms() {
@@ -78,7 +69,10 @@ package_nvidia-dkms() {
conflicts+=('nvidia')
cd ${_pkg}
- install -dm 755 "${pkgdir}"/usr/{lib/modprobe.d,src}
+
+ install -dm 755 "${pkgdir}"/usr/src
cp -dr --no-preserve='ownership' kernel-dkms "${pkgdir}/usr/src/nvidia-${pkgver}"
- echo 'blacklist nouveau' > "${pkgdir}/usr/lib/modprobe.d/nvidia.conf"
+
+ echo "blacklist nouveau" |
+ install -Dm644 /dev/stdin "${pkgdir}/usr/lib/modprobe.d/nvidia.conf"
}
diff --git a/abs/core/p11-kit/PKGBUILD b/abs/core/p11-kit/PKGBUILD
index 54c17ed..4b1f06d 100644
--- a/abs/core/p11-kit/PKGBUILD
+++ b/abs/core/p11-kit/PKGBUILD
@@ -1,24 +1,29 @@
# $Id$
-# Maintainer: Ionut Biru <ibiru@archlinux.org>
+# Contributor: Ionut Biru <ibiru@archlinux.org>
pkgname=p11-kit
-pkgver=0.23.2
+pkgver=0.23.9
pkgrel=1
-pkgdesc="Library to work with PKCS#11 modules"
+pkgdesc="Provides a way to load and enumerate PKCS#11 modules"
arch=(i686 x86_64)
-url="http://p11-glue.freedesktop.org"
-license=('BSD')
-depends=('glibc' 'libtasn1' 'libffi')
-makedepends=('gtk-doc')
-source=($url/releases/$pkgname-$pkgver.tar.gz{,.sig}
+url="https://p11-glue.freedesktop.org"
+license=(BSD)
+depends=(glibc libtasn1 libffi)
+makedepends=(gtk-doc git)
+_commit=34cb047e20af02ef3d820a295e9e29f618b83bab # tags/0.23.9^0
+source=("git+https://github.com/p11-glue/p11-kit#commit=$_commit"
libnssckbi-compat.patch)
-sha256sums=('ba726ea8303c97467a33fca50ee79b7b35212964be808ecf9b145e9042fdfaf0'
- 'SKIP'
+sha256sums=('SKIP'
'8f763cdbc6c0ca6c5a7898f9fd6f3018b7ac5b1aca36f67c6c813343c2962962')
validpgpkeys=('C0F67099B808FB063E2C81117BFB1108D92765AF')
+pkgver() {
+ cd $pkgname
+ git describe --tags | sed 's/-/+/g'
+}
+
prepare() {
- cd $pkgname-$pkgver
+ cd $pkgname
# Build and install an additional library (libnssckbi-p11-kit.so) which
# is a copy of p11-kit-trust.so but uses the same label for root certs as
@@ -26,15 +31,16 @@ prepare() {
# https://bugs.freedesktop.org/show_bug.cgi?id=66161
patch -Np1 -i ../libnssckbi-compat.patch
- autoreconf -vi
+ NOCONFIGURE=1 ./autogen.sh
}
build() {
- cd $pkgname-$pkgver
+ cd $pkgname
- ./configure \
- --prefix=/usr \
+ ./configure --prefix=/usr \
--sysconfdir=/etc \
+ --localstatedir=/var \
+ --libexecdir=/usr/lib \
--enable-doc \
--with-module-path=/usr/lib/pkcs11 \
--with-trust-paths=/etc/ca-certificates/trust-source:/usr/share/ca-certificates/trust-source
@@ -42,14 +48,14 @@ build() {
}
check() {
- cd $pkgname-$pkgver
+ cd $pkgname
make check
}
package() {
- cd $pkgname-$pkgver
+ cd $pkgname
make DESTDIR="$pkgdir" install
- install -Dm644 COPYING $pkgdir/usr/share/licenses/$pkgname/COPYING
+ install -Dm644 COPYING "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
ln -srf "$pkgdir/usr/bin/update-ca-trust" "$pkgdir/usr/lib/p11-kit/trust-extract-compat"
}
diff --git a/abs/core/perl_modules/perl-xml-treepp/PKGBUILD b/abs/core/perl_modules/perl-xml-treepp/PKGBUILD
new file mode 100644
index 0000000..a935963
--- /dev/null
+++ b/abs/core/perl_modules/perl-xml-treepp/PKGBUILD
@@ -0,0 +1,35 @@
+# Contributor: K. Hampf <k.hampf@gmail.com>
+pkgname=perl-xml-treepp
+_authorpath=K/KA/KAWASAKI # this is uggly
+pkgver=0.43
+pkgrel=2
+pkgdesc='XML::TreePP module parses an XML document and expands it for a hash tree.'
+_dist=XML-TreePP
+arch=('any')
+url="https://metacpan.org/release/$_dist"
+license=('GPL' 'PerlArtistic')
+depends=(perl)
+options=('!emptydirs' purge)
+source=("http://search.cpan.org/CPAN/authors/id/$_authorpath/$_dist-$pkgver.tar.gz")
+md5sums=('f69693066e52591bf1142d3f4e6d37e5')
+
+build() {
+ cd "$srcdir/$_dist-$pkgver"
+ unset PERL5LIB PERL_MM_OPT PERL_LOCAL_LIB_ROOT
+ export PERL_MM_USE_DEFAULT=1 PERL_AUTOINSTALL=--skipdeps
+ /usr/bin/perl Makefile.PL
+ make
+}
+
+check() {
+ cd "$srcdir/$_dist-$pkgver"
+ unset PERL5LIB PERL_MM_OPT PERL_LOCAL_LIB_ROOT
+ export PERL_MM_USE_DEFAULT=1
+ make test
+}
+
+package() {
+ cd "$srcdir/$_dist-$pkgver"
+ unset PERL5LIB PERL_MM_OPT PERL_LOCAL_LIB_ROOT
+ make install INSTALLDIRS=vendor DESTDIR="$pkgdir"
+}
diff --git a/abs/core/python_modules/python-appdirs/PKGBUILD b/abs/core/python_modules/python-appdirs/PKGBUILD
new file mode 100644
index 0000000..95552c7
--- /dev/null
+++ b/abs/core/python_modules/python-appdirs/PKGBUILD
@@ -0,0 +1,53 @@
+# $Id$
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
+# Contributor: Tobias Roettger <toroettg@gmail.com>
+
+pkgbase=python-appdirs
+pkgname=(python2-appdirs)
+pkgver=1.4.3
+pkgrel=1
+pkgdesc='A small Python module for determining appropriate platform-specific dirs, e.g. a "user data dir".'
+arch=('any')
+url="https://github.com/ActiveState/appdirs"
+license=('MIT')
+makedepends=('python2-setuptools')
+source=("https://pypi.io/packages/source/a/appdirs/appdirs-$pkgver.tar.gz")
+md5sums=('44c679904082a2133f5566c8a0d3ab42')
+
+prepare() {
+ cp -a appdirs-$pkgver{,-py2}
+}
+
+build() {
+# cd "$srcdir"/appdirs-$pkgver
+# python setup.py build
+
+ cd "$srcdir"/appdirs-$pkgver-py2
+ python2 setup.py build
+}
+
+check() {
+# cd "$srcdir"/appdirs-$pkgver
+# python setup.py test
+
+ cd "$srcdir"/appdirs-$pkgver-py2
+ python2 setup.py test
+}
+
+package_python-appdirs() {
+ depends=('python')
+
+ cd appdirs-$pkgver
+ python setup.py install --root="$pkgdir/" --optimize=1
+ install -Dm644 LICENSE.txt "$pkgdir"/usr/share/licenses/$pkgname/LICENSE.txt
+}
+
+package_python2-appdirs() {
+ depends=('python2')
+
+ cd appdirs-$pkgver-py2
+ python2 setup.py install --root="$pkgdir/" --optimize=1
+ install -Dm644 LICENSE.txt "$pkgdir"/usr/share/licenses/$pkgname/LICENSE.txt
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/abs/core/python_modules/python-appdirs/__changelog b/abs/core/python_modules/python-appdirs/__changelog
new file mode 100644
index 0000000..4f818ef
--- /dev/null
+++ b/abs/core/python_modules/python-appdirs/__changelog
@@ -0,0 +1,2 @@
+PKGBUILD: don't build py 3 stuff
+
diff --git a/abs/core/python_modules/python-beautifulsoup4/PKGBUILD b/abs/core/python_modules/python-beautifulsoup4/PKGBUILD
new file mode 100644
index 0000000..9af6084
--- /dev/null
+++ b/abs/core/python_modules/python-beautifulsoup4/PKGBUILD
@@ -0,0 +1,57 @@
+# $Id$
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
+# Contributor: Daniel Wallace <danielwallace at gtmanfred dot com>
+# Contributor: Giovanni Scafora <giovanni@archlinux.org>
+
+pkgbase=python-beautifulsoup4
+pkgname=('python2-beautifulsoup4')
+pkgver=4.6.0
+pkgrel=1
+pkgdesc="A Python HTML/XML parser designed for quick turnaround projects like screen-scraping"
+arch=('any')
+url="http://www.crummy.com/software/BeautifulSoup/index.html"
+license=('PSF')
+makedepends=('python2-setuptools')
+checkdepends=('python2-pytest')
+source=("http://www.crummy.com/software/BeautifulSoup/bs4/download/${pkgver%.*}/${pkgbase#*-}-$pkgver.tar.gz")
+sha512sums=('1a7eee4218e58cc3852e71fe4f0892f673bb46a851941264766a38eff8ef05d612d88b4641fcb478ce8f66ac50dc987ca039923c4bbb11867c74813289f7e578')
+
+prepare() {
+ cp -a beautifulsoup4-$pkgver{,-py2}
+}
+
+build() {
+# cd "$srcdir"/beautifulsoup4-$pkgver
+# python setup.py build
+
+ cd "$srcdir"/beautifulsoup4-$pkgver-py2
+ python2 setup.py build
+}
+
+check() {
+# cd "$srcdir"/beautifulsoup4-$pkgver/build
+# py.test
+
+ cd "$srcdir"/beautifulsoup4-$pkgver-py2/build
+ py.test2
+}
+
+package_python-beautifulsoup4() {
+ depends=('python')
+ optdepends=('python-chardet: to autodetect character encodings'
+ 'python-lxml: alternative HTML parser'
+ 'python-html5lib: alternative HTML parser')
+
+ cd beautifulsoup4-$pkgver
+ python setup.py install --root="$pkgdir" --optimize=1 --skip-build
+}
+
+package_python2-beautifulsoup4() {
+ depends=('python2')
+ optdepends=('python2-chardet: to autodetect character encodings'
+ 'python2-lxml: alternative HTML parser'
+ 'python2-html5lib: alternative HTML parser')
+
+ cd beautifulsoup4-$pkgver-py2
+ python2 setup.py install --root="$pkgdir" --optimize=1 --skip-build
+}
diff --git a/abs/core/python_modules/python-beautifulsoup4/__changelog b/abs/core/python_modules/python-beautifulsoup4/__changelog
new file mode 100644
index 0000000..4f818ef
--- /dev/null
+++ b/abs/core/python_modules/python-beautifulsoup4/__changelog
@@ -0,0 +1,2 @@
+PKGBUILD: don't build py 3 stuff
+
diff --git a/abs/core/python_modules/python-chardet/PKGBUILD b/abs/core/python_modules/python-chardet/PKGBUILD
new file mode 100644
index 0000000..13bc9fa
--- /dev/null
+++ b/abs/core/python_modules/python-chardet/PKGBUILD
@@ -0,0 +1,38 @@
+# $Id$
+# Maintainer : Felix Yan <felixonmars@archlinux.org>
+# Contributor: Ionut Biru <ibiru@archlinux.org>
+# Contributor: William Rea <sillywilly@gmail.com>
+
+pkgbase=python-chardet
+pkgname=('python2-chardet')
+pkgver=3.0.4
+pkgrel=1
+arch=('any')
+url="https://github.com/chardet/chardet"
+license=('LGPL')
+makedepends=('python2-setuptools')
+source=("https://pypi.io/packages/source/c/chardet/chardet-${pkgver}.tar.gz")
+sha512sums=('61a03b23447a2bfe52ceed4dd1b9afdb5784da1933a623776883ee9f297e341f633e27f0ce0230bd5fdc5fdb5382105ab42736a74a417ddeb9f83af57455dba5')
+
+prepare() {
+ cp -a chardet-$pkgver{,-py2}
+}
+
+package_python-chardet() {
+ depends=('python-setuptools')
+ pkgdesc="Python3 module for character encoding auto-detection"
+
+ cd chardet-$pkgver
+ python setup.py install --root="$pkgdir" --optimize=1
+}
+
+package_python2-chardet() {
+ depends=('python2-setuptools')
+ pkgdesc="Python2 module for character encoding auto-detection"
+
+ cd chardet-$pkgver-py2
+ python2 setup.py install --root="$pkgdir" --optimize=1
+
+ # To avoid file conflict with the python3 version
+ mv "$pkgdir"/usr/bin/chardetect{,-py2}
+}
diff --git a/abs/core/python_modules/python-chardet/__changelog b/abs/core/python_modules/python-chardet/__changelog
new file mode 100644
index 0000000..4f818ef
--- /dev/null
+++ b/abs/core/python_modules/python-chardet/__changelog
@@ -0,0 +1,2 @@
+PKGBUILD: don't build py 3 stuff
+
diff --git a/abs/core/python_modules/python-cherrypy/PKGBUILD b/abs/core/python_modules/python-cherrypy/PKGBUILD
new file mode 100644
index 0000000..5fd491b
--- /dev/null
+++ b/abs/core/python_modules/python-cherrypy/PKGBUILD
@@ -0,0 +1,60 @@
+# $Id$
+# Maintainer: Angel Velasquez <angvp@archlinux.org>
+# Contributor: Kaiting Chen <kaitocracy@gmail.com>
+# Contributor: Douglas Soares de Andrade <dsa@aur.archlinux.org>
+# Contributor: Armando M. Baratti <amblistas@ajato.com.br>
+# Contributor: Florian Richter <Florian_Richter@gmx.de>
+pkgname=('python2-cherrypy')
+pkgver=8.9.1
+pkgrel=1
+pkgdesc="A pythonic, object-oriented web development framework"
+arch=('any')
+url="http://www.cherrypy.org"
+license=('BSD')
+makedepends=('python2' 'python2-setuptools')
+checkdepends=('python2-mock')
+source=("https://pypi.python.org/packages/56/aa/91005730bdc5c0da8291a2f411aacbc5c3729166c382e2193e33f28044a3/CherryPy-8.9.1.tar.gz")
+md5sums=('7abe5198e48f14cfee57a07d23875a4b')
+
+build() {
+ cp -r CherryPy-${pkgver} CherryPy-${pkgver}-py2
+
+# cd CherryPy-${pkgver}
+# python ./setup.py build
+
+ cd "${srcdir}/CherryPy-${pkgver}-py2"
+ python2 ./setup.py build
+}
+
+package_python-cherrypy() {
+ depends=('python' 'python-six')
+
+ cd CherryPy-${pkgver}
+
+ python ./setup.py install --root="${pkgdir}" --optimize=1
+
+ install -Dm644 LICENSE.md \
+ "${pkgdir}/usr/share/licenses/python-cherrypy/LICENSE.md"
+}
+
+package_python2-cherrypy() {
+ depends=('python2')
+
+ cd CherryPy-${pkgver}-py2
+
+ python2 ./setup.py install --root="${pkgdir}" --optimize=1
+ mv "${pkgdir}/usr/bin/cherryd" "${pkgdir}/usr/bin/cherryd2"
+
+ install -Dm644 LICENSE.md \
+ "${pkgdir}/usr/share/licenses/python2-cherrypy/LICENSE.md"
+}
+
+check() {
+ # backports.unittest_mock is not packaged..
+ cd CherryPy-${pkgver}-py2/cherrypy
+ #LANG="en_US.UTF-8" pytest2 test/
+
+ cd $srcdir/CherryPy-${pkgver}/cherrypy
+ LANG="en_US.UTF-8" nosetests test/
+
+}
diff --git a/abs/core/python_modules/python-cherrypy/__changelog b/abs/core/python_modules/python-cherrypy/__changelog
new file mode 100644
index 0000000..60db758
--- /dev/null
+++ b/abs/core/python_modules/python-cherrypy/__changelog
@@ -0,0 +1 @@
+PKGBUILD: remove py3 stuff
diff --git a/abs/core/python_modules/python-click/PKGBUILD b/abs/core/python_modules/python-click/PKGBUILD
new file mode 100644
index 0000000..06d9ce5
--- /dev/null
+++ b/abs/core/python_modules/python-click/PKGBUILD
@@ -0,0 +1,41 @@
+# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>
+# Contributor: Carl George < arch at cgtx dot us >
+
+pkgbase=python-click
+pkgname=("python2-click")
+_realname=click
+pkgver=6.7
+pkgrel=1
+pkgdesc="A simple wrapper around optparse for powerful command line utilities"
+arch=("any")
+url="http://click.pocoo.org/"
+license=("BSD")
+makedepends=("python2-setuptools")
+source=("https://github.com/pallets/click/archive/${pkgver}.tar.gz")
+sha256sums=('40b20383dcbfbe73ab0917374f3dbe866fcf0d88c2a348618bf4419ea136f0dd')
+
+prepare() {
+ cp -a $_realname-$pkgver{,-python2}
+}
+
+build() {
+# cd "${srcdir}/${_realname}-${pkgver}"
+# python setup.py build
+
+ cd "${srcdir}/${_realname}-${pkgver}-python2"
+ python2 setup.py build
+}
+
+package_python-click() {
+ depends=("python")
+ cd "${srcdir}/${_realname}-${pkgver}"
+ python setup.py install --skip-build --root="${pkgdir}" --optimize=1
+ install -Dm644 "LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+}
+
+package_python2-click() {
+ depends=("python2")
+ cd "${srcdir}/${_realname}-${pkgver}-python2"
+ python2 setup.py install --skip-build --root="${pkgdir}" --optimize=1
+ install -Dm644 "LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+}
diff --git a/abs/core/python_modules/python-feedparser/PKGBUILD b/abs/core/python_modules/python-feedparser/PKGBUILD
new file mode 100644
index 0000000..6e21842
--- /dev/null
+++ b/abs/core/python_modules/python-feedparser/PKGBUILD
@@ -0,0 +1,58 @@
+# $Id$
+# Maintainer: Eric Bélanger <eric@archlinux.org>
+
+pkgbase=python-feedparser
+#pkgname=('python2-feedparser' 'python-feedparser' 'python-sgmllib')
+pkgname=('python2-feedparser')
+pkgver=5.2.1
+pkgrel=2
+pkgdesc="Parse RSS and Atom feeds in Python"
+arch=('any')
+url="https://github.com/kurtmckee/feedparser/"
+license=('custom')
+makedepends=('python2' 'libxml2' 'python2-setuptools')
+source=(feedparser-${pkgver}.tar.gz::https://github.com/kurtmckee/feedparser/archive/${pkgver}.tar.gz)
+sha1sums=('13c9a17f821e46ba9a34d8777e0ae47a6eb86de4')
+
+prepare() {
+ cp -r feedparser-${pkgver} feedparser-${pkgver}-python2
+ cp -r feedparser-${pkgver} feedparser-${pkgver}-python
+ cp -r feedparser-${pkgver} feedparser-${pkgver}-sgmllib
+
+ (cd feedparser-${pkgver}-python2; sed -i 's#env python$#env python2#' feedparser/feedparsertest.py)
+# (cd feedparser-${pkgver}-python; 2to3 -w feedparser/feedparser.py feedparser/feedparsertest.py)
+}
+
+#build() {
+# cd feedparser-${pkgver}-sgmllib
+# python /usr/lib/python3.6/compileall.py feedparser/sgmllib3.py
+#}
+
+package_python2-feedparser() {
+ depends=('python2' 'libxml2' )
+ pkgdesc="Parse RSS and Atom feeds in Python2"
+
+ cd "${srcdir}/feedparser-${pkgver}-python2"
+ python2 setup.py install --root="${pkgdir}"
+ install -Dm644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/license"
+}
+
+package_python-feedparser() {
+ depends=('libxml2' 'python-sgmllib')
+
+ cd "${srcdir}/feedparser-${pkgver}-python"
+ python setup.py install --root="${pkgdir}"
+ install -Dm644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/license"
+}
+
+package_python-sgmllib() {
+ depends=('python')
+ pkgdesc="Port of sgmllib to Python3"
+ license=('PSF')
+
+ cd "${srcdir}/feedparser-${pkgver}-sgmllib"
+ install -Dm644 feedparser/sgmllib3.py \
+ "${pkgdir}/usr/lib/python3.6/site-packages/sgmllib.py"
+ install -Dm644 feedparser/__pycache__/sgmllib3.cpython-36.pyc \
+ "${pkgdir}/usr/lib/python3.6/site-packages/__pycache__/sgmllib.cpython-36.pyc"
+}
diff --git a/abs/core/python_modules/python-feedparser/__changelog b/abs/core/python_modules/python-feedparser/__changelog
new file mode 100644
index 0000000..c6e1e55
--- /dev/null
+++ b/abs/core/python_modules/python-feedparser/__changelog
@@ -0,0 +1 @@
+PKGBUILD: don't build py 3 stuff
diff --git a/abs/core/python_modules/python-flask-login/PKGBUILD b/abs/core/python_modules/python-flask-login/PKGBUILD
new file mode 100644
index 0000000..06d268f
--- /dev/null
+++ b/abs/core/python_modules/python-flask-login/PKGBUILD
@@ -0,0 +1,48 @@
+# $Id$
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
+
+pkgbase=python-flask-login
+pkgname=('python2-flask-login')
+pkgver=0.4.0
+pkgrel=2
+pkgdesc="User session management for Flask."
+arch=('any')
+url="https://pythonhosted.org/Flask-Login/"
+license=('MIT')
+makedepends=('python2-setuptools' 'python2-flask' 'git')
+checkdepends=('python2-nose' 'python2-mock' 'python2-blinker')
+source=("git+https://github.com/maxcountryman/flask-login.git#tag=$pkgver")
+md5sums=('SKIP')
+
+prepare() {
+ cp -a flask-login{,-py2}
+}
+
+check() {
+# cd "$srcdir"/flask-login
+# nosetests3
+
+ cd "$srcdir"/flask-login-py2
+ # https://github.com/maxcountryman/flask-login/issues/232
+ nosetests2 || warning "Tests failed"
+}
+
+package_python-flask-login() {
+ depends=('python-flask')
+
+ cd flask-login
+ python setup.py install --root="$pkgdir" --optimize=1
+
+ mkdir -p "$pkgdir"/usr/share/licenses/$pkgname
+ install -m644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname
+}
+
+package_python2-flask-login() {
+ depends=('python2-flask')
+
+ cd flask-login-py2
+ python2 setup.py install --root="$pkgdir" --optimize=1
+
+ mkdir -p "$pkgdir"/usr/share/licenses/$pkgname
+ install -m644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname
+}
diff --git a/abs/core/python_modules/python-flask-login/__changelog b/abs/core/python_modules/python-flask-login/__changelog
new file mode 100644
index 0000000..60db758
--- /dev/null
+++ b/abs/core/python_modules/python-flask-login/__changelog
@@ -0,0 +1 @@
+PKGBUILD: remove py3 stuff
diff --git a/abs/core/python_modules/python-flask-restful/LICENSE b/abs/core/python_modules/python-flask-restful/LICENSE
new file mode 100644
index 0000000..3337f90
--- /dev/null
+++ b/abs/core/python_modules/python-flask-restful/LICENSE
@@ -0,0 +1,25 @@
+Copyright (c) 2013, Twilio, Inc.
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+- Redistributions of source code must retain the above copyright notice, this
+ list of conditions and the following disclaimer.
+- Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation
+ and/or other materials provided with the distribution.
+- Neither the name of the Twilio, Inc. nor the names of its contributors may be
+ used to endorse or promote products derived from this software without
+ specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/abs/core/python_modules/python-flask-restful/PKGBUILD b/abs/core/python_modules/python-flask-restful/PKGBUILD
new file mode 100644
index 0000000..f35345c
--- /dev/null
+++ b/abs/core/python_modules/python-flask-restful/PKGBUILD
@@ -0,0 +1,54 @@
+# Maintainer: Thomas Sarboni <max-k@post.com>
+
+pkgbase=python-flask-restful
+pkgname=('python2-flask-restful')
+_realname=Flask-RESTful
+pkgver=0.3.5
+pkgrel=1
+pkgdesc='A Flask extension for creating REST APIs'
+_baseurl='https://pypi.python.org'
+url="${_baseurl}/pypi/${_realname}"
+arch=('any')
+license=('BSD')
+makedepends=('python2-distribute' 'python2-aniso8601>=0.82')
+conflicts=('python2-flask-restful-git')
+source=("${_baseurl}/packages/source/F/${_realname}/${_realname}-${pkgver}.tar.gz"
+ 'LICENSE')
+md5sums=('eab04644697354c0e9ef0fa4c17fe607'
+ '685bb55ed99a366bb431995f5eef2783')
+
+prepare() {
+ # We ship separated python{,2}-packaging packages.
+ cp -a ${_realname}-${pkgver}{,-python2}
+}
+
+build() {
+ # Build python 3 module
+# cd "${srcdir}/${_realname}-${pkgver}"
+# python3 setup.py build
+
+ # Build python 2 module
+ cd "${srcdir}/${_realname}-${pkgver}-python2"
+ python2 setup.py build
+}
+
+package_python-flask-restful() {
+ depends=('python-flask>=0.8' 'python-six>=1.3.0' 'python-pytz' 'python-aniso8601>=0.82')
+
+ cd "${srcdir}/${_realname}-${pkgver}"
+ python setup.py install --prefix=/usr --root="${pkgdir}" --optimize=1 --skip-build
+
+ _licenses_path="${pkgdir}/usr/share/licenses/python-flask-restful"
+ install -D -m644 ${srcdir}/LICENSE "${_licenses_path}/LICENSE"
+}
+
+package_python2-flask-restful() {
+ depends=('python2-flask>=0.8' 'python2-six>=1.3.0' 'python2-pytz' 'python2-aniso8601>=0.82')
+
+ cd "${srcdir}/${_realname}-${pkgver}-python2"
+ python2 setup.py install --prefix=/usr --root="${pkgdir}" --optimize=1 --skip-build
+
+ _licenses_path="${pkgdir}/usr/share/licenses/python2-flask-restful"
+ install -D -m644 ${srcdir}/LICENSE "${_licenses_path}/LICENSE"
+}
+
diff --git a/abs/core/python_modules/python-flask/PKGBUILD b/abs/core/python_modules/python-flask/PKGBUILD
new file mode 100644
index 0000000..dc2cb23
--- /dev/null
+++ b/abs/core/python_modules/python-flask/PKGBUILD
@@ -0,0 +1,60 @@
+# $Id$
+# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>
+# Contributor: Alexander Rødseth <rodseth@gmail.com>
+# Contributor: Thomas Dziedzic < gostrc at gmail >
+# Contributor: Tarmo Heiskanen <turskii@gmail.com>
+
+pkgname=('python2-flask')
+pkgver=0.12.2
+pkgrel=2
+pkgdesc='Micro webdevelopment framework for Python'
+url='http://flask.pocoo.org/'
+arch=('any')
+license=('custom:BSD')
+makedepends=('python2-setuptools')
+source=("https://github.com/pallets/flask/archive/${pkgver}.tar.gz")
+sha512sums=('5007129eed63902a39c6652f0868348629f3f6e09d38a764a6ed0e77f6e87f0a28068cfeee6ecb2dee92ccee771d57f42ba816f856e49f08b8c1dfe6bde9873c')
+
+prepare() {
+# cp -r "flask-$pkgver" "python-flask-$pkgver"
+ cp -r "flask-$pkgver" "python2-flask-$pkgver"
+}
+
+build_python-flask() {
+ cd "$pkgname-$pkgver"
+
+ python setup.py build
+}
+
+build_python2-flask() {
+ cd "$pkgname-$pkgver"
+
+ python setup.py build
+}
+
+check_python-flask() {
+ cd "$pkgname-$pkgver"
+ python setup.py test
+
+ cd "$pkgname-$pkgver"
+ python2 setup.py test
+}
+
+package_python-flask() {
+ depends=('python-werkzeug' 'python-jinja' 'python-itsdangerous' 'python-click')
+ cd "$pkgname-$pkgver"
+
+ python setup.py install --prefix=/usr --root="$pkgdir" --optimize=1
+ install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
+
+package_python2-flask() {
+ depends=('python2-werkzeug' 'python2-jinja' 'python2-itsdangerous' 'python2-click')
+ cd "$pkgname-$pkgver"
+
+ python2 setup.py install --root="$pkgdir" --optimize=1
+ mv "$pkgdir"/usr/bin/flask "$pkgdir"/usr/bin/flask2
+ install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/abs/core/python_modules/python-flask/__changelog b/abs/core/python_modules/python-flask/__changelog
new file mode 100644
index 0000000..60db758
--- /dev/null
+++ b/abs/core/python_modules/python-flask/__changelog
@@ -0,0 +1 @@
+PKGBUILD: remove py3 stuff
diff --git a/abs/core/python_modules/python-future/PKGBUILD b/abs/core/python_modules/python-future/PKGBUILD
new file mode 100644
index 0000000..1b96edc
--- /dev/null
+++ b/abs/core/python_modules/python-future/PKGBUILD
@@ -0,0 +1,66 @@
+# $Id$
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
+# Contributor: Christopher Arndt <aur -at- chrisarndt -dot- de>
+# Contributor: Gaute Hope <eg@gaute.vetsj.com>
+# Contributor: Melissa Padilla <mpadilla2 at hotmail dot com>
+
+pkgbase=python-future
+pkgname=(python2-future)
+pkgver=0.16.0
+pkgrel=2
+pkgdesc="Clean single-source support for Python 3 and 2"
+url="http://python-future.org/"
+arch=('any')
+license=('MIT')
+makedepends=('python2-setuptools')
+checkdepends=('python2-requests')
+options=('!emptydirs')
+source=("https://pypi.io/packages/source/f/future/future-$pkgver.tar.gz")
+sha256sums=('e39ced1ab767b5936646cedba8bcce582398233d6a627067d4c6a454c90cfedb')
+
+prepare() {
+ cp -a future-$pkgver{,-py2}
+}
+
+build() {
+# cd "$srcdir"/future-$pkgver
+# python setup.py build
+
+ cd "$srcdir"/future-$pkgver-py2
+ python2 setup.py build
+}
+
+check() {
+# cd "$srcdir"/future-$pkgver
+# PYTHONPATH="$PWD/build/lib:$PYTHONPATH" python setup.py test || warning "Tests failed"
+
+ cd "$srcdir"/future-$pkgver-py2
+ PYTHONPATH="$PWD/build/lib:$PYTHONPATH" python2 setup.py test
+}
+
+package_python-future() {
+ depends=('python')
+ optdepends=('python-setuptools: futurize and pasteurize scripts')
+ provides=('futurize' 'pasteurize')
+
+ cd future-$pkgver
+
+ python setup.py install --root="$pkgdir" --optimize=1
+ install -D -m644 LICENSE.txt \
+ "$pkgdir"/usr/share/licenses/$pkgname/LICENSE.txt
+}
+
+package_python2-future() {
+ depends=('python2')
+ optdepends=('python2-setuptools: futurize2 and pasteurize2 scripts')
+
+ cd future-$pkgver-py2
+
+ python2 setup.py install --root="$pkgdir" --optimize=1
+
+ mv "$pkgdir"/usr/bin/futurize{,2}
+ mv "$pkgdir"/usr/bin/pasteurize{,2}
+
+ install -D -m644 LICENSE.txt \
+ "$pkgdir"/usr/share/licenses/$pkgname/LICENSE.txt
+}
diff --git a/abs/core/python_modules/python-future/__changelog b/abs/core/python_modules/python-future/__changelog
new file mode 100644
index 0000000..60db758
--- /dev/null
+++ b/abs/core/python_modules/python-future/__changelog
@@ -0,0 +1 @@
+PKGBUILD: remove py3 stuff
diff --git a/abs/core/python_modules/python-html5lib/LICENSE b/abs/core/python_modules/python-html5lib/LICENSE
new file mode 100644
index 0000000..89de354
--- /dev/null
+++ b/abs/core/python_modules/python-html5lib/LICENSE
@@ -0,0 +1,17 @@
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
diff --git a/abs/core/python_modules/python-html5lib/PKGBUILD b/abs/core/python_modules/python-html5lib/PKGBUILD
new file mode 100644
index 0000000..0ef62da
--- /dev/null
+++ b/abs/core/python_modules/python-html5lib/PKGBUILD
@@ -0,0 +1,42 @@
+# Contributor: Erol V. Aktay <e.aktay@gmail.com>
+# Maintainer: Daniel J Griffiths <ghost1227@archlinux.us>
+
+pkgbase=python-html5lib
+pkgname=('python2-html5lib')
+pkgver=0.999999999
+pkgrel=2
+arch=('any')
+url="https://github.com/html5lib"
+license=('MIT')
+makedepends=('python2' 'unzip' 'python2-webencodings')
+checkdepends=('python2-six' 'python2-pytest' 'python2-lxml' 'python2-mock')
+source=($pkgbase-$pkgver.tar.gz::https://github.com/html5lib/html5lib-python/archive/${pkgver}.tar.gz
+ LICENSE)
+md5sums=('a81446ef3ce3ef18f5e8e242b7072b83'
+ '838c366f69b72c5df05c96dff79b35f2')
+
+package_python-html5lib() {
+pkgdesc="A Python HTML parser/tokenizer based on the WHATWG HTML5 spec"
+depends=('python' 'python-six' 'python-webencodings')
+ cd ${srcdir}/html5lib-python-${pkgver}
+
+ python3 setup.py install --root=${pkgdir}
+ install -Dm755 $srcdir/LICENSE ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE
+}
+
+package_python2-html5lib() {
+depends=('python2' 'python2-six' 'python2-webencodings')
+pkgdesc="A Python2 HTML parser/tokenizer based on the WHATWG HTML5 spec"
+ cd ${srcdir}/html5lib-python-${pkgver}
+
+ python2 setup.py install --root=${pkgdir}
+ install -Dm755 $srcdir/LICENSE ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE
+}
+
+check() {
+ cd ${srcdir}/html5lib-python-${pkgver}/html5lib/tests
+
+# nosetests2
+
+# nosetests
+}
diff --git a/abs/core/python_modules/python-html5lib/__changelog b/abs/core/python_modules/python-html5lib/__changelog
new file mode 100644
index 0000000..4f818ef
--- /dev/null
+++ b/abs/core/python_modules/python-html5lib/__changelog
@@ -0,0 +1,2 @@
+PKGBUILD: don't build py 3 stuff
+
diff --git a/abs/core/python_modules/python-idna/PKGBUILD b/abs/core/python_modules/python-idna/PKGBUILD
index 1d18ce5..dd2fb8f 100644
--- a/abs/core/python_modules/python-idna/PKGBUILD
+++ b/abs/core/python_modules/python-idna/PKGBUILD
@@ -3,22 +3,22 @@
pkgbase=python-idna
pkgname=('python2-idna')
-pkgver=2.1
+pkgver=2.5
pkgrel=1
pkgdesc="Internationalized Domain Names in Applications (IDNA)"
arch=('any')
license=('BSD')
url="https://github.com/kjd/idna"
makedepends=('python2-setuptools')
-source=("https://pypi.python.org/packages/source/i/idna/idna-$pkgver.tar.gz")
-md5sums=('f6473caa9c5e0cc1ad3fd5d04c3c114b')
+source=("https://pypi.io/packages/source/i/idna/idna-$pkgver.tar.gz")
+md5sums=('fc1d992bef73e8824db411bb5d21f012')
prepare() {
cp -a idna-$pkgver{,-py2}
}
build() {
- cd "$srcdir"/idna-$pkgver
+# cd "$srcdir"/idna-$pkgver
# python setup.py build
cd "$srcdir"/idna-$pkgver-py2
@@ -26,8 +26,8 @@ build() {
}
check() {
- cd "$srcdir"/idna-$pkgver
- python setup.py test
+# cd "$srcdir"/idna-$pkgver
+# python setup.py test
cd "$srcdir"/idna-$pkgver-py2
python2 setup.py test
diff --git a/abs/core/python_modules/python-itsdangerous/PKGBUILD b/abs/core/python_modules/python-itsdangerous/PKGBUILD
new file mode 100644
index 0000000..4b643d8
--- /dev/null
+++ b/abs/core/python_modules/python-itsdangerous/PKGBUILD
@@ -0,0 +1,37 @@
+# $Id$
+# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>
+# Contributor: Alexander Rødseth <rodseth@gmail.com>
+
+pkgname=('python2-itsdangerous')
+pkgver=0.24
+pkgrel=3
+pkgdesc='Various helpers to pass trusted data to untrusted environments'
+arch=('any')
+url="http://pypi.python.org/pypi/itsdangerous"
+license=('BSD')
+makedepends=('python2')
+source=("$pkgname-$pkgver.tar.gz::https://github.com/mitsuhiko/itsdangerous/archive/${pkgver}.tar.gz")
+sha256sums=('b035b2da1d493b00a5ee7a5b750f96929de87b610643939fbe382902774626fc')
+
+prepare() {
+ cp -r "itsdangerous-$pkgver" "python-itsdangerous-$pkgver"
+ cp -r "itsdangerous-$pkgver" "python2-itsdangerous-$pkgver"
+}
+
+package_python-itsdangerous() {
+ cd "$pkgname-$pkgver"
+ depends+=('python')
+
+ python setup.py install --root="$pkgdir" --optimize=1
+ install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
+
+package_python2-itsdangerous() {
+ cd "$pkgname-$pkgver"
+ depends+=('python2')
+
+ python2 setup.py install --root="$pkgdir" --optimize=1
+ install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/abs/core/python_modules/python-itsdangerous/__changelog b/abs/core/python_modules/python-itsdangerous/__changelog
new file mode 100644
index 0000000..60db758
--- /dev/null
+++ b/abs/core/python_modules/python-itsdangerous/__changelog
@@ -0,0 +1 @@
+PKGBUILD: remove py3 stuff
diff --git a/abs/core/python_modules/python-jsonschema/PKGBUILD b/abs/core/python_modules/python-jsonschema/PKGBUILD
new file mode 100644
index 0000000..45de390
--- /dev/null
+++ b/abs/core/python_modules/python-jsonschema/PKGBUILD
@@ -0,0 +1,38 @@
+# $Id$
+# Maintainer: Daniel Wallace <danielwallace at gtmanfred.com>
+# Contributor: Bogdan Szczurek <thebodzio@gmail.com>
+# Contributor: Ismo Toijala <ismo.toijala@gmail.com>
+
+pkgbase=python-jsonschema
+_pkgname=jsonschema
+pkgname=(python2-jsonschema)
+pkgver=2.6.0
+pkgrel=1
+pkgdesc="An implementation of JSON Schema validation for Python"
+arch=(any)
+url="http://pypi.python.org/pypi/jsonschema"
+license=('MIT')
+makedepends=(python2-setuptools)
+source=("https://pypi.io/packages/source/j/jsonschema/${pkgname:8}-$pkgver.tar.gz")
+
+prepare(){
+ cp -a $_pkgname-$pkgver $_pkgname-$pkgver-2
+ find $_pkgname-$pkgver-2 -name \*.py -exec sed -i '1s/python$/&2/' {} +
+}
+
+package_python-jsonschema() {
+ cd "$srcdir/$_pkgname-$pkgver"
+ python setup.py install --root="$pkgdir/" --optimize=1
+ depends=(python)
+ install -D -m644 json/LICENSE $pkgdir/usr/share/licenses/$pkgname/LICENSE
+}
+
+package_python2-jsonschema() {
+ cd "$srcdir/$_pkgname-$pkgver-2"
+ python2 setup.py install --root="$pkgdir/" --optimize=1
+ depends=(python2-functools32)
+ install -D -m644 json/LICENSE $pkgdir/usr/share/licenses/$pkgname/LICENSE
+ mv $pkgdir/usr/bin/jsonschema{,2}
+}
+
+md5sums=('50c6b69a373a8b55ff1e0ec6e78f13f4')
diff --git a/abs/core/python_modules/python-jsonschema/__changelog b/abs/core/python_modules/python-jsonschema/__changelog
new file mode 100644
index 0000000..4f818ef
--- /dev/null
+++ b/abs/core/python_modules/python-jsonschema/__changelog
@@ -0,0 +1,2 @@
+PKGBUILD: don't build py 3 stuff
+
diff --git a/abs/core/python_modules/python-ndg-httpsclient/PKGBUILD b/abs/core/python_modules/python-ndg-httpsclient/PKGBUILD
new file mode 100644
index 0000000..7b0047f
--- /dev/null
+++ b/abs/core/python_modules/python-ndg-httpsclient/PKGBUILD
@@ -0,0 +1,48 @@
+# $Id: PKGBUILD 134777 2015-06-04 13:33:01Z mtorromeo $
+# Maintainer: Massimiliano Torromeo <massimiliano.torromeo@gmail.com>
+# Contributor: Hugo Osvaldo Barrera <hugo@osvaldobarrera.com.ar>
+
+pkgbase=python-ndg-httpsclient
+pkgname=(python2-ndg-httpsclient)
+_pkgname=ndg_httpsclient
+pkgver=0.4.2
+pkgrel=2
+pkgdesc="Provides enhanced HTTPS support for httplib and urllib2 using PyOpenSSL"
+arch=(any)
+url="https://pypi.python.org/pypi/ndg-httpsclient"
+license=('BSD')
+makedepends=(python2-setuptools python2-pyopenssl python2-pyasn1)
+options=(!emptydirs)
+source=(https://files.pythonhosted.org/packages/source/n/ndg-httpsclient/$_pkgname-$pkgver.tar.gz)
+sha256sums=('580987ef194334c50389e0d7de885fccf15605c13c6eecaabd8d6c43768eb8ac')
+
+build() {
+ cd "$srcdir"/$_pkgname-$pkgver
+
+# rm -rf ../buildpy3; mkdir ../buildpy3
+# python setup.py build -b ../buildpy3
+
+ rm -rf ../buildpy2; mkdir ../buildpy2
+ python2 setup.py build -b ../buildpy2
+}
+
+package_python-ndg-httpsclient() {
+ depends=(python-pyopenssl python-pyasn1)
+ _site_packages=$(python -sSc 'import site; print(site.getsitepackages()[0])')
+
+ cd "$srcdir"/$_pkgname-$pkgver
+ rm -rf build; ln -s ../buildpy3 build
+ python setup.py install --skip-build -O1 --root="$pkgdir"
+ install -Dm0644 "$pkgdir$_site_packages"/ndg/httpsclient/LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
+}
+
+package_python2-ndg-httpsclient() {
+ depends=(python2-pyopenssl python2-pyasn1)
+ _site_packages=$(python2 -sSc 'import site; print(site.getsitepackages()[0])')
+
+ cd "$srcdir"/$_pkgname-$pkgver
+ rm -rf build; ln -s ../buildpy2 build
+ python2 setup.py install --skip-build -O1 --root="$pkgdir"
+ install -Dm0644 "$pkgdir$_site_packages"/ndg/httpsclient/LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
+ mv "$pkgdir"/usr/bin/ndg_httpclient{,2}
+}
diff --git a/abs/core/python_modules/python-ndg-httpsclient/__changelog b/abs/core/python_modules/python-ndg-httpsclient/__changelog
new file mode 100644
index 0000000..4f818ef
--- /dev/null
+++ b/abs/core/python_modules/python-ndg-httpsclient/__changelog
@@ -0,0 +1,2 @@
+PKGBUILD: don't build py 3 stuff
+
diff --git a/abs/core/python_modules/python-packaging/PKGBUILD b/abs/core/python_modules/python-packaging/PKGBUILD
new file mode 100644
index 0000000..c7e2b7a
--- /dev/null
+++ b/abs/core/python_modules/python-packaging/PKGBUILD
@@ -0,0 +1,49 @@
+# $Id$
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
+
+pkgbase=python-packaging
+pkgname=(python2-packaging)
+pkgver=16.8
+pkgrel=2
+pkgdesc="Core utilities for Python packages"
+arch=('any')
+url="https://github.com/pypa/packaging"
+license=('Apache')
+makedepends=('python2-setuptools' 'python2-pyparsing' 'git')
+checkdepends=('python2-pytest-runner' 'python2-pretend' 'python2-coverage')
+source=("git+https://github.com/pypa/packaging.git#tag=$pkgver")
+md5sums=('SKIP')
+
+prepare() {
+ cp -a packaging{,-py2}
+}
+
+build() {
+# cd "$srcdir"/packaging
+# python setup.py build
+
+ cd "$srcdir"/packaging-py2
+ python2 setup.py build
+}
+
+check() {
+# cd "$srcdir"/packaging
+# python setup.py ptr
+
+ cd "$srcdir"/packaging-py2
+ python2 setup.py ptr
+}
+
+package_python-packaging() {
+ depends=('python-pyparsing' 'python-six')
+
+ cd "$srcdir"/packaging
+ python setup.py install --root "$pkgdir"
+}
+
+package_python2-packaging() {
+ depends=('python2-pyparsing' 'python2-six')
+
+ cd "$srcdir"/packaging-py2
+ python2 setup.py install --root "$pkgdir"
+}
diff --git a/abs/core/python_modules/python-packaging/__changelog b/abs/core/python_modules/python-packaging/__changelog
new file mode 100644
index 0000000..4f818ef
--- /dev/null
+++ b/abs/core/python_modules/python-packaging/__changelog
@@ -0,0 +1,2 @@
+PKGBUILD: don't build py 3 stuff
+
diff --git a/abs/core/python_modules/python-path/PKGBUILD b/abs/core/python_modules/python-path/PKGBUILD
new file mode 100644
index 0000000..2b7dcbc
--- /dev/null
+++ b/abs/core/python_modules/python-path/PKGBUILD
@@ -0,0 +1,40 @@
+# $Id: PKGBUILD 171328 2016-04-18 11:00:47Z kkeen $
+# Maintainer: Kyle Keen <keenerd@gmail.com>
+
+pkgbase=python-path
+pkgname=(python2-path)
+pkgver=10.1
+pkgrel=1
+pkgdesc="Aka path.py, implements path objects as first-class entities"
+arch=('any')
+url="https://pypi.python.org/pypi/path.py"
+license=('MIT')
+depends=('python2' 'python2-setuptools')
+makedepends=('python2-setuptools')
+#source=("https://pypi.python.org/packages/source/p/path.py/path.py-$pkgver.tar.gz")
+source=("https://files.pythonhosted.org/packages/source/p/path.py/path.py-$pkgver.tar.gz")
+md5sums=('f9d31317ceeb798f6b5eac8d3b8e5988')
+
+# formerly a dependency of python-pickleshare
+# now used by nothing so back to the AUR
+
+prepare() {
+ cd "$srcdir"
+ cp -r path.py-$pkgver python2-path.py-$pkgver
+}
+
+package_python-path() {
+ depends=('python' 'python-setuptools')
+ cd "$srcdir/path.py-$pkgver"
+ python3 setup.py install --prefix=/usr --root="$pkgdir" --optimize=0
+ install -d "$pkgdir/usr/share/licenses/$pkgname/"
+ head -n 21 path.py > "$pkgdir/usr/share/licenses/$pkgname/license.txt"
+}
+
+package_python2-path() {
+ depends=('python2' 'python2-setuptools')
+ cd "$srcdir/python2-path.py-$pkgver"
+ python2 setup.py install --prefix=/usr --root="$pkgdir" --optimize=0
+ install -d "$pkgdir/usr/share/licenses/$pkgname/"
+ head -n 21 path.py > "$pkgdir/usr/share/licenses/$pkgname/license.txt"
+}
diff --git a/abs/core/python_modules/python-path/__changelog b/abs/core/python_modules/python-path/__changelog
new file mode 100644
index 0000000..4f818ef
--- /dev/null
+++ b/abs/core/python_modules/python-path/__changelog
@@ -0,0 +1,2 @@
+PKGBUILD: don't build py 3 stuff
+
diff --git a/abs/core/python_modules/python-pip/PKGBUILD b/abs/core/python_modules/python-pip/PKGBUILD
new file mode 100644
index 0000000..acef38b
--- /dev/null
+++ b/abs/core/python_modules/python-pip/PKGBUILD
@@ -0,0 +1,44 @@
+# $Id$
+# Maintainer: Dan McGee <dan@archlinux.org>
+# Contributor: Sebastien Binet <binet@lblbox>
+
+pkgname=('python2-pip')
+pkgver=9.0.1
+pkgrel=2
+pkgdesc="The PyPA recommended tool for installing Python packages"
+url="https://pip.pypa.io/"
+arch=('any')
+license=('MIT')
+makedepends=('python2' 'python2-setuptools')
+source=(https://pypi.io/packages/source/p/pip/pip-${pkgver}.tar.gz)
+md5sums=('35f01da33009719497f01a4ba69d63c9')
+sha256sums=('09f243e1a7b461f654c26a725fa373211bb7ff17a9300058b205c61658ca940d')
+
+package_python-pip() {
+ depends=('python' 'python-setuptools')
+
+ cd "$srcdir/pip-$pkgver"
+ python setup.py build
+ python setup.py install --prefix=/usr --root="$pkgdir"
+
+ install -D -m644 LICENSE.txt \
+ "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
+
+package_python2-pip() {
+ depends=('python2' 'python2-setuptools')
+ conflicts=('python-pyinstall')
+ replaces=('python-pyinstall')
+
+ cd "$srcdir/pip-$pkgver"
+ python2 setup.py build
+ python2 setup.py install --prefix=/usr --root="$pkgdir"
+
+ mv "$pkgdir/usr/bin/pip" "$pkgdir/usr/bin/pip2"
+ sed -i "s|#!/usr/bin/env python$|#!/usr/bin/env python2|" \
+ ${pkgdir}/usr/lib/python2.7/site-packages/pip/__init__.py
+ python2 -m compileall ${pkgdir}/usr/lib/python2.7/site-packages/pip/__init__.py
+
+ install -D -m644 LICENSE.txt \
+ "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
diff --git a/abs/core/python_modules/python-pip/__changelog b/abs/core/python_modules/python-pip/__changelog
new file mode 100644
index 0000000..4f818ef
--- /dev/null
+++ b/abs/core/python_modules/python-pip/__changelog
@@ -0,0 +1,2 @@
+PKGBUILD: don't build py 3 stuff
+
diff --git a/abs/core/python_modules/python-pyparsing/PKGBUILD b/abs/core/python_modules/python-pyparsing/PKGBUILD
new file mode 100644
index 0000000..510d8bf
--- /dev/null
+++ b/abs/core/python_modules/python-pyparsing/PKGBUILD
@@ -0,0 +1,64 @@
+# $Id$
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
+# Contributor: Alexander F Rødseth <xyproto@archlinux.org>
+# Contributor: Chris Brannon <cmbrannon79@gmail.com>
+# Contributor: Geoffroy Carrier <geoffroy.carrier@aur.archlinux.org>
+# Contributor: Arvid Ephraim Picciani <aep@exys.org>
+# Contributor: Michael Krauss <hippodriver@gmx.net>
+
+pkgname=python-pyparsing
+pkgname=('python2-pyparsing')
+pkgver=2.2.0
+pkgrel=1
+pkgdesc='General parsing module for Python'
+arch=('any')
+url='http://pyparsing.wikispaces.com/'
+makedepends=('python2-setuptools' 'subversion')
+license=('MIT')
+source=("svn://svn.code.sf.net/p/pyparsing/code/tags/pyparsing_$pkgver")
+sha256sums=('SKIP')
+
+prepare() {
+ cp -a pyparsing_$pkgver{,-py2}
+
+ # :/
+ sed -i '1i#coding=utf-8' pyparsing_$pkgver-py2/src/unitTests.py
+}
+
+build() {
+# cd "$srcdir"/pyparsing_$pkgver/src
+# python setup.py build
+
+ cd "$srcdir"/pyparsing_$pkgver-py2/src
+ python2 setup.py build
+}
+
+check() {
+ export LC_CTYPE=en_US.UTF-8
+
+# cd "$srcdir"/pyparsing_$pkgver/src
+# python unitTests.py
+
+ cd "$srcdir"/pyparsing_$pkgver-py2/src
+ python2 unitTests.py
+}
+
+package_python-pyparsing() {
+ depends=('python')
+
+ cd pyparsing_$pkgver/src
+
+ python setup.py install --prefix=/usr --root="$pkgdir" --optimize=1
+ install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
+}
+
+package_python2-pyparsing() {
+ depends=('python2')
+
+ cd pyparsing_$pkgver-py2/src
+
+ python2 setup.py install --prefix=/usr --root="$pkgdir" --optimize=1
+ install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/abs/core/python_modules/python-pyparsing/__changelog b/abs/core/python_modules/python-pyparsing/__changelog
new file mode 100644
index 0000000..4f818ef
--- /dev/null
+++ b/abs/core/python_modules/python-pyparsing/__changelog
@@ -0,0 +1,2 @@
+PKGBUILD: don't build py 3 stuff
+
diff --git a/abs/core/python_modules/python-pyrss2gen/PKGBUILD b/abs/core/python_modules/python-pyrss2gen/PKGBUILD
new file mode 100644
index 0000000..69258ca
--- /dev/null
+++ b/abs/core/python_modules/python-pyrss2gen/PKGBUILD
@@ -0,0 +1,35 @@
+# Maintainer: Chris Warrick <aur@chriswarrick.com>
+pkgbase=python-pyrss2gen
+pkgname=('python2-pyrss2gen')
+_pyname=PyRSS2Gen
+pkgver=1.1
+pkgrel=6
+pkgdesc='A Python library for generating RSS 2.0 feeds.'
+arch=('any')
+url="http://www.dalkescientific.com/Python/PyRSS2Gen.html"
+license=('BSD')
+makedepends=('python2' 'python2-setuptools')
+options=(!emptydirs)
+source=("http://www.dalkescientific.com/Python/${_pyname}-${pkgver}.tar.gz")
+md5sums=("c56b9453d52b0a70be4f3e95112058aa")
+provides=('pyrss2gen')
+
+prepare() {
+ cd "${srcdir}/${_pyname}-${pkgver}"
+ cp -r "${srcdir}/${_pyname}-${pkgver}" "${srcdir}/${_pyname}-${pkgver}-py2"
+}
+
+package_python-pyrss2gen() {
+ depends=('python' 'python-setuptools')
+ cd "${srcdir}/${_pyname}-${pkgver}"
+ python3 setup.py install --root="${pkgdir}/" --optimize=1
+ install -D -m644 LICENSE "${pkgdir}/usr/share/licenses/${pkgbase}/LICENSE"
+}
+
+package_python2-pyrss2gen() {
+ depends=('python2' 'python2-setuptools')
+ cd "${srcdir}/${_pyname}-${pkgver}-py2"
+ python2 setup.py install --root="${pkgdir}/" --optimize=1
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/abs/core/python_modules/python-pyrss2gen/__changelog b/abs/core/python_modules/python-pyrss2gen/__changelog
new file mode 100644
index 0000000..4f818ef
--- /dev/null
+++ b/abs/core/python_modules/python-pyrss2gen/__changelog
@@ -0,0 +1,2 @@
+PKGBUILD: don't build py 3 stuff
+
diff --git a/abs/core/python_modules/python-pysocks/PKGBUILD b/abs/core/python_modules/python-pysocks/PKGBUILD
new file mode 100644
index 0000000..e9e91f2
--- /dev/null
+++ b/abs/core/python_modules/python-pysocks/PKGBUILD
@@ -0,0 +1,64 @@
+# $Id$
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
+# Contributor: Michael Schubert <mschu.dev at gmail>
+
+pkgbase=python-pysocks
+pkgname=(python2-pysocks)
+pkgver=1.6.7
+pkgrel=1
+pkgdesc="SOCKS4, SOCKS5 or HTTP proxy (Anorov fork PySocks replaces socksipy)"
+arch=('any')
+license=('BSD')
+url="https://github.com/Anorov/PySocks"
+makedepends=('python2-setuptools')
+checkdepends=('lib32-glibc' 'python2-twisted' 'python2-tornado')
+source=("$pkgbase-$pkgver.tar.gz::https://github.com/Anorov/PySocks/archive/$pkgver.tar.gz")
+sha512sums=('6b670b2246c2c3c8d0b5424f6fb65cbab1d030d58b15f99db9eb232ead5e853c52af637f3d429e3fe88c70792f3b4913219b6694fa0e81318cdd40c41c1b17d6')
+
+prepare() {
+ cp -a PySocks-$pkgver{,-py2}
+}
+
+build() {
+# cd "$srcdir"/PySocks-$pkgver
+# python setup.py build
+
+ cd "$srcdir"/PySocks-$pkgver-py2
+ python2 setup.py build
+}
+
+# Tests disabled as it requires external services to run
+check_disabled() {
+ cd "$srcdir"/PySocks-$pkgver-py2/test
+ python2 socks4server.py &
+ _SOCKS4SERVER=$!
+ python2 httpproxy.py &
+ _HTTPPROXY=$1
+
+ ./mocks start
+
+ sleep 1
+
+ python2 sockstest.py
+
+# cd "$srcdir"/PySocks-$pkgver/test
+# python sockstest.py
+
+ ./mocks shutdown
+
+ kill $_SOCKS4SERVER $_HTTPPROXY
+}
+
+package_python-pysocks() {
+ depends=('python')
+
+ cd PySocks-$pkgver
+ python setup.py install --prefix=/usr --root="$pkgdir" --optimize=1
+}
+
+package_python2-pysocks() {
+ depends=('python2')
+
+ cd PySocks-$pkgver-py2
+ python2 setup.py install --prefix=/usr --root="$pkgdir" --optimize=1
+}
diff --git a/abs/core/python_modules/python-pysocks/__changelog b/abs/core/python_modules/python-pysocks/__changelog
new file mode 100644
index 0000000..4f818ef
--- /dev/null
+++ b/abs/core/python_modules/python-pysocks/__changelog
@@ -0,0 +1,2 @@
+PKGBUILD: don't build py 3 stuff
+
diff --git a/abs/core/python_modules/python-pytest-runner/PKGBUILD b/abs/core/python_modules/python-pytest-runner/PKGBUILD
new file mode 100644
index 0000000..5d106ce
--- /dev/null
+++ b/abs/core/python_modules/python-pytest-runner/PKGBUILD
@@ -0,0 +1,52 @@
+# $Id$
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
+
+pkgbase=python-pytest-runner
+pkgname=('python2-pytest-runner')
+pkgver=2.11.1
+pkgrel=1
+pkgdesc="Invoke py.test as distutils command with dependency resolution"
+arch=('any')
+license=('MIT')
+url="https://github.com/pytest-dev/pytest-runner"
+makedepends=('python2-pytest' 'python2-setuptools-scm' 'git')
+source=("git+https://github.com/pytest-dev/pytest-runner.git#tag=$pkgver")
+sha512sums=('SKIP')
+
+prepare() {
+ cp -a pytest-runner{,-py2}
+}
+
+build() {
+# cd "$srcdir"/pytest-runner
+# python setup.py build
+
+ cd "$srcdir"/pytest-runner-py2
+ python2 setup.py build
+}
+
+check() {
+# cd "$srcdir"/pytest-runner
+# python setup.py egg_info
+# PYTHONPATH="$PWD" pytest
+
+ cd "$srcdir"/pytest-runner-py2
+ python2 setup.py egg_info
+ PYTHONPATH="$PWD" pytest2
+}
+
+package_python-pytest-runner() {
+ depends=('python-pytest')
+
+ cd pytest-runner
+ python setup.py install --root="$pkgdir" --optimize=1
+ install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
+}
+
+package_python2-pytest-runner() {
+ depends=('python2-pytest')
+
+ cd pytest-runner-py2
+ python2 setup.py install --root="$pkgdir" --optimize=1
+ install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
+}
diff --git a/abs/core/python_modules/python-pytest-runner/__changelog b/abs/core/python_modules/python-pytest-runner/__changelog
new file mode 100644
index 0000000..4f818ef
--- /dev/null
+++ b/abs/core/python_modules/python-pytest-runner/__changelog
@@ -0,0 +1,2 @@
+PKGBUILD: don't build py 3 stuff
+
diff --git a/abs/core/python_modules/python-pytz/PKGBUILD b/abs/core/python_modules/python-pytz/PKGBUILD
new file mode 100644
index 0000000..3e77d2a
--- /dev/null
+++ b/abs/core/python_modules/python-pytz/PKGBUILD
@@ -0,0 +1,58 @@
+# Maintainer: Stefan Husmann <stefan-husmann@t-online.de>
+# Maintainer: Jelle van der Waa <jelle@vdwaa.nl>
+# Contributor: Douglas Soares de Andrade <dsa@aur.archlinux.org>
+# Contributor: William Rea <sillywilly@gmail.com>
+
+pkgname=('python2-pytz')
+pkgver=2017.2
+pkgrel=1
+arch=('any')
+url="http://pypi.python.org/pypi/pytz"
+license=("MIT")
+makedepends=('python2')
+source=(https://pypi.python.org/packages/a4/09/c47e57fc9c7062b4e83b075d418800d322caa87ec0ac21e6308bd3a2d519/pytz-2017.2.zip{,.asc})
+md5sums=('f89bde8a811c8a1a5bac17eaaa94383c'
+ 'SKIP')
+validpgpkeys=('C7ECC365AB6F255E1EB9BA1701FA998FBAC6374A')
+
+build(){
+ cd $srcdir
+ cp -rf pytz-$pkgver pytz2-$pkgver
+}
+
+check(){
+ cd $srcdir/pytz-$pkgver/pytz/tests
+
+# python3 test_tzinfo.py
+
+ python2 test_tzinfo.py
+}
+
+package_python-pytz(){
+ depends=('python')
+ pkgdesc="Cross platform time zone library for Python"
+
+ cd $srcdir/pytz-$pkgver
+
+ # Fix locale https://github.com/ipython/ipython/issues/2057
+ export LC_ALL=en_US.UTF-8
+
+ python3 setup.py install --root=$pkgdir/
+
+ install -D LICENSE.txt $pkgdir/usr/share/licenses/$pkgname/LICENSE
+}
+
+
+package_python2-pytz(){
+ depends=('python2')
+ pkgdesc="Cross platform time zone library for Python"
+
+ cd $srcdir/pytz2-$pkgver
+
+ # python 2 fix
+ sed -i 's_#!/usr/bin/env python_#!/usr/bin/env python2_' pytz/tzfile.py
+
+ python2 setup.py install --root="$pkgdir/"
+
+ install -D LICENSE.txt "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
diff --git a/abs/core/python_modules/python-pytz/__changelog b/abs/core/python_modules/python-pytz/__changelog
new file mode 100644
index 0000000..c6e1e55
--- /dev/null
+++ b/abs/core/python_modules/python-pytz/__changelog
@@ -0,0 +1 @@
+PKGBUILD: don't build py 3 stuff
diff --git a/abs/core/python_modules/python-rebulk/PKGBUILD b/abs/core/python_modules/python-rebulk/PKGBUILD
new file mode 100644
index 0000000..c7338bf
--- /dev/null
+++ b/abs/core/python_modules/python-rebulk/PKGBUILD
@@ -0,0 +1,34 @@
+# Maintainer: Sebastien Leduc <sebastien@sleduc.fr>
+pkgname=('python2-rebulk')
+pkgbase='python-rebulk'
+_guser='Toilal'
+_gproject="rebulk"
+pkgver=0.9.0
+pkgrel=1
+pkgdesc=" Define simple search patterns in bulk to perform advanced matching on any string. "
+arch=("any")
+url="https://github.com/Toilal/rebulk"
+license=('MIT')
+makedepends=('python2' 'python2-setuptools' 'python2-pytest-runner')
+options=(!emptydirs)
+source=("https://github.com/${_guser}/${_gproject}/archive/${pkgver}.tar.gz")
+md5sums=('7f76cd95e6ca9219202aeaa9b1b7b7c8')
+
+
+prepare() {
+ cp -a "${srcdir}/${_gproject}-${pkgver}"{,-python2}
+}
+
+package_python-rebulk() {
+ depends=('python-six' 'python-regex')
+ cd "$srcdir/$_gproject-$pkgver"
+ python setup.py install --root="$pkgdir/" --optimize=1
+}
+
+package_python2-rebulk() {
+ depends=('python2-six' 'python2-regex' 'python2-ordereddict')
+ cd "$srcdir/$_gproject-$pkgver-python2"
+ python2 setup.py install --root="$pkgdir/" --optimize=1
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/abs/core/python_modules/python-rebulk/__changelog b/abs/core/python_modules/python-rebulk/__changelog
new file mode 100644
index 0000000..4f818ef
--- /dev/null
+++ b/abs/core/python_modules/python-rebulk/__changelog
@@ -0,0 +1,2 @@
+PKGBUILD: don't build py 3 stuff
+
diff --git a/abs/core/python_modules/python-regex/PKGBUILD b/abs/core/python_modules/python-regex/PKGBUILD
new file mode 100644
index 0000000..13c1ca0
--- /dev/null
+++ b/abs/core/python_modules/python-regex/PKGBUILD
@@ -0,0 +1,46 @@
+# Maintainer: Jelle van der Waa <jelle@archlinux.org>
+# Contributor: Nikola Milinković <nikmil@gmail.com>
+# Submitter: Xiao-Long Chen <chenxiaolong@cxl.epac.to>
+
+_pkgbase=regex
+pkgbase=python-regex
+pkgname=('python2-regex')
+#pkgname=python-regex
+pkgver=2017.07.11
+pkgrel=1
+pkgdesc="Alternative python regular expression module."
+arch=('x86_64' 'i686')
+url="https://bitbucket.org/mrabarnett/mrab-regex"
+license=('Python')
+makedepends=('python2-setuptools')
+options=(!emptydirs)
+source=(https://pypi.io/packages/source/r/${_pkgbase}/${_pkgbase}-${pkgver}.tar.gz)
+sha256sums=('dbda8bdc31a1c85445f1a1b29d04abda46e5c690f8f933a9cc3a85a358969616')
+
+package_python2-regex() {
+ depends=('python2')
+ conflicts=('python2-regex-hg')
+ pkgdesc="Alternative python regular expression module. (python2 version)"
+
+ cd "regex-${pkgver}"
+ python2 setup.py install --root="${pkgdir}/" --optimize=1
+
+ install -v -m755 -d "${pkgdir}/usr/share/doc/python2-regex"
+ install -v -m644 ./docs/Features.html "${pkgdir}/usr/share/doc/python2-regex/"
+ install -v -m644 ./docs/Features.rst "${pkgdir}/usr/share/doc/python2-regex/"
+ install -v -m644 ./docs/UnicodeProperties.txt "${pkgdir}/usr/share/doc/python2-regex/"
+}
+
+package_python-regex() {
+ depends=('python')
+ conflicts=('python-regex-hg')
+ pkgdesc="Alternative python regular expression module. (python3 version)"
+
+ cd "regex-${pkgver}"
+ python setup.py install --root="${pkgdir}/" --optimize=1
+
+ install -v -m755 -d "${pkgdir}/usr/share/doc/python-regex"
+ install -v -m644 ./docs/Features.html "${pkgdir}/usr/share/doc/python-regex/"
+ install -v -m644 ./docs/Features.rst "${pkgdir}/usr/share/doc/python-regex/"
+ install -v -m644 ./docs/UnicodeProperties.txt "${pkgdir}/usr/share/doc/python-regex/"
+}
diff --git a/abs/core/python_modules/python-regex/__changelog b/abs/core/python_modules/python-regex/__changelog
new file mode 100644
index 0000000..c6e1e55
--- /dev/null
+++ b/abs/core/python_modules/python-regex/__changelog
@@ -0,0 +1 @@
+PKGBUILD: don't build py 3 stuff
diff --git a/abs/core/python_modules/python-requests-cache/PKGBUILD b/abs/core/python_modules/python-requests-cache/PKGBUILD
new file mode 100644
index 0000000..b7d9937
--- /dev/null
+++ b/abs/core/python_modules/python-requests-cache/PKGBUILD
@@ -0,0 +1,34 @@
+# Maintainer: Christian Rebischke <chris.rebischke[at]archlinux[dot]org>
+
+pkgbase=python-requests-cache
+_pyname=requests-cache
+pkgname=('python2-requests-cache')
+makedepends=('python2' 'python2-setuptools')
+pkgver=0.4.12
+pkgrel=2
+pkgdesc="Persistent cache for requests library"
+arch=('any')
+url="https://github.com/reclosedev/requests-cache"
+license=('BSD')
+source=("${_pyname}-${pkgver}.tar.gz::https://github.com/reclosedev/${_pyname}/archive/v${pkgver}.tar.gz")
+sha512sums=('06d563d59c24f311209b81beb96130b75d1e849e0bb94ad636b3ac269eed7c89fdddfed8da86560473c4463425ea98953d30fb3da05efd614907855f130587fc')
+
+package_python-requests-cache() {
+ depends=('python')
+ cd "${srcdir}/${_pyname}-${pkgver}"
+ python setup.py install -O1 --root="${pkgdir}"
+ install -Dm 644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+ install -Dm 644 README.rst "${pkgdir}/usr/share/doc/${pkgname}/README"
+
+}
+
+package_python2-requests-cache() {
+ depends=('python2')
+ cd "${srcdir}/${_pyname}-${pkgver}"
+ python2 setup.py install -O1 --root="${pkgdir}"
+ install -Dm 644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+ install -Dm 644 README.rst "${pkgdir}/usr/share/doc/${pkgname}/README"
+
+}
+
+# vim:set et sw=2 ts=2 tw=79:
diff --git a/abs/core/python_modules/python-requests-cache/__changelog b/abs/core/python_modules/python-requests-cache/__changelog
new file mode 100644
index 0000000..60db758
--- /dev/null
+++ b/abs/core/python_modules/python-requests-cache/__changelog
@@ -0,0 +1 @@
+PKGBUILD: remove py3 stuff
diff --git a/abs/core/python_modules/python-requests/PKGBUILD b/abs/core/python_modules/python-requests/PKGBUILD
new file mode 100644
index 0000000..d5e1fb4
--- /dev/null
+++ b/abs/core/python_modules/python-requests/PKGBUILD
@@ -0,0 +1,64 @@
+# $Id$
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
+# Contributor: Massimiliano Torromeo <massimiliano.torromeo@gmail.com>
+
+pkgbase=python-requests
+pkgname=('python2-requests')
+pkgver=2.18.1
+pkgrel=1
+pkgdesc="Python HTTP for Humans"
+arch=('any')
+url="http://python-requests.org"
+license=('Apache')
+makedepends=('python2-setuptools' 'python2-chardet'
+ 'python2-urllib3' 'python2-idna')
+checkdepends=('python2-pytest-httpbin'
+ 'python2-pytest-mock' 'python2-pysocks')
+source=("$pkgbase-$pkgver.tar.gz::https://github.com/kennethreitz/requests/archive/v$pkgver.tar.gz"
+ certs.patch)
+sha512sums=('a80e0487b4b729e69522817bc2eec2a9c5f1df34df385581b3e937c2409e0fcb4e1f9b4794b198c8b8a57fc05b1bc513fc70d41b324ae251de0fa9bc7c9e6947'
+ '424a3bb01b23409284f6c9cd2bc22d92df31b85cfd96e1d1b16b5d68adeca670dfed4fff7977d8b10980102b0f780eacc465431021fcd661f3a17168a02a39a3')
+
+prepare() {
+ cd "$srcdir"/requests-$pkgver
+ sed -i '/certifi/d' setup.py
+ patch -p1 -i "$srcdir"/certs.patch
+
+ cd "$srcdir"
+ cp -a requests-$pkgver{,-py2}
+ find requests-$pkgver-py2 -name \*.py -exec sed -r 's|^#!(.*)python$|#!\1python2|' -i {} +
+}
+
+build() {
+# cd "$srcdir"/requests-$pkgver
+# python setup.py build
+
+ cd "$srcdir"/requests-$pkgver-py2
+ python2 setup.py build
+}
+
+check() {
+# cd "$srcdir"/requests-$pkgver
+# py.test tests
+
+ cd "$srcdir"/requests-$pkgver-py2
+ py.test2 tests
+}
+
+package_python-requests() {
+ depends=('python-urllib3' 'python-chardet' 'python-idna')
+ optdepends=('python-pysocks: SOCKS proxy support')
+
+ cd "$srcdir"/requests-$pkgver
+ python setup.py install --skip-build -O1 --root="$pkgdir"
+}
+
+package_python2-requests() {
+ depends=('python2-urllib3' 'python2-chardet' 'python2-idna')
+ optdepends=('python2-ndg-httpsclient: HTTPS requests with SNI support'
+ 'python2-grequests: asynchronous requests with gevent'
+ 'python2-pysocks: SOCKS proxy support')
+
+ cd "$srcdir"/requests-$pkgver-py2
+ python2 setup.py install --skip-build -O1 --root="$pkgdir"
+}
diff --git a/abs/core/python_modules/python-requests/__changelog b/abs/core/python_modules/python-requests/__changelog
new file mode 100644
index 0000000..4f818ef
--- /dev/null
+++ b/abs/core/python_modules/python-requests/__changelog
@@ -0,0 +1,2 @@
+PKGBUILD: don't build py 3 stuff
+
diff --git a/abs/core/python_modules/python-requests/certs.patch b/abs/core/python_modules/python-requests/certs.patch
new file mode 100644
index 0000000..47a32f3
--- /dev/null
+++ b/abs/core/python_modules/python-requests/certs.patch
@@ -0,0 +1,14 @@
+diff --git a/requests/certs.py b/requests/certs.py
+index d1a378d7..4e0bffd4 100644
+--- a/requests/certs.py
++++ b/requests/certs.py
+@@ -12,7 +12,8 @@ If you are packaging Requests, e.g., for a Linux distribution or a managed
+ environment, you can change the definition of where() to return a separately
+ packaged CA bundle.
+ """
+-from certifi import where
++def where():
++ return "/etc/ssl/certs/ca-certificates.crt"
+
+ if __name__ == '__main__':
+ print(where())
diff --git a/abs/core/python_modules/python-rpyc/PKGBUILD b/abs/core/python_modules/python-rpyc/PKGBUILD
new file mode 100644
index 0000000..55fcea4
--- /dev/null
+++ b/abs/core/python_modules/python-rpyc/PKGBUILD
@@ -0,0 +1,30 @@
+# Maintainer: Sebastien Leduc <sebastien AT sleduc DOT fr>
+
+pkgname=('python2-rpyc')
+pkgbase='python-rpyc'
+_realname=rpyc
+pkgver=3.4.0
+pkgrel=1
+pkgdesc="Remote Python Call (RPyC), a transparent and symmetric RPC library"
+url="http://rpyc.readthedocs.org"
+arch=('any')
+license=('MIT')
+source=("https://pypi.python.org/packages/77/6d/41e01e49e75ec9a92e8637f8dc566cc01d5e6a76d4ce01f3bc54d4ff03f9/$_realname-$pkgver.tar.gz")
+md5sums=('6bba886aa3ec37f1f4cabdb56c411eba')
+
+package_python-rpyc() {
+ depends=('python' 'python-plumbum')
+ makedepends=("python-setuptools")
+ cd "$srcdir/$_realname-$pkgver"
+ python setup.py install --root="$pkgdir"/ --optimize=1
+}
+
+package_python2-rpyc() {
+ depends=('python2' 'python2-plumbum')
+ makedepends=("python2-setuptools")
+ cd "$srcdir/$_realname-$pkgver"
+ python2 setup.py install --root="$pkgdir"/ --optimize=1
+ mv "$pkgdir"/usr/bin/rpyc_classic{,2}.py
+ mv "$pkgdir"/usr/bin/rpyc_registry{,2}.py
+}
+# vim:set ts=2 sw=2 et:
diff --git a/abs/core/python_modules/python-rpyc/__changelog b/abs/core/python_modules/python-rpyc/__changelog
new file mode 100644
index 0000000..4f818ef
--- /dev/null
+++ b/abs/core/python_modules/python-rpyc/__changelog
@@ -0,0 +1,2 @@
+PKGBUILD: don't build py 3 stuff
+
diff --git a/abs/core/python_modules/python-setuptools-scm/PKGBUILD b/abs/core/python_modules/python-setuptools-scm/PKGBUILD
new file mode 100644
index 0000000..c874b8b
--- /dev/null
+++ b/abs/core/python_modules/python-setuptools-scm/PKGBUILD
@@ -0,0 +1,68 @@
+# $Id$
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
+# Contributor: Hugo Osvaldo Barrera <hugo@barrera.io>
+
+pkgbase=python-setuptools-scm
+pkgname=(python2-setuptools-scm)
+pkgver=1.15.6
+pkgrel=1
+pkgdesc="Handles managing your python package versions in scm metadata."
+arch=('any')
+url="https://github.com/pypa/setuptools_scm"
+license=('MIT')
+makedepends=('python2-setuptools')
+checkdepends=('python2-pytest' 'mercurial' 'git' 'python2-pip')
+source=("$pkgbase-$pkgver.tar.gz::https://github.com/pypa/setuptools_scm/archive/v$pkgver.tar.gz")
+sha512sums=('c97669232a492e19bdb073c48f9e792ee029ee2af2191da65461436e2a66a3adf5ad490f0a1429c33a5574d4afeb0d54afedfe78f581fff890ecfc787d08ef5a')
+
+prepare() {
+ cp -a setuptools_scm-$pkgver{,-py2}
+
+ export SETUPTOOLS_SCM_PRETEND_VERSION=$pkgver
+}
+
+build() {
+# cd "$srcdir"/setuptools_scm-$pkgver
+# python setup.py build
+# python setup.py egg_info
+
+ cd "$srcdir"/setuptools_scm-$pkgver-py2
+ python2 setup.py build
+ python2 setup.py egg_info
+}
+
+check() {
+ # Hack entry points by installing it
+
+# cd "$srcdir"/setuptools_scm-$pkgver
+# python setup.py install --root="$PWD/tmp_install" --optimize=1
+# SETUPTOOLS_SCM_PRETEND_VERSION= PYTHONPATH="$PWD/tmp_install/usr/lib/python3.6/site-packages:$PYTHONPATH" py.test
+
+ cd "$srcdir"/setuptools_scm-$pkgver-py2
+ python2 setup.py install --root="$PWD/tmp_install" --optimize=1
+ SETUPTOOLS_SCM_PRETEND_VERSION= PYTHONPATH="$PWD/tmp_install/usr/lib/python2.7/site-packages:$PYTHONPATH" py.test2
+}
+
+package_python-setuptools-scm() {
+ depends=('python-setuptools')
+ provides=('python-setuptools_scm')
+ conflicts=('python-setuptools_scm')
+ replaces=('python-setuptools_scm')
+
+ cd "$srcdir"/setuptools_scm-$pkgver
+ python setup.py install --root "$pkgdir"
+
+ install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
+}
+
+package_python2-setuptools-scm() {
+ depends=('python2-setuptools')
+ provides=('python2-setuptools_scm')
+ conflicts=('python2-setuptools_scm')
+ replaces=('python2-setuptools_scm')
+
+ cd "$srcdir"/setuptools_scm-$pkgver-py2
+ python2 setup.py install --root "$pkgdir"
+
+ install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
+}
diff --git a/abs/core/python_modules/python-setuptools-scm/__changelog b/abs/core/python_modules/python-setuptools-scm/__changelog
new file mode 100644
index 0000000..4f818ef
--- /dev/null
+++ b/abs/core/python_modules/python-setuptools-scm/__changelog
@@ -0,0 +1,2 @@
+PKGBUILD: don't build py 3 stuff
+
diff --git a/abs/core/python_modules/python-setuptools/PKGBUILD b/abs/core/python_modules/python-setuptools/PKGBUILD
index 44701e9..31a941e 100644
--- a/abs/core/python_modules/python-setuptools/PKGBUILD
+++ b/abs/core/python_modules/python-setuptools/PKGBUILD
@@ -1,70 +1,85 @@
# $Id$
# Maintainer: Angel Velasquez <angvp@archlinux.org>
-# Maintainer: Felix Yan <felixonmars@gmail.com>
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
pkgbase=python-setuptools
pkgname=('python2-setuptools')
-pkgver=3.4.4
+pkgver=36.2.0
pkgrel=1
+epoch=1
pkgdesc="Easily download, build, install, upgrade, and uninstall Python packages"
arch=('any')
license=('PSF')
url="http://pypi.python.org/pypi/setuptools"
-makedepends=('python2')
-checkdepends=('python-pytest' 'python2-pytest')
-source=("http://pypi.python.org/packages/source/s/setuptools/setuptools-${pkgver}.tar.gz")
-md5sums=('6ca9e8377b65233c2ff3a1752406a22d')
-
-check() {
- # Disabled python 3.x tests for setuptools 3.4.1:
- # https://bitbucket.org/pypa/setuptools/issue/180/34-release-fails-tests
-
- # Check python3 module
- cd "${srcdir}"/setuptools-${pkgver}
- #python3 setup.py test
-
- # Check python2 module
- cd "${srcdir}"/setuptools-${pkgver}-python2
- python2 setup.py test
-}
-
+makedepends=('python2-packaging' 'python2-appdirs'
+ 'python2-pip')
+checkdepends=('python2-pytest-runner'
+ 'python2-pytest-flake8' 'python2-backports.unittest_mock' 'git')
+source=("$pkgbase-$pkgver.tar.gz::https://github.com/pypa/setuptools/archive/v$pkgver.tar.gz")
+sha512sums=('579e63feb9f5ea33e29f4ae3a2736a2cfd18e83927775a56553dbe34bcfa32f325457204333d4f183759dbcd57e4ad7f8b166fcfbf626db597b18e14bbcd9ea4')
+
prepare() {
- cp -a setuptools-${pkgver}{,-python2}
+ # Don't download and install deps
+ sed -i '/pip.main(args)/d' setuptools-$pkgver/bootstrap.py
+
+ rm -r setuptools-$pkgver/pkg_resources/_vendor
+
+ # Remove post-release tag since we are using stable tags
+ sed -e '/tag_build = .post/d' \
+ -e '/tag_date = 1/d' \
+ -i setuptools-$pkgver/setup.cfg
- cd "${srcdir}"/setuptools-${pkgver}
- sed -i -e "s|^#\!.*/usr/bin/python|#!/usr/bin/python3|" setuptools/tests/test_resources.py
- sed -i -e "s|^#\!.*/usr/bin/env python|#!/usr/bin/env python3|" setuptools/command/easy_install.py
+ cp -a setuptools-$pkgver{,-py2}
- cd "${srcdir}"/setuptools-${pkgver}-python2
- sed -i -e "s|^#\!.*/usr/bin/python|#!/usr/bin/python2|" setuptools/tests/test_resources.py
+# cd "$srcdir"/setuptools-$pkgver
+# sed -i -e "s|^#\!.*/usr/bin/env python|#!/usr/bin/env python3|" setuptools/command/easy_install.py
+
+ cd "$srcdir"/setuptools-$pkgver-py2
sed -i -e "s|^#\!.*/usr/bin/env python|#!/usr/bin/env python2|" setuptools/command/easy_install.py
+ sed -i -e "s|'pip'|'pip2'|" setuptools/tests/{test_develop.py,test_namespaces.py}
+
+ export SETUPTOOLS_INSTALL_WINDOWS_SPECIFIC_FILES=0
}
build() {
- # Build python 3 module
- #cd "${srcdir}"/setuptools-${pkgver}
- #python3 setup.py build
+# cd "$srcdir"/setuptools-$pkgver
+# python bootstrap.py
+# python setup.py build
- # Build python 2 module
- cd "${srcdir}"/setuptools-${pkgver}-python2
+ cd "$srcdir"/setuptools-$pkgver-py2
+ python2 bootstrap.py
python2 setup.py build
}
-
-#package_python-setuptools() {
- #depends=('python>=3.4')
- #provides=('python-distribute')
- #replaces=('python-distribute')
-
- #cd "${srcdir}/setuptools-${pkgver}"
- #python3 setup.py install --prefix=/usr --root="${pkgdir}" --optimize=1 --skip-build
-#}
-
+
+check() { (
+ # Workaround UTF-8 tests by setting LC_CTYPE
+ export LC_CTYPE=en_US.UTF-8
+
+ # https://github.com/pypa/setuptools/pull/810
+ export PYTHONDONTWRITEBYTECODE=1
+
+# cd "$srcdir"/setuptools-$pkgver
+# python setup.py pytest
+
+ cd "$srcdir"/setuptools-$pkgver-py2
+ python2 setup.py pytest
+)}
+
+package_python-setuptools() {
+ depends=('python-packaging' 'python-appdirs')
+ provides=('python-distribute')
+ replaces=('python-distribute')
+
+ cd "$srcdir"/setuptools-$pkgver
+ python setup.py install --prefix=/usr --root="$pkgdir" --optimize=1 --skip-build
+}
+
package_python2-setuptools() {
- depends=('python2>=2.7')
- provides=('python2-distribute' 'setuptools')
- replaces=('python2-distribute' 'setuptools')
+ depends=('python2-packaging' 'python2-appdirs')
+ provides=('python2-distribute')
+ replaces=('python2-distribute')
- cd "${srcdir}/setuptools-${pkgver}-python2"
- python2 setup.py install --prefix=/usr --root="${pkgdir}" --optimize=1 --skip-build
- rm "${pkgdir}/usr/bin/easy_install"
+ cd "$srcdir"/setuptools-$pkgver-py2
+ python2 setup.py install --prefix=/usr --root="$pkgdir" --optimize=1 --skip-build
+ rm "$pkgdir"/usr/bin/easy_install
}
diff --git a/abs/core/python_modules/python-six/PKGBUILD b/abs/core/python_modules/python-six/PKGBUILD
index 0e8986b..33093f7 100644
--- a/abs/core/python_modules/python-six/PKGBUILD
+++ b/abs/core/python_modules/python-six/PKGBUILD
@@ -1,41 +1,45 @@
+# $Id$
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
+# Contributor: Jelle van der Waa <jelle@vdwaa.nl>
# Contributer: Allan McRae <allan@archlinux.org>
-# Maintainer: Jelle van der Waa <jelle@vdwaa.nl>
pkgbase=python-six
pkgname=('python2-six')
-pkgver=1.6.1
-pkgrel=2
+pkgver=1.10.0
+pkgrel=3
pkgdesc="Python 2 and 3 compatibility utilities"
arch=('any')
url="http://pypi.python.org/pypi/six/"
license=('MIT')
-makedepends=('python2')
-source=(http://pypi.python.org/packages/source/s/six/six-$pkgver.tar.gz)
-md5sums=('07d606ac08595d795bf926cc9985674f')
+makedepends=('python2-setuptools')
+checkdepends=('python2-pytest' 'tk')
+source=("https://pypi.io/packages/source/s/six/six-$pkgver.tar.gz")
+md5sums=('34eed507548117b2ab523ab14b2f8b55')
build() {
- cd $srcdir
- cp -r six-$pkgver six2-$pkgver
+ cp -a six-$pkgver{,-py2}
}
check() {
-# cd $srcdir/six-$pkgver
-# python3 setup.py check
+# cd "$srcdir"/six-$pkgver
+# py.test
- cd $srcdir/six2-$pkgver
- python2 setup.py check
+ cd "$srcdir"/six-$pkgver-py2
+ py.test2
}
-#package_python-six() {
-# depends=('python')
-# cd $srcdir/six-$pkgver
-# python3 setup.py install --root "${pkgdir}" --optimize=1
-# install -Dm644 "${srcdir}/six-${pkgver}/LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
-#}
+package_python-six() {
+ depends=('python')
+
+ cd six-$pkgver
+ python setup.py install --root "$pkgdir" --optimize=1
+ install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
+}
package_python2-six() {
depends=('python2')
- cd $srcdir/six2-$pkgver
- python2 setup.py install --root "${pkgdir}" --optimize=1
- install -Dm644 "${srcdir}/six-${pkgver}/LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+
+ cd six-$pkgver-py2
+ python2 setup.py install --root "$pkgdir" --optimize=1
+ install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
}
diff --git a/abs/core/python_modules/python-sqlalchemy/PKGBUILD b/abs/core/python_modules/python-sqlalchemy/PKGBUILD
new file mode 100644
index 0000000..33c6497
--- /dev/null
+++ b/abs/core/python_modules/python-sqlalchemy/PKGBUILD
@@ -0,0 +1,63 @@
+# $Id$
+# Maintainer: Angel Velasquez <angvp@archlinux.org>
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
+# Contributor: Sébastien Luttringer <seblu@aur.archlinux.org>
+
+pkgbase=python-sqlalchemy
+pkgname=('python2-sqlalchemy')
+#pkgname=('python2-sqlalchemy')
+pkgver=1.1.11
+pkgrel=1
+arch=('i686' 'x86_64') # python2 package contain .so
+url="http://www.sqlalchemy.org/"
+license=('MIT')
+makedepends=('python2-setuptools')
+checkdepends=('python2-pytest-runner' 'python2-pytest-xdist' 'python2-mock')
+source=("https://pypi.io/packages/source/S/SQLAlchemy/SQLAlchemy-$pkgver.tar.gz"{,.asc})
+validpgpkeys=('83AF7ACE251C13E6BB7DEFBD330239C1C4DAFEE1')
+sha512sums=('322ec0baa6360099eb000ddd36e28267f64019eb72201ecf60fc478591679e0dd5d2b1139a93036d2ec0165c588ea5836a67ed21dbf7c423b64432589bd73de4'
+ 'SKIP')
+
+prepare() {
+ cp -a SQLAlchemy-$pkgver SQLAlchemy2-$pkgver
+}
+
+build() {
+# cd "$srcdir"/SQLAlchemy-$pkgver
+# python setup.py build
+
+ cd "$srcdir"/SQLAlchemy2-$pkgver
+ python2 setup.py build
+}
+
+check() {
+# cd "$srcdir"/SQLAlchemy-$pkgver
+# python setup.py pytest
+
+ cd "$srcdir"/SQLAlchemy2-$pkgver
+ python2 setup.py pytest
+}
+
+package_python-sqlalchemy() {
+ pkgdesc='Python SQL toolkit and Object Relational Mapper'
+ depends=('python')
+ optdepends=('python-psycopg2: connect to PostgreSQL database')
+
+ cd SQLAlchemy-$pkgver
+ python setup.py install --root="${pkgdir}"
+ install -D -m644 LICENSE \
+ "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
+
+package_python2-sqlalchemy() {
+ pkgdesc='Python 2 SQL toolkit and Object Relational Mapper'
+ depends=('python2')
+ optdepends=('python2-psycopg2: connect to PostgreSQL database')
+
+ cd SQLAlchemy2-$pkgver
+ python2 setup.py install --root="$pkgdir"
+ install -D -m644 LICENSE \
+ "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
+
+# vim:set ts=2 sw=2 ft=sh et:
diff --git a/abs/core/python_modules/python-sqlalchemy/__changelog b/abs/core/python_modules/python-sqlalchemy/__changelog
new file mode 100644
index 0000000..4f818ef
--- /dev/null
+++ b/abs/core/python_modules/python-sqlalchemy/__changelog
@@ -0,0 +1,2 @@
+PKGBUILD: don't build py 3 stuff
+
diff --git a/abs/core/python_modules/python-terminaltables/PKGBUILD b/abs/core/python_modules/python-terminaltables/PKGBUILD
new file mode 100644
index 0000000..b5a1b69
--- /dev/null
+++ b/abs/core/python_modules/python-terminaltables/PKGBUILD
@@ -0,0 +1,27 @@
+# Maintainer: Christian Rebischke <chris.rebischke[at]archlinux[dot]org>
+pkgbase=python-terminaltables
+_pyname=terminaltables
+pkgname=('python2-terminaltables')
+makedepends=('python2' 'python2-setuptools')
+pkgver=3.1.0
+pkgrel=3
+pkgdesc="Generate simple tables in terminals from a nested list of strings"
+arch=('any')
+url="https://github.com/Robpol86/terminaltables"
+license=('MIT')
+source=("${_pyname}-${pkgver}.tar.gz::https://github.com/Robpol86/${_pyname}/archive/v${pkgver}.tar.gz")
+sha512sums=('dc49458652fff8bc6094d316d84c9b8e9fca1a26e3230c0b668bc03ec8528793f4ef024e8032d4a56fbfabfdfd4a1142870f550f0b373ba6a42dd2e3ead3f501')
+
+package_python-terminaltables() {
+ depends=('python')
+ cd "${srcdir}/${_pyname}-${pkgver}"
+ python setup.py install -O1 --root="${pkgdir}"
+}
+
+package_python2-terminaltables() {
+ depends=('python2')
+ cd "${srcdir}/${_pyname}-${pkgver}"
+ python2 setup.py install -O1 --root="${pkgdir}"
+}
+
+# vim:set et sw=2 ts=2 tw=79:
diff --git a/abs/core/python_modules/python-tzlocal/PKGBUILD b/abs/core/python_modules/python-tzlocal/PKGBUILD
new file mode 100644
index 0000000..b4e6905
--- /dev/null
+++ b/abs/core/python_modules/python-tzlocal/PKGBUILD
@@ -0,0 +1,45 @@
+# Maintainer: eolianoe <eolianoe At GoogleMAIL DoT com>
+# Contributor: Étienne Deparis <etienne [at] depar.is>
+# Contributor: Patrice Peterson <runiq at archlinux dot us>
+# Contributor: Patrick Burroughs <celticmadman at gmail dot com>
+
+_pyname=tzlocal
+pkgbase=python-${_pyname}
+pkgname=("python2-${_pyname}")
+pkgver=1.4
+pkgrel=1
+pkgdesc="Tzinfo object for the local timezone"
+arch=('any')
+url='https://pypi.python.org/pypi/tzlocal'
+license=('custom')
+makedepends=('python2-setuptools')
+source=("${_pyname}-${pkgver}.tar.gz::https://github.com/regebro/${_pyname}/archive/${pkgver}.tar.gz")
+sha256sums=('d3cdf502a4ae4b566abf948924e837b6c354aaed082eb1326c6c9043824cb4a7')
+
+prepare() {
+ cp -a ${_pyname}-${pkgver}{,-py2}
+}
+
+build() {
+# cd "${srcdir}/${_pyname}-$pkgver"
+# python setup.py build
+
+ cd "${srcdir}/${_pyname}-$pkgver-py2"
+ python2 setup.py build
+}
+
+package_python2-tzlocal() {
+ depends=('python2-pytz')
+ cd "${srcdir}/${_pyname}-${pkgver}-py2"
+ python2 setup.py install --root="${pkgdir}" --optimize=1 --skip-build
+ install -Dm0644 LICENSE.txt "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+}
+
+package_python-tzlocal() {
+ depends=('python-pytz')
+ cd "${srcdir}/${_pyname}-${pkgver}"
+ python setup.py install --root="${pkgdir}" --optimize=1 --skip-build
+ install -Dm0644 LICENSE.txt "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/abs/core/python_modules/python-tzlocal/__changelog b/abs/core/python_modules/python-tzlocal/__changelog
new file mode 100644
index 0000000..c6e1e55
--- /dev/null
+++ b/abs/core/python_modules/python-tzlocal/__changelog
@@ -0,0 +1 @@
+PKGBUILD: don't build py 3 stuff
diff --git a/abs/core/python_modules/python-urllib3/LICENSE b/abs/core/python_modules/python-urllib3/LICENSE
new file mode 100644
index 0000000..5a44370
--- /dev/null
+++ b/abs/core/python_modules/python-urllib3/LICENSE
@@ -0,0 +1,32 @@
+Note from the ArchLinux Packager:
+The urllib3 source doesn't come with a license file. Its homepage
+does provide a link to the text of the MIT license, so I copied
+the following text to a file when building the package.
+
+------CUT------
+Open Source Initiative OSI - The MIT License:Licensing
+
+
+[OSI Approved License]
+
+The MIT License
+
+Copyright (c) <year> <copyright holders>
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
diff --git a/abs/core/python_modules/python-urllib3/PKGBUILD b/abs/core/python_modules/python-urllib3/PKGBUILD
new file mode 100644
index 0000000..3f881d2
--- /dev/null
+++ b/abs/core/python_modules/python-urllib3/PKGBUILD
@@ -0,0 +1,72 @@
+# $Id$
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
+# Contributor: Patrice Peterson <runiq at archlinux dot us>
+# Contributor: Chris Brannon <cmbrannon79@gmail.com>
+# Contributor: BorgHunter <borghunter at gmail dot com>
+
+pkgbase=python-urllib3
+pkgname=(python2-urllib3)
+pkgver=1.21.1
+pkgrel=1
+pkgdesc="HTTP library with thread-safe connection pooling and file post support"
+arch=("any")
+url="https://github.com/shazow/urllib3"
+license=("MIT")
+makedepends=('python2-setuptools'
+ 'python2-ndg-httpsclient' 'python2-pyasn1'
+ 'python2-pyopenssl' 'python2-pysocks' 'python2-mock')
+checkdepends=('python2-nose' 'python2-tornado'
+ 'python2-coverage' 'python2-psutil')
+source=("$pkgbase-$pkgver.tar.gz::https://github.com/shazow/urllib3/archive/$pkgver.tar.gz")
+md5sums=('b0a2c692ea273dc120b209a027b0df3c')
+
+prepare() {
+ cp -a urllib3-$pkgver{,-py2}
+}
+
+build() {
+# cd "$srcdir"/urllib3-$pkgver
+# python setup.py build
+
+ cd "$srcdir"/urllib3-$pkgver-py2
+ python2 setup.py build
+
+ # Build with Python 2 since autodoc produces errors on Python 3
+# cd "$srcdir"/urllib3-$pkgver/docs
+# make SPHINXBUILD=sphinx-build2 html
+}
+
+check() {
+# cd "$srcdir"/urllib3-$pkgver
+# nosetests3 || warning "Tests failed"
+
+ cd "$srcdir"/urllib3-$pkgver-py2
+ nosetests2 || warning "Tests failed"
+}
+
+package_python-urllib3() {
+ depends=('python')
+ optdepends=('python-pysocks: SOCKS support')
+
+ cd urllib3-$pkgver
+ python setup.py install --root="$pkgdir"
+ install -Dm644 LICENSE.txt "$pkgdir"/usr/share/licenses/$pkgname/LICENSE.txt
+}
+
+package_python2-urllib3() {
+ depends=('python2')
+ optdepends=('python2-pysocks: SOCKS support')
+
+ cd urllib3-$pkgver-py2
+ python2 setup.py install --root="$pkgdir"
+ install -Dm644 LICENSE.txt "$pkgdir"/usr/share/licenses/$pkgname/LICENSE.txt
+}
+
+package_python-urllib3-doc() {
+ pkgdesc="urllib3 Documentation"
+
+ cd urllib3-$pkgver/docs
+ install -d "$pkgdir"/usr/share/doc
+ cp -r _build/html "$pkgdir"/usr/share/doc/python-urllib3
+ install -Dm644 ../LICENSE.txt "$pkgdir"/usr/share/licenses/$pkgname/LICENSE.txt
+}
diff --git a/abs/core/python_modules/python-urllib3/__changelog b/abs/core/python_modules/python-urllib3/__changelog
new file mode 100644
index 0000000..49a28c7
--- /dev/null
+++ b/abs/core/python_modules/python-urllib3/__changelog
@@ -0,0 +1 @@
+PKGBUILD: don't build py 3 stuff or sphinx
diff --git a/abs/core/python_modules/python-webencodings/PKGBUILD b/abs/core/python_modules/python-webencodings/PKGBUILD
new file mode 100644
index 0000000..95f05b0
--- /dev/null
+++ b/abs/core/python_modules/python-webencodings/PKGBUILD
@@ -0,0 +1,40 @@
+# Maintainer: Jelle van der Waa <jelle@vdwaa.nl>
+# Contributor: Jelle van der Waa <jelle@vdwaa.nl>
+
+pkgbase=python-webencodings
+pkgname=('python2-webencodings')
+pkgver=0.5.1
+pkgrel=1
+arch=('any')
+url="https://github.com/gsnedders/python-webencodings"
+license=('BSD')
+makedepends=('python2' 'python2-setuptools')
+checkdepends=('python2-nose')
+source=(https://github.com/gsnedders/python-webencodings/archive/v$pkgver.tar.gz)
+md5sums=('7eb67377743cd55eaa356496c439471e')
+
+package_python-webencodings() {
+pkgdesc="This is a Python implementation of the WHATWG Encoding standard."
+depends=('python')
+ cd ${srcdir}/${pkgbase}-${pkgver}
+
+ python3 setup.py install --root=${pkgdir}
+ install -D -m644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+}
+
+package_python2-webencodings() {
+pkgdesc="This is a Python implementation of the WHATWG Encoding standard."
+depends=('python2')
+ cd ${srcdir}/${pkgbase}-${pkgver}
+
+ python2 setup.py install --root=${pkgdir}
+ install -D -m644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+}
+
+check() {
+ cd ${srcdir}/${pkgbase}-${pkgver}/webencodings
+
+ nosetests tests.py
+
+ nosetests2 tests.py
+}
diff --git a/abs/core/python_modules/python-webencodings/__changelog b/abs/core/python_modules/python-webencodings/__changelog
new file mode 100644
index 0000000..4f818ef
--- /dev/null
+++ b/abs/core/python_modules/python-webencodings/__changelog
@@ -0,0 +1,2 @@
+PKGBUILD: don't build py 3 stuff
+
diff --git a/abs/core/python_modules/python-werkzeug/PKGBUILD b/abs/core/python_modules/python-werkzeug/PKGBUILD
new file mode 100644
index 0000000..b8bfd64
--- /dev/null
+++ b/abs/core/python_modules/python-werkzeug/PKGBUILD
@@ -0,0 +1,61 @@
+# $Id$
+# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>
+# Contributor: Alexander Rødseth <rodseth@gmail.com>
+# Contributor: Thomas Dziedzic < gostrc at gmail >
+# Contributor: Dan Serban
+# Contributor: Richard Murri
+
+pkgname=('python2-werkzeug')
+pkgver=0.12.2
+pkgrel=1
+pkgdesc='Swiss Army knife of Python web development'
+url='http://werkzeug.pocoo.org/'
+arch=('any')
+license=('custom:BSD')
+makedepends=('python2-setuptools' 'python2-pytest' 'python2-requests')
+source=("https://github.com/pallets/werkzeug/archive/${pkgver}.tar.gz")
+sha512sums=('e0a27fb37599bd93c9e3e282e1f7f8e2bc9c2be30cce32d1b8a9788cbf998c3337061ade1cbe76858a64da0ebc89112b905567d561354af1b7d86cbd9a56c27d')
+
+prepare() {
+ cp -r "werkzeug-$pkgver" "python-werkzeug-$pkgver"
+ cp -r "werkzeug-$pkgver" "python2-werkzeug-$pkgver"
+}
+
+build_python-werkzeug() {
+ cd "$pkgname-$pkgver"
+
+ python setup.py build
+}
+
+build_python2-werkzeug() {
+ cd "$pkgname-$pkgver"
+
+ python2 setup.py build
+}
+
+#check() {
+# cd "python-werkzeug-$pkgver"
+# python setup.py test
+#
+# cd "python-werkzeug-$pkgver"
+# p3ython2 setup.py test
+#}
+
+package_python-werkzeug() {
+ depends+=('python')
+ cd "$pkgname-$pkgver"
+
+ python setup.py install --root="$pkgdir" --optimize=1
+ install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
+
+package_python2-werkzeug() {
+ depends+=('python2')
+ cd "$pkgname-$pkgver"
+
+ python2 setup.py install --root="$pkgdir" --optimize=1
+ install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
+
+# getver: https://github.com/mitsuhiko/werkzeug
+# vim:set ts=2 sw=2 et:
diff --git a/abs/core/python_modules/python-werkzeug/__changelog b/abs/core/python_modules/python-werkzeug/__changelog
new file mode 100644
index 0000000..60db758
--- /dev/null
+++ b/abs/core/python_modules/python-werkzeug/__changelog
@@ -0,0 +1 @@
+PKGBUILD: remove py3 stuff
diff --git a/abs/core/python_modules/python2-aniso8601/PKGBUILD b/abs/core/python_modules/python2-aniso8601/PKGBUILD
new file mode 100644
index 0000000..da44f5f
--- /dev/null
+++ b/abs/core/python_modules/python2-aniso8601/PKGBUILD
@@ -0,0 +1,29 @@
+# Maintainer: Andy Weidenbaum <archbaum@gmail.com>
+
+pkgname=python2-aniso8601
+pkgver=1.1.0
+pkgrel=1
+pkgdesc="A library for parsing ISO 8601 strings"
+arch=('any')
+depends=('python2' 'python2-dateutil')
+makedepends=('python2-setuptools')
+url="https://bitbucket.org/nielsenb/aniso8601"
+license=('BSD')
+options=(!emptydirs)
+source=(https://pypi.python.org/packages/source/a/${pkgname#python2-}/${pkgname#python2-}-$pkgver.tar.gz)
+md5sums=('d2610ecaab3bdfe51f74678c89c69cf7')
+sha256sums=('4fc462db59811f541bc25d865b86367153d8ce773ae75b16d54e2e1cd393b5cc')
+
+build() {
+ cd "$srcdir/${pkgname#python2-}-$pkgver"
+
+ msg2 'Building...'
+ python2 setup.py build
+}
+
+package() {
+ cd "$srcdir/${pkgname#python2-}-$pkgver"
+
+ msg2 'Installing...'
+ python2 setup.py install --root="$pkgdir" --optimize=1
+}
diff --git a/abs/core/python_modules/python2-apscheduler/PKGBUILD b/abs/core/python_modules/python2-apscheduler/PKGBUILD
new file mode 100644
index 0000000..568e562
--- /dev/null
+++ b/abs/core/python_modules/python2-apscheduler/PKGBUILD
@@ -0,0 +1,28 @@
+# Maintainer: Yaron de Leeuw < me@jarondl.net >
+# Maintained at : https://github.com/jarondl/aur-pkgbuilds-jarondl
+
+# Contributor: Shanto <shanto@hotmail.com>
+
+pkgname=python2-apscheduler
+_pkgname=APScheduler
+pkgver=3.2.0
+pkgrel=1
+pkgdesc="In-process task scheduler with Cron-like capabilities"
+arch=('any')
+url="https://pypi.python.org/pypi/APScheduler"
+license=('MIT')
+depends=('python2'
+ 'python2-pytz'
+ 'python2-tzlocal'
+ 'python2-futures'
+ 'python2-funcsigs'
+ 'python2-six'
+ 'python2-setuptools'
+ )
+source=("https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz")
+sha256sums=('5baa1195ba711868fae257612cf80372ff1124014ca896884bf132f75636f638')
+package() {
+ cd "$srcdir/$_pkgname-$pkgver"
+ python2 setup.py install --root="$pkgdir/" --optimize=1
+ install -D -m644 LICENSE.txt "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+}
diff --git a/abs/core/python_modules/python2-babelfish/PKGBUILD b/abs/core/python_modules/python2-babelfish/PKGBUILD
new file mode 100644
index 0000000..bba4e20
--- /dev/null
+++ b/abs/core/python_modules/python2-babelfish/PKGBUILD
@@ -0,0 +1,24 @@
+# Maintainer: sleduc <sebastien@sleduc.fr>
+# Contributor: Quentin Stievenart <acieroid@awesom.eu>
+
+name='babelfish'
+pkgname=python2-$name
+pkgver=0.5.5
+pkgrel=1
+pkgdesc="A module to work with countries and languages"
+arch=('any')
+url="http://pypi.python.org/pypi/$name"
+license=('BSD')
+makedepends=('python2-setuptools')
+depends=('python2')
+options=(!emptydirs)
+
+source=("http://pypi.python.org/packages/source/b/$name/$name-$pkgver.tar.gz")
+md5sums=('5f930555649692997bcf80bb5f42d9db')
+
+package() {
+ cd "$srcdir/$name-$pkgver"
+ python2 setup.py install --root="$pkgdir/" --optimize=1
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/abs/core/python_modules/python2-colorclass/PKGBUILD b/abs/core/python_modules/python2-colorclass/PKGBUILD
new file mode 100644
index 0000000..fcb218f
--- /dev/null
+++ b/abs/core/python_modules/python2-colorclass/PKGBUILD
@@ -0,0 +1,23 @@
+# Maintainer: Cedric Girard <girard.cedric@gmail.com>
+_pythonmod=colorclass
+pkgname=python2-colorclass
+pkgver=2.2.0
+pkgrel=1
+pkgdesc="Colorful worry-free console applications for Linux, Mac OS X, and Windows"
+arch=('any')
+url="http://pypi.python.org/pypi/${_pythonmod}"
+license=('MIT')
+depends=('python2')
+makedepends=('python2-setuptools')
+source=("https://pypi.io/packages/source/${_pythonmod:0:1}/${_pythonmod}/${_pythonmod}-$pkgver.tar.gz")
+md5sums=('060139e93e31faafeb5d4bdfd6ea0bb8')
+
+build() {
+ cd ${srcdir}/${_pythonmod}-$pkgver
+ python2 setup.py build
+}
+
+package() {
+ cd ${srcdir}/${_pythonmod}-$pkgver
+ python2 setup.py install --root=${pkgdir}
+}
diff --git a/abs/core/python_modules/python2-flask-compress/PKGBUILD b/abs/core/python_modules/python2-flask-compress/PKGBUILD
new file mode 100644
index 0000000..266abf4
--- /dev/null
+++ b/abs/core/python_modules/python2-flask-compress/PKGBUILD
@@ -0,0 +1,26 @@
+# Maintainer: Cedric Girard <girard.cedric@gmail.com>
+_pythonmod=Flask-Compress
+pkgname='python2-flask-compress'
+pkgver='1.4.0'
+pkgrel='1'
+pkgdesc='custom actions for flask to help manage your application'
+arch=('any')
+url='http://pypi.python.org/pypi/Flask-Compress/'
+license=('BSD')
+depends=('python2-flask')
+makedepends=('python2-setuptools')
+
+source=("https://pypi.io/packages/source/${_pythonmod:0:1}/${_pythonmod}/${_pythonmod}-$pkgver.tar.gz")
+sha1sums=('68b5eb124b02993c9466dfb2438e0ba79d2d5809')
+
+build() {
+ cd "Flask-Compress-${pkgver}"
+ python2 ./setup.py build
+}
+
+package() {
+ cd "Flask-Compress-${pkgver}"
+ python2 ./setup.py install --root="${pkgdir}" --prefix="/usr"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/abs/core/python_modules/python2-flask-cors/PKGBUILD b/abs/core/python_modules/python2-flask-cors/PKGBUILD
new file mode 100644
index 0000000..08ea418
--- /dev/null
+++ b/abs/core/python_modules/python2-flask-cors/PKGBUILD
@@ -0,0 +1,21 @@
+# Maintainer: Philipp Schmitt <philipp@schmitt.co>
+# GitHub: https://github.com/pschmitt/aur-python2-flask-cors
+pkgname=python2-flask-cors
+_pkgname=Flask-Cors
+pkgver=2.1.2
+pkgrel=1
+pkgdesc="A Flask extension adding a decorator for CORS support"
+arch=('any')
+url='https://pypi.python.org/pypi/Flask-Cors'
+license=('')
+depends=('python2')
+options=(!emptydirs)
+source=("https://pypi.python.org/packages/source/F/$_pkgname/$_pkgname-$pkgver.tar.gz")
+md5sums=('50274b36f1c885669234590009583c43')
+
+package() {
+ cd "$srcdir/$_pkgname-$pkgver"
+ python2 setup.py install --root="$pkgdir/" --optimize=1
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/abs/core/python_modules/python2-flask-cors/README.md b/abs/core/python_modules/python2-flask-cors/README.md
new file mode 100644
index 0000000..fed19ae
--- /dev/null
+++ b/abs/core/python_modules/python2-flask-cors/README.md
@@ -0,0 +1,16 @@
+# python2-flask-
+
+## Description
+
+AUR package for python2-flask-cors
+
+## Installation
+
+```bash
+wget https://raw.github.com/pschmitt/aur-python2-flask-cors/master/PKGBUILD
+makepkg -si
+```
+
+## Links
+* Upstream: https://pypi.python.org/pypi/Flask-Cors
+* AUR: https://aur.archlinux.org/packages/python2-flask-cors
diff --git a/abs/core/python_modules/python2-flask-restplus086/PKGBUILD b/abs/core/python_modules/python2-flask-restplus086/PKGBUILD
new file mode 100644
index 0000000..226917b
--- /dev/null
+++ b/abs/core/python_modules/python2-flask-restplus086/PKGBUILD
@@ -0,0 +1,35 @@
+# Maintainer: Cedric Girard <girard.cedric@gmail.com>
+pkgname='python2-flask-restplus086'
+pkgver='0.8.6'
+pkgrel='1'
+pkgdesc='custom actions for flask to help manage your application'
+arch=('any')
+url='http://pypi.python.org/pypi/Flask-Restplus/'
+license=('BSD')
+depends=('python2-flask-restful>=0.3.2' 'python2-jsonschema' 'python2-pytz' 'python2-aniso8601>=0.82')
+checkdepends=('python2-nose' 'python2-rednose' 'python2-blinker' 'python2-tzlocal' 'python2-mock')
+makedepends=('python2-setuptools')
+provides=('python2-flask-restplus=0.8.6')
+conflicts=('python2-flask-restplus')
+
+source=("http://pypi.python.org/packages/source/f/flask-restplus/flask-restplus-${pkgver}.tar.gz")
+sha1sums=('455788a4fa4cc9605760041974dbd7e4f46d9899')
+
+build() {
+ cd "flask-restplus-${pkgver}"
+ python2 ./setup.py build
+}
+
+check() {
+ cd "flask-restplus-${pkgver}"
+ python2 ./setup.py test
+}
+
+package() {
+ cd "flask-restplus-${pkgver}"
+ python2 ./setup.py install --root="${pkgdir}" --prefix="/usr"
+
+ install -Dm644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/abs/core/python_modules/python2-funcsigs/PKGBUILD b/abs/core/python_modules/python2-funcsigs/PKGBUILD
new file mode 100644
index 0000000..94ca802
--- /dev/null
+++ b/abs/core/python_modules/python2-funcsigs/PKGBUILD
@@ -0,0 +1,28 @@
+# Contributor: Andrzej Giniewicz <gginiu@gmail.com>
+# Maintainer: Jelle van der Waa <jelle@archlinux.org>
+
+pkgname=python2-funcsigs
+pkgver=1.0.2
+pkgrel=1
+pkgdesc="Python function signatures from PEP362"
+arch=('any')
+url="https://pypi.python.org/pypi/funcsigs/"
+license=('Apache')
+depends=('python2')
+makedepends=('python2-setuptools')
+checkdepends=('python2-nose' 'python2-unittest2')
+#source=(https://pypi.python.org/packages/source/f/funcsigs/funcsigs-${pkgver}.tar.gz)
+source=(https://pypi.python.org/packages/94/4a/db842e7a0545de1cdb0439bb80e6e42dfe82aaeaadd4072f2263a4fbed23/funcsigs-1.0.2.tar.gz)
+sha256sums=('a7bb0f2cf3a3fd1ab2732cb49eba4252c2af4240442415b4abce3b87022a8f50')
+
+package() {
+ cd "$srcdir/funcsigs-$pkgver"
+ python2 setup.py install --root="${pkgdir}" --optimize=1
+}
+
+check() {
+ cd "$srcdir/funcsigs-$pkgver/tests"
+ nosetests2 .
+}
+
+# vim:ts=2:sw=2:et:
diff --git a/abs/core/python_modules/python2-functools32/PKGBUILD b/abs/core/python_modules/python2-functools32/PKGBUILD
new file mode 100644
index 0000000..b6d9078
--- /dev/null
+++ b/abs/core/python_modules/python2-functools32/PKGBUILD
@@ -0,0 +1,29 @@
+# Maintainer:
+# Contributor: Stephan Conrad
+
+pkgname=python2-functools32
+_pkgver=3.2.3-2
+pkgver=${_pkgver//-/_}
+pkgrel=1
+pkgdesc="Backport of the functools module from Python 3.2.3 for use on 2.7 and PyPy"
+url="https://github.com/MiCHiLU/python-functools32"
+arch=(any)
+depends=(python2)
+makedepends=(python2-distribute)
+license=('CUSTOM')
+source=("https://pypi.python.org/packages/source/f/functools32/functools32-$_pkgver.tar.gz")
+md5sums=('09f24ffd9af9f6cd0f63cb9f4e23d4b2')
+
+build() {
+ cd functools32-$_pkgver
+ python2 setup.py build
+}
+
+package() {
+ cd functools32-$_pkgver
+ python2 setup.py install --root="$pkgdir" --optimize=1
+
+ install -d "$pkgdir"/usr/share/licenses/$pkgname
+ install -m644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/
+}
+
diff --git a/abs/core/python_modules/python2-futures/LICENSE b/abs/core/python_modules/python2-futures/LICENSE
new file mode 100644
index 0000000..c430db0
--- /dev/null
+++ b/abs/core/python_modules/python2-futures/LICENSE
@@ -0,0 +1,21 @@
+Copyright 2009 Brian Quinlan. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification,
+are permitted provided that the following conditions are met:
+
+ 1. Redistributions of source code must retain the above copyright notice,
+ this list of conditions and the following disclaimer.
+ 2. Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation
+ and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY BRIAN QUINLAN "AS IS" AND ANY EXPRESS OR IMPLIED
+WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
+HALL THE FREEBSD PROJECT OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
+OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. \ No newline at end of file
diff --git a/abs/core/python_modules/python2-futures/PKGBUILD b/abs/core/python_modules/python2-futures/PKGBUILD
new file mode 100644
index 0000000..dcaed42
--- /dev/null
+++ b/abs/core/python_modules/python2-futures/PKGBUILD
@@ -0,0 +1,30 @@
+# $Id$
+# Maintainer: Balló György <ballogyor+arch at gmail dot com>
+# Contributor: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+# Contributor: Allan McRae <allan@archlinux.org>
+
+pkgname=python2-futures
+_pkgname=futures
+pkgver=3.1.1
+pkgrel=1
+pkgdesc="Backport of the concurrent.futures package from Python 3.2"
+arch=('any')
+url="https://github.com/agronholm/pythonfutures"
+license=('BSD')
+depends=('python2')
+source=("$_pkgname-$pkgver.tar.gz::https://github.com/agronholm/pythonfutures/archive/$pkgver.tar.gz"
+ LICENSE)
+md5sums=('c500fc20a02b83e7ec88dc5bac9649f5'
+ 'dd6708d05936d3f6c4e20ed14c87b5e3')
+
+build() {
+ cd "python$_pkgname-$pkgver"
+ python2 setup.py build
+}
+
+package() {
+ cd "python$_pkgname-$pkgver"
+ python2 setup.py install --root "$pkgdir" --optimize=1
+
+ install -Dm644 ../LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
diff --git a/abs/core/python_modules/python2-guessit/PKGBUILD b/abs/core/python_modules/python2-guessit/PKGBUILD
new file mode 100644
index 0000000..95d7e35
--- /dev/null
+++ b/abs/core/python_modules/python2-guessit/PKGBUILD
@@ -0,0 +1,29 @@
+# Maintainer: Cedric Girard <girard.cedric@gmail.com>
+_pythonmod=guessit
+pkgname=python2-guessit
+pkgver=2.1.4
+pkgrel=1
+pkgdesc="a library for guessing information from video filenames"
+arch=('any')
+url="http://pypi.python.org/pypi/${_pythonmod}"
+license=('GPL3')
+replaces=('python2-guessit-rc')
+depends=('python2' 'python2-rebulk>=0.9.0' 'python2-babelfish>=0.5.5' 'python2-dateutil')
+makedepends=('python2-setuptools')
+source=("https://pypi.io/packages/source/${_pythonmod:0:1}/${_pythonmod}/${_pythonmod}-$pkgver.tar.gz")
+md5sums=('b4fee9c4e106e6de0020e3d143932bb3')
+
+prepare() {
+ cd ${srcdir}/${_pythonmod}-$pkgver
+ find -type f -exec sed -i '1 s|python$|python2|' {} +
+}
+
+build() {
+ cd ${srcdir}/${_pythonmod}-$pkgver
+ python2 setup.py build
+}
+
+package() {
+ cd ${srcdir}/${_pythonmod}-$pkgver
+ python2 setup.py install --root=${pkgdir}
+}
diff --git a/abs/core/python_modules/python2-ordereddict/PKGBUILD b/abs/core/python_modules/python2-ordereddict/PKGBUILD
new file mode 100644
index 0000000..60493cd
--- /dev/null
+++ b/abs/core/python_modules/python2-ordereddict/PKGBUILD
@@ -0,0 +1,19 @@
+# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>
+# Contributor: Cedric Girard <girard.cedric@gmail.com>
+# Contributor: Julien Nicoulaud <julien.nicoulaud@gmail.com>
+pkgname=python2-ordereddict
+pkgver=1.1
+pkgrel=1
+pkgdesc="A drop-in substitute for Python 2.7's collections.OrderedDict that works in Python 2.4-2.6."
+arch=(any)
+url="http://pypi.python.org/pypi/ordereddict"
+license=(APACHE)
+depends=(python2)
+makedepends=(python2-distribute)
+source=("http://pypi.python.org/packages/source/o/ordereddict/ordereddict-${pkgver}.tar.gz")
+md5sums=('a0ed854ee442051b249bfad0f638bbec')
+
+package() {
+ cd "${srcdir}/ordereddict-${pkgver}"
+ python2 setup.py install --root="$pkgdir/" --optimize=1
+}
diff --git a/abs/core/python_modules/python2-pathlib/PKGBUILD b/abs/core/python_modules/python2-pathlib/PKGBUILD
new file mode 100644
index 0000000..954dfb4
--- /dev/null
+++ b/abs/core/python_modules/python2-pathlib/PKGBUILD
@@ -0,0 +1,21 @@
+# $Id$
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
+# Contributor: vae77 <fernandogrd@yahoo.com.br>
+
+pkgname=python2-pathlib
+pkgver=1.0.1
+pkgrel=3
+pkgdesc="This module offers a set of classes featuring all the common operations on paths in an easy, object-oriented way"
+arch=('any')
+url="http://pathlib.readthedocs.org/en/${pkgver}/"
+license=('MIT')
+depends=('python2')
+makedepends=('python2-setuptools')
+source=("http://pypi.python.org/packages/source/p/pathlib/pathlib-${pkgver}.tar.gz")
+md5sums=('5099ed48be9b1ee29b31c82819240537')
+
+package() {
+ cd "$srcdir/pathlib-$pkgver"
+ python2 setup.py install --root="$pkgdir/" --optimize=1
+ install -Dm644 LICENSE.txt "$pkgdir/usr/share/licenses/$pkgname/LICENSE.txt"
+}
diff --git a/abs/core/python_modules/python2-paver/PKGBUILD b/abs/core/python_modules/python2-paver/PKGBUILD
new file mode 100644
index 0000000..328f6df
--- /dev/null
+++ b/abs/core/python_modules/python2-paver/PKGBUILD
@@ -0,0 +1,25 @@
+# Maintainer: Sebastien Leduc <sebastien@sleduc.fr>
+# Contributor: ponsfoot <cabezon dot hashimoto at gmail dot com>
+
+pkgname=python2-paver
+pkgver=1.2.4
+pkgrel=1
+pkgdesc="Build, Distribute and Deploy Python Projects"
+arch=('i686' 'x86_64')
+url="http://www.blueskyonmars.com/projects/paver/"
+license=('BSD')
+depends=('python2')
+source=("http://pypi.python.org/packages/source/P/Paver/Paver-${pkgver}.tar.gz")
+md5sums=('dbb94faf8b004eb9920b632808c20560')
+
+package() {
+ cd "${srcdir}/Paver-${pkgver}"
+ python2 setup.py install --prefix="${pkgdir}/usr"
+ install -D "${srcdir}/Paver-${pkgver}/LICENSE.txt" \
+ "${pkgdir}/usr/share/licenses/${pkgname}/COPYING"
+
+ # fix python3 conflict
+ for _f in "$pkgdir"/usr/bin/*; do
+ mv -v "$_f" "${_f}2"
+ done
+}
diff --git a/abs/core/python_modules/python2-plumbum/PKGBUILD b/abs/core/python_modules/python2-plumbum/PKGBUILD
new file mode 100644
index 0000000..b4f9cc9
--- /dev/null
+++ b/abs/core/python_modules/python2-plumbum/PKGBUILD
@@ -0,0 +1,29 @@
+# Maintainer: Florian Jacob <projects+arch AT florianjacob )DOT( de>
+# Contributor: Milo Mirate <mmirate@gmx.com>
+_pkgname=plumbum
+pkgname=python2-plumbum
+pkgver=1.6.3
+pkgrel=1
+pkgdesc="Shell combinators library."
+arch=('any')
+url="https://pypi.python.org/pypi/plumbum"
+license=('GPL')
+groups=()
+depends=('python2' 'python2-six')
+makedepends=()
+provides=()
+conflicts=()
+replaces=()
+backup=()
+# plumbum is plain python and therefore we don't need to run strip
+options=(!emptydirs !strip)
+install=
+source=("https://pypi.python.org/packages/50/15/f26f60e1bb82aabed7ff86f3fd2976784047f9a291c63ac9019086a69559/${_pkgname}-${pkgver}.tar.gz")
+sha256sums=('0249e708459f1b05627a7ca8787622c234e4db495a532acbbd1f1f17f28c7320')
+
+package() {
+ cd "$srcdir/${_pkgname}-$pkgver"
+ python2 setup.py install --root="$pkgdir/" --optimize=1
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/abs/core/python_modules/python2-pynzb/PKGBUILD b/abs/core/python_modules/python2-pynzb/PKGBUILD
new file mode 100644
index 0000000..e88097b
--- /dev/null
+++ b/abs/core/python_modules/python2-pynzb/PKGBUILD
@@ -0,0 +1,30 @@
+# Maintainer : vorpalblade77@gmail.com
+# Contributor : Daniel Neve <the.mephit@googlemail.com>
+pkgshort=pynzb
+pkgname=python2-$pkgshort
+pkgver=0.1.0
+pkgrel=3
+pkgdesc="A unified API for parsing NZB files"
+arch=('any')
+url="http://pypi.python.org/pypi/pynzb/"
+license=('BSD')
+depends=('python2' 'expat')
+makedepends=('python2-distribute')
+conflicts=('pynzb')
+optdepends=('python-lxml: Use lxml instead of expat')
+source=(http://pypi.python.org/packages/source/p/$pkgshort/$pkgshort-$pkgver.tar.gz
+ https://www.github.com/ericflo/$pkgshort/raw/master/LICENSE.txt)
+md5sums=('63c74a36348ac28aa99732dcb8be8c59'
+ '87d87599921bae943f981b28ecfc3cc1')
+
+build() {
+ cd $srcdir/$pkgshort-$pkgver
+ python2 setup.py build
+}
+package() {
+ cd $srcdir/$pkgshort-$pkgver
+ python2 setup.py install --root="${pkgdir}" \
+ --prefix=/usr \
+ --compile -O1
+ install -D -m644 $srcdir/LICENSE.txt $pkgdir/usr/share/licenses/$pkgname/LICENSE.txt
+}
diff --git a/abs/core/python_modules/python2-pytvmaze/PKGBUILD b/abs/core/python_modules/python2-pytvmaze/PKGBUILD
new file mode 100644
index 0000000..984e9c8
--- /dev/null
+++ b/abs/core/python_modules/python2-pytvmaze/PKGBUILD
@@ -0,0 +1,18 @@
+# Maintainer: Cedric Girard <girard.cedric@gmail.com>
+pkgname=python2-pytvmaze
+_pkgname=pytvmaze
+pkgver=2.0.8
+pkgrel=1
+pkgdesc="Python interface to the TV Maze API "
+arch=(any)
+url="http://pypi.python.org/pypi/pytvmaze"
+license=(MIT)
+depends=('python2' 'python2-requests')
+makedepends=(python2-distribute)
+source=("https://pypi.io/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz")
+md5sums=('562f807f97b1c626d9d9ab090195ba7b')
+
+package() {
+ cd "$srcdir/$_pkgname-$pkgver"
+ python2 setup.py install --root="$pkgdir/" --optimize=1
+}
diff --git a/abs/core/python_modules/python2-transmissionrpc/PKGBUILD b/abs/core/python_modules/python2-transmissionrpc/PKGBUILD
new file mode 100644
index 0000000..108e709
--- /dev/null
+++ b/abs/core/python_modules/python2-transmissionrpc/PKGBUILD
@@ -0,0 +1,23 @@
+# Maintainer: Bogdan Szczurek <thebodzio@gmail.com>
+
+pkgname=python2-transmissionrpc
+pkgver=0.11
+pkgrel=1
+pkgdesc="Module to communicate with Transmission BT client via JSON-RPC"
+arch=(any)
+url="https://bitbucket.org/blueluna/transmissionrpc/wiki/Home"
+license=('MIT')
+depends=('python2' 'python2-six')
+makedepends=('python2-setuptools')
+conflicts=('pytransmissionrpc')
+replaces=('pytransmissionrpc')
+source=(https://bitbucket.org/blueluna/${pkgname:8}/get/release-${pkgver}.tar.gz)
+
+package() {
+ cd "$srcdir/blueluna-${pkgname:8}-eb2a32720f8a"
+ python2 setup.py install --root="$pkgdir/" --optimize=1
+
+ install -D -m644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
+
+md5sums=('2ec4dc465435cc970c20f1e10524439b')
diff --git a/abs/core/python_modules/python2-zxcvbn/PKGBUILD b/abs/core/python_modules/python2-zxcvbn/PKGBUILD
new file mode 100644
index 0000000..16a6cfd
--- /dev/null
+++ b/abs/core/python_modules/python2-zxcvbn/PKGBUILD
@@ -0,0 +1,25 @@
+# Maintainer: Cedric Girard <girard.cedric@gmail.com>
+_pythonmod=zxcvbn-python
+pkgname=python2-zxcvbn
+pkgver=4.4.14
+pkgrel=1
+pkgdesc="Password strength estimator"
+arch=('any')
+url="http://pypi.python.org/pypi/${_pythonmod}"
+license=('Apache')
+depends=(
+ 'python2'
+ )
+makedepends=('python2-setuptools')
+source=("https://pypi.io/packages/source/${_pythonmod:0:1}/${_pythonmod}/${_pythonmod}-$pkgver.tar.gz")
+
+build() {
+ cd ${srcdir}/${_pythonmod}-$pkgver
+ python2 setup.py build
+}
+
+package() {
+ cd ${srcdir}/${_pythonmod}-$pkgver
+ python2 setup.py install --root=${pkgdir}
+}
+md5sums=('5c41b2ea7b7421a8f8da505bbba3bbd4')
diff --git a/abs/core/system-templates/PKGBUILD b/abs/core/system-templates/PKGBUILD
index e72d48b..2fe4317 100755
--- a/abs/core/system-templates/PKGBUILD
+++ b/abs/core/system-templates/PKGBUILD
@@ -1,6 +1,6 @@
pkgname=system-templates
-pkgver=8.4
-pkgrel=3
+pkgver=8.5
+pkgrel=1
conflicts=( )
pkgdesc="Templates used for system configuration"
depends=()
diff --git a/abs/core/system-templates/templates/xorg/304xx_supported.txt b/abs/core/system-templates/templates/xorg/304xx_supported.txt
index 3edbe77..bf43ead 100644
--- a/abs/core/system-templates/templates/xorg/304xx_supported.txt
+++ b/abs/core/system-templates/templates/xorg/304xx_supported.txt
@@ -1,136 +1,556 @@
http://www.nvidia.com/object/IO_32667.html
+http://us.download.nvidia.com/XFree86/Linux-x86/304.137/README/supportedchips.html
-NVIDIA GPU product Device PCI ID
-GeForce 6800 Ultra 0x0040
-GeForce 6800 0x0041
-GeForce 6800 LE 0x0042
-GeForce 6800 XE 0x0043
-GeForce 6800 XT 0x0044
-GeForce 6800 GT 0x0045
-GeForce 6800 GT 0x0046
-GeForce 6800 GS 0x0047
-GeForce 6800 XT 0x0048
-Quadro FX 4000 0x004E
-GeForce 7800 GTX 0x0090
-GeForce 7800 GTX 0x0091
-GeForce 7800 GT 0x0092
-GeForce 7800 GS 0x0093
-GeForce 7800 SLI 0x0095
-GeForce Go 7800 0x0098
-GeForce Go 7800 GTX 0x0099
-Quadro FX 4500 0x009D
-GeForce 6800 GS 0x00C0
-GeForce 6800 0x00C1
-GeForce 6800 LE 0x00C2
-GeForce 6800 XT 0x00C3
-GeForce Go 6800 0x00C8
-GeForce Go 6800 Ultra 0x00C9
-Quadro FX Go1400 0x00CC
-Quadro FX 3450/4000 SDI 0x00CD
-Quadro FX 1400 0x00CE
-GeForce 6600 GT 0x00F1
-GeForce 6600 0x00F2
-GeForce 6200 0x00F3
-GeForce 6600 LE 0x00F4
-GeForce 7800 GS 0x00F5
-GeForce 6800 GS 0x00F6
-Quadro FX 3400/Quadro FX 4000 0x00F8
-GeForce 6800 Ultra 0x00F9
-GeForce 6600 GT 0x0140
-GeForce 6600 0x0141
-GeForce 6600 LE 0x0142
-GeForce 6600 VE 0x0143
-GeForce Go 6600 0x0144
-GeForce 6610 XL 0x0145
-GeForce Go 6600 TE/6200 TE 0x0146
-GeForce 6700 XL 0x0147
-GeForce Go 6600 0x0148
-GeForce Go 6600 GT 0x0149
-Quadro NVS 440 0x014A
-Quadro FX 540M 0x014C
-Quadro FX 550 0x014D
-Quadro FX 540 0x014E
-GeForce 6200 0x014F
-GeForce 6500 0x0160
-GeForce 6200 TurboCache(TM) 0x0161
-GeForce 6200SE TurboCache(TM) 0x0162
-GeForce 6200 LE 0x0163
-GeForce Go 6200 0x0164
-Quadro NVS 285 0x0165
-GeForce Go 6400 0x0166
-GeForce Go 6200 0x0167
-GeForce Go 6400 0x0168
-GeForce 6250 0x0169
-GeForce 7100 GS 0x016A
-GeForce 7350 LE 0x01D0
-GeForce 7300 LE 0x01D1
-GeForce 7550 LE 0x01D2
-GeForce 7300 SE/7200 GS 0x01D3
-GeForce Go 7200 0x01D6
-GeForce Go 7300 0x01D7
-GeForce Go 7400 0x01D8
-Quadro NVS 110M 0x01DA
-Quadro NVS 120M 0x01DB
-Quadro FX 350M 0x01DC
-GeForce 7500 LE 0x01DD
-Quadro FX 350 0x01DE
-GeForce 7300 GS 0x01DF
-GeForce 6800 0x0211
-GeForce 6800 LE 0x0212
-GeForce 6800 GT 0x0215
-GeForce 6800 XT 0x0218
-GeForce 6200 0x0221
-GeForce 6200 A-LE 0x0222
-GeForce 6150 0x0240
-GeForce 6150 LE 0x0241
-GeForce 6100 0x0242
-GeForce Go 6150 0x0244
-Quadro NVS 210S / GeForce 6150LE 0x0245
-GeForce Go 6100 0x0247
-GeForce 7900 GTX 0x0290
-GeForce 7900 GT/GTO 0x0291
-GeForce 7900 GS 0x0292
-GeForce 7950 GX2 0x0293
-GeForce 7950 GX2 0x0294
-GeForce 7950 GT 0x0295
-GeForce Go 7950 GTX 0x0297
-GeForce Go 7900 GS 0x0298
-Quadro NVS 510M 0x0299
-Quadro FX 2500M 0x029A
-Quadro FX 1500M 0x029B
-Quadro FX 5500 0x029C
-Quadro FX 3500 0x029D
-Quadro FX 1500 0x029E
-Quadro FX 4500 X2 0x029F
-GeForce 7600 GT 0x02E0
-GeForce 7600 GS 0x02E1
-GeForce 7300 GT 0x02E2
-GeForce 7900 GS 0x02E3
-GeForce 7950 GT 0x02E4
-GeForce 7650 GS 0x038B
-GeForce 7650 GS 0x0390
-GeForce 7600 GT 0x0391
-GeForce 7600 GS 0x0392
-GeForce 7300 GT 0x0393
-GeForce 7600 LE 0x0394
-GeForce 7300 GT 0x0395
-GeForce Go 7700 0x0397
-GeForce Go 7600 0x0398
-GeForce Go 7600 GT 0x0399
-Quadro FX 560M 0x039C
-Quadro FX 560 0x039E
-GeForce 6150SE nForce 430 0x03D0
-GeForce 6100 nForce 405 0x03D1
-GeForce 6100 nForce 400 0x03D2
-GeForce 6100 nForce 420 0x03D5
-GeForce 7025 / nForce 630a 0x03D6
-GeForce 7150M / nForce 630M 0x0531
-GeForce 7000M / nForce 610M 0x0533
-GeForce 7050 PV / nForce 630a 0x053A
-GeForce 7050 PV / nForce 630a 0x053B
-GeForce 7025 / nForce 630a 0x053E
-GeForce 7150 / nForce 630i 0x07E0
-GeForce 7100 / nForce 630i 0x07E1
-GeForce 7050 / nForce 630i 0x07E2
-GeForce 7050 / nForce 610i 0x07E3
-GeForce 7050 / nForce 620i 0x07E5
+NVIDIA GeForce GPUs
+NVIDIA GPU product Device PCI ID* VDPAU features
+GeForce 6800 Ultra 0x0040 -
+GeForce 6800 0x0041 -
+GeForce 6800 LE 0x0042 -
+GeForce 6800 XE 0x0043 -
+GeForce 6800 XT 0x0044 -
+GeForce 6800 GT 0x0045 -
+GeForce 6800 GT 0x0046 -
+GeForce 6800 GS 0x0047 -
+GeForce 6800 XT 0x0048 -
+GeForce 7800 GTX 0x0090 -
+GeForce 7800 GTX 0x0091 -
+GeForce 7800 GT 0x0092 -
+GeForce 7800 GS 0x0093 -
+GeForce 7800 SLI 0x0095 -
+GeForce Go 7800 0x0098 -
+GeForce Go 7800 GTX 0x0099 -
+GeForce 6800 GS 0x00C0 -
+GeForce 6800 0x00C1 -
+GeForce 6800 LE 0x00C2 -
+GeForce 6800 XT 0x00C3 -
+GeForce Go 6800 0x00C8 -
+GeForce Go 6800 Ultra 0x00C9 -
+GeForce 6600 GT 0x00F1 -
+GeForce 6600 0x00F2 -
+GeForce 6200 0x00F3 -
+GeForce 6600 LE 0x00F4 -
+GeForce 7800 GS 0x00F5 -
+GeForce 6800 GS 0x00F6 -
+GeForce 6800 Ultra 0x00F9 -
+GeForce 6600 GT 0x0140 -
+GeForce 6600 0x0141 -
+GeForce 6600 LE 0x0142 -
+GeForce 6600 VE 0x0143 -
+GeForce Go 6600 0x0144 -
+GeForce 6610 XL 0x0145 -
+GeForce Go 6600 TE/6200 TE 0x0146 -
+GeForce 6700 XL 0x0147 -
+GeForce Go 6600 0x0148 -
+GeForce Go 6600 GT 0x0149 -
+GeForce 6200 0x014F -
+GeForce 6500 0x0160 -
+GeForce 6200 TurboCache(TM) 0x0161 -
+GeForce 6200SE TurboCache(TM) 0x0162 -
+GeForce 6200 LE 0x0163 -
+GeForce Go 6200 0x0164 -
+GeForce Go 6400 0x0166 -
+GeForce Go 6200 0x0167 -
+GeForce Go 6400 0x0168 -
+GeForce 6250 0x0169 -
+GeForce 7100 GS 0x016A -
+GeForce 8800 GTX 0x0191 -
+GeForce 8800 GTS 0x0193 -
+GeForce 8800 Ultra 0x0194 -
+GeForce 7350 LE 0x01D0 -
+GeForce 7300 LE 0x01D1 -
+GeForce 7550 LE 0x01D2 -
+GeForce 7300 SE/7200 GS 0x01D3 -
+GeForce Go 7200 0x01D6 -
+GeForce Go 7300 0x01D7 -
+GeForce Go 7400 0x01D8 -
+GeForce 7500 LE 0x01DD -
+GeForce 7300 GS 0x01DF -
+GeForce 6200 0x0221 -
+GeForce 6200 A-LE 0x0222 -
+GeForce 6150 0x0240 -
+GeForce 6150 LE 0x0241 -
+GeForce 6100 0x0242 -
+GeForce Go 6150 0x0244 -
+GeForce Go 6100 0x0247 -
+GeForce 7900 GTX 0x0290 -
+GeForce 7900 GT/GTO 0x0291 -
+GeForce 7900 GS 0x0292 -
+GeForce 7950 GX2 0x0293 -
+GeForce 7950 GX2 0x0294 -
+GeForce 7950 GT 0x0295 -
+GeForce Go 7950 GTX 0x0297 -
+GeForce Go 7900 GS 0x0298 -
+GeForce 7600 GT 0x02E0 -
+GeForce 7600 GS 0x02E1 -
+GeForce 7300 GT 0x02E2 -
+GeForce 7900 GS 0x02E3 -
+GeForce 7950 GT 0x02E4 -
+GeForce 7650 GS 0x038B -
+GeForce 7650 GS 0x0390 -
+GeForce 7600 GT 0x0391 -
+GeForce 7600 GS 0x0392 -
+GeForce 7300 GT 0x0393 -
+GeForce 7600 LE 0x0394 -
+GeForce 7300 GT 0x0395 -
+GeForce Go 7700 0x0397 -
+GeForce Go 7600 0x0398 -
+GeForce Go 7600 GT 0x0399 -
+GeForce 6150SE nForce 430 0x03D0 -
+GeForce 6100 nForce 405 0x03D1 -
+GeForce 6100 nForce 400 0x03D2 -
+GeForce 6100 nForce 420 0x03D5 -
+GeForce 7025 / nForce 630a 0x03D6 -
+GeForce 8600 GTS 0x0400 A
+GeForce 8600 GT 0x0401 A
+GeForce 8600 GT 0x0402 A
+GeForce 8600 GS 0x0403 A
+GeForce 8400 GS 0x0404 A
+GeForce 9500M GS 0x0405 A
+GeForce 8300 GS 0x0406 -
+GeForce 8600M GT 0x0407 A
+GeForce 9650M GS 0x0408 A
+GeForce 8700M GT 0x0409 A
+GeForce GT 330 0x0410 A
+GeForce 8400 SE 0x0420 -
+GeForce 8500 GT 0x0421 A
+GeForce 8400 GS 0x0422 A
+GeForce 8300 GS 0x0423 -
+GeForce 8400 GS 0x0424 A
+GeForce 8600M GS 0x0425 A
+GeForce 8400M GT 0x0426 A
+GeForce 8400M GS 0x0427 A
+GeForce 8400M G 0x0428 A
+GeForce 9400 GT 0x042C A
+GeForce 9300M G 0x042E A
+GeForce 7150M / nForce 630M 0x0531 -
+GeForce 7000M / nForce 610M 0x0533 -
+GeForce 7050 PV / nForce 630a 0x053A -
+GeForce 7050 PV / nForce 630a 0x053B -
+GeForce 7025 / nForce 630a 0x053E -
+GeForce GTX 295 0x05E0 A
+GeForce GTX 280 0x05E1 A
+GeForce GTX 260 0x05E2 A
+GeForce GTX 285 0x05E3 A
+GeForce GTX 275 0x05E6 A
+GeForce GTX 260 0x05EA A
+GeForce GTX 295 0x05EB A
+GeForce 8800 GTS 512 0x0600 A
+GeForce 9800 GT 0x0601 A
+GeForce 8800 GT 0x0602 A
+GeForce GT 230 0x0603 A
+GeForce 9800 GX2 0x0604 A
+GeForce 9800 GT 0x0605 A
+GeForce 8800 GS 0x0606 A
+GeForce GTS 240 0x0607 A
+GeForce 9800M GTX 0x0608 A
+GeForce 8800M GTS 0x0609 A
+GeForce GTX 280M 0x060A A
+GeForce 9800M GT 0x060B A
+GeForce 8800M GTX 0x060C A
+GeForce 8800 GS 0x060D A
+GeForce GTX 285M 0x060F A
+GeForce 9600 GSO 0x0610 A
+GeForce 8800 GT 0x0611 A
+GeForce 9800 GTX/9800 GTX+ 0x0612 A
+GeForce 9800 GTX+ 0x0613 A
+GeForce 9800 GT 0x0614 A
+GeForce GTS 250 0x0615 A
+GeForce 9800M GTX 0x0617 A
+GeForce GTX 260M 0x0618 A
+GeForce GT 230 0x0621 A
+GeForce 9600 GT 0x0622 A
+GeForce 9600 GS 0x0623 A
+GeForce 9600 GSO 512 0x0625 A
+GeForce GT 130 0x0626 A
+GeForce GT 140 0x0627 A
+GeForce 9800M GTS 0x0628 A
+GeForce 9700M GTS 0x062A A
+GeForce 9800M GS 0x062B A
+GeForce 9800M GTS 0x062C A
+GeForce 9600 GT 0x062D A
+GeForce 9600 GT 0x062E A
+GeForce 9700 S 0x0630 A
+GeForce GTS 160M 0x0631 A
+GeForce GTS 150M 0x0632 A
+GeForce 9600 GSO 0x0635 A
+GeForce 9600 GT 0x0637 A
+GeForce 9500 GT 0x0640 A
+GeForce 9400 GT 0x0641 A
+GeForce 9500 GT 0x0643 A
+GeForce 9500 GS 0x0644 A
+GeForce 9500 GS 0x0645 A
+GeForce GT 120 0x0646 A
+GeForce 9600M GT 0x0647 A
+GeForce 9600M GS 0x0648 A
+GeForce 9600M GT 0x0649 A
+GeForce 9700M GT 0x064A A
+GeForce 9500M G 0x064B A
+GeForce 9650M GT 0x064C A
+GeForce G 110M 0x0651 A
+GeForce GT 130M 0x0652 A
+GeForce GT 120M 0x0653 A
+GeForce GT 220M 0x0654 A
+GeForce GT 120 0x0655 0x0633 A
+GeForce 9650 S 0x0656 A
+GeForce 9400 GT 0x065B A
+GeForce GTX 480 0x06C0 C
+GeForce GTX 465 0x06C4 C
+GeForce GTX 480M 0x06CA C
+GeForce GTX 470 0x06CD C
+GeForce 9300 GE 0x06E0 B 1
+GeForce 9300 GS 0x06E1 B 1
+GeForce 8400 0x06E2 B 1
+GeForce 8400 SE 0x06E3 -
+GeForce 8400 GS 0x06E4 A 1
+GeForce 9300M GS 0x06E5 B 1
+GeForce G100 0x06E6 B 1
+GeForce 9300 SE 0x06E7 -
+GeForce 9200M GS 0x06E8 B 1
+GeForce 9300M GS 0x06E9 B 1
+GeForce G 105M 0x06EC B 1
+GeForce G 103M 0x06EF B 1
+GeForce G105M 0x06F1 B 1
+GeForce 7150 / nForce 630i 0x07E0 -
+GeForce 7100 / nForce 630i 0x07E1 -
+GeForce 7050 / nForce 630i 0x07E2 -
+GeForce 7050 / nForce 610i 0x07E3 -
+GeForce 7050 / nForce 620i 0x07E5 -
+GeForce 8200M 0x0840 B 1
+GeForce 9100M G 0x0844 B 1
+GeForce 8200M G 0x0845 B 1
+GeForce 9200 0x0846 B 1
+GeForce 9100 0x0847 B 1
+GeForce 8300 0x0848 B 1
+GeForce 8200 0x0849 B 1
+nForce 730a 0x084A B 1
+GeForce 9200 0x084B B 1
+nForce 980a/780a SLI 0x084C B 1
+nForce 750a SLI 0x084D B 1
+GeForce 8100 / nForce 720a 0x084F -
+GeForce 9400 0x0860 B 1
+GeForce 9400 0x0861 B 1
+GeForce 9400M G 0x0862 B 1
+GeForce 9400M 0x0863 B 1
+GeForce 9300 0x0864 B 1
+ION 0x0865 B 1
+GeForce 9400M G 0x0866 B 1
+GeForce 9400 0x0867 B 1
+nForce 760i SLI 0x0868 B 1
+GeForce 9400 0x0869 B 1
+GeForce 9400 0x086A B 1
+GeForce 9300 / nForce 730i 0x086C B 1
+GeForce 9200 0x086D B 1
+GeForce 9100M G 0x086E B 1
+GeForce 8200M G 0x086F B 1
+GeForce 9400M 0x0870 B 1
+GeForce 9200 0x0871 B 1
+GeForce G102M 0x0872 B 1
+GeForce G102M 0x0873 B 1
+ION 0x0874 B 1
+ION 0x0876 B 1
+GeForce 9400 0x087A B 1
+ION 0x087D B 1
+ION LE 0x087E B 1
+ION LE 0x087F B 1
+GeForce 320M 0x08A0 C
+GeForce 320M 0x08A2 C
+GeForce 320M 0x08A3 C
+GeForce 320M 0x08A4 C
+GeForce 320M 0x08A5 C
+GeForce GT 220 0x0A20 C
+GeForce 315 0x0A22 -
+GeForce 210 0x0A23 C
+GeForce 405 0x0A26 C
+GeForce 405 0x0A27 C
+GeForce GT 230M 0x0A28 C
+GeForce GT 330M 0x0A29 C
+GeForce GT 230M 0x0A2A C
+GeForce GT 330M 0x0A2B C
+GeForce GT 320M 0x0A2D C
+GeForce GT 415 0x0A32 C
+GeForce GT 240M 0x0A34 C
+GeForce GT 325M 0x0A35 C
+GeForce G210 0x0A60 C
+GeForce 205 0x0A62 C
+GeForce 310 0x0A63 C
+Second Generation ION 0x0A64 C
+GeForce 210 0x0A65 C
+GeForce 310 0x0A66 C
+GeForce 315 0x0A67 -
+GeForce G105M 0x0A68 B
+GeForce G105M 0x0A69 B
+GeForce 305M 0x0A6E C
+Second Generation ION 0x0A6F C
+GeForce 310M 0x0A70 C
+GeForce 305M 0x0A71 C
+GeForce 310M 0x0A72 C
+GeForce 305M 0x0A73 C
+GeForce G210M 0x0A74 C
+GeForce 310M 0x0A75 C
+Second Generation ION 0x0A76 C
+GeForce 315M 0x0A7A C
+GeForce GT 330 0x0CA0 A
+GeForce GT 320 0x0CA2 C
+GeForce GT 240 0x0CA3 C
+GeForce GT 340 0x0CA4 C
+GeForce GT 220 0x0CA5 C
+GeForce GT 330 0x0CA7 A
+GeForce GTS 260M 0x0CA8 C
+GeForce GTS 250M 0x0CA9 C
+GeForce GT 220 0x0CAC -
+GeForce GT 335M 0x0CAF C
+GeForce GTS 350M 0x0CB0 C
+GeForce GTS 360M 0x0CB1 C
+GeForce GT 440 0x0DC0 C
+GeForce GTS 450 0x0DC4 C
+GeForce GTS 450 0x0DC5 C
+GeForce GTS 450 0x0DC6 C
+GeForce GT 555M 0x0DCD C
+GeForce GT 555M 0x0DCE C
+GeForce GTX 460M 0x0DD1 C
+GeForce GT 445M 0x0DD2 C
+GeForce GT 435M 0x0DD3 C
+GeForce GT 550M 0x0DD6 C
+GeForce GT 440 0x0DE0 C
+GeForce GT 430 0x0DE1 C
+GeForce GT 420 0x0DE2 C
+GeForce GT 635M 0x0DE3 C
+GeForce GT 520 0x0DE4 C
+GeForce GT 530 0x0DE5 C
+GeForce GT 620M 0x0DE8 C
+GeForce GT 630M 0x0DE9 C
+GeForce 610M 0x0DEA C
+GeForce GT 555M 0x0DEB C
+GeForce GT 525M 0x0DEC C
+GeForce GT 520M 0x0DED C
+GeForce GT 415M 0x0DEE C
+GeForce GT 425M 0x0DF0 C
+GeForce GT 420M 0x0DF1 C
+GeForce GT 435M 0x0DF2 C
+GeForce GT 420M 0x0DF3 C
+GeForce GT 540M 0x0DF4 C
+GeForce GT 525M 0x0DF5 C
+GeForce GT 550M 0x0DF6 C
+GeForce GT 520M 0x0DF7 C
+GeForce GTX 460 0x0E22 C
+GeForce GTX 460 SE 0x0E23 C
+GeForce GTX 460 0x0E24 C
+GeForce GTX 470M 0x0E30 C
+GeForce GTX 485M 0x0E31 C
+GeForce GT 630 0x0F00 C
+GeForce GT 620 0x0F01 C
+GeForce GT 640 0x0FC0 C
+GeForce GT 640 0x0FC1 C
+GeForce GT 630 0x0FC2 C
+GeForce GTX 650 0x0FC6 D
+GeForce GT 640M LE 0x0FCE D
+GeForce GT 650M 0x0FD1 D
+GeForce GT 640M 0x0FD2 D
+GeForce GT 640M LE 0x0FD3 D
+GeForce GTX 660M 0x0FD4 D
+GeForce GT 650M 0x0FD5 D
+GeForce GT 640M 0x0FD8 D
+GeForce GT 645M 0x0FD9 D
+GeForce GTX 660M 0x0FE0 D
+GeForce GT 520 0x1040 C
+GeForce 510 0x1042 D
+GeForce 605 0x1048 D
+GeForce GT 620 0x1049 C
+GeForce GT 610 0x104A D
+GeForce GT 520M 0x1050 C
+GeForce GT 520MX 0x1051 D
+GeForce GT 520M 0x1052 C
+GeForce 410M 0x1054 D
+GeForce 410M 0x1055 D
+GeForce 610M 0x1058 C
+GeForce 610M 0x1059 C
+GeForce 610M 0x105A C
+GeForce GTX 580 0x1080 C
+GeForce GTX 570 0x1081 C
+GeForce GTX 560 Ti 0x1082 C
+GeForce GTX 560 0x1084 C
+GeForce GTX 570 0x1086 C
+GeForce GTX 560 Ti 0x1087 C
+GeForce GTX 590 0x1088 C
+GeForce GTX 580 0x1089 C
+GeForce GTX 580 0x108B C
+GeForce 9300 GS 0x10C0 B
+GeForce 8400GS 0x10C3 A
+GeForce 405 0x10C5 C
+GeForce GT 630M 0x1140 0x0565 C
+GeForce GT 630M 0x1140 0x0568 C
+GeForce GT 620M 0x1140 0x067A C
+GeForce GT 620M 0x1140 0x0680 C
+GeForce GT 620M 0x1140 0x20DD C
+GeForce GTX 680 0x1180 D
+GeForce GTX 660 Ti 0x1183 D
+GeForce GTX 660 0x1185 D
+GeForce GTX 690 0x1188 D
+GeForce GTX 670 0x1189 D
+GeForce GTX 680M 0x11A0 D
+GeForce GTX 670MX 0x11A1 D
+GeForce GTX 675MX 0x11A7 D
+GeForce GTX 660 0x11C0 D
+GeForce GTX 650 Ti 0x11C6 D
+GeForce GTX 560 Ti 0x1200 C
+GeForce GTX 560 0x1201 C
+GeForce GTX 460 SE v2 0x1203 C
+GeForce GTX 460 v2 0x1205 C
+GeForce GTX 555 0x1206 C
+GeForce GT 645 0x1207 C
+GeForce GTX 560 SE 0x1208 C
+GeForce GTX 570M 0x1210 C
+GeForce GTX 580M 0x1211 C
+GeForce GTX 675M 0x1212 C
+GeForce GTX 670M 0x1213 C
+GeForce GT 545 0x1241 C
+GeForce GT 545 0x1243 C
+GeForce GTX 550 Ti 0x1244 C
+GeForce GTS 450 0x1245 C
+GeForce GT 550M 0x1246 C
+GeForce GT 555M 0x1247 C
+GeForce GT 635M 0x1247 0x212A C
+GeForce GT 635M 0x1247 0x212B C
+GeForce GT 635M 0x1247 0x212C C
+GeForce GT 555M 0x1248 C
+GeForce GTS 450 0x1249 C
+GeForce GT 640 0x124B C
+GeForce GT 555M 0x124D C
+GeForce GT 635M 0x124D 0x10CC C
+GeForce GTX 560M 0x1251 C
+
+NVIDIA Quadro GPUs
+NVIDIA GPU product Device PCI ID* VDPAU features
+Quadro FX 4000 0x004E -
+Quadro FX 4500 0x009D -
+Quadro FX Go1400 0x00CC -
+Quadro FX 3450/4000 SDI 0x00CD -
+Quadro FX 1400 0x00CE -
+Quadro FX 3400/Quadro FX 4000 0x00F8 -
+Quadro FX 540M 0x014C -
+Quadro FX 550 0x014D -
+Quadro FX 540 0x014E -
+Quadro FX 5600 0x019D -
+Quadro FX 4600 0x019E -
+Quadro FX 350M 0x01DC -
+Quadro FX 350 0x01DE -
+Quadro FX 2500M 0x029A -
+Quadro FX 1500M 0x029B -
+Quadro FX 5500 0x029C -
+Quadro FX 3500 0x029D -
+Quadro FX 1500 0x029E -
+Quadro FX 4500 X2 0x029F -
+Quadro FX 560M 0x039C -
+Quadro FX 560 0x039E -
+Quadro FX 370 0x040A A
+Quadro FX 570M 0x040C A
+Quadro FX 1600M 0x040D A
+Quadro FX 570 0x040E A
+Quadro FX 1700 0x040F A
+Quadro FX 360M 0x042D A
+Quadroplex 2200 D2 0x05ED A
+Quadroplex 2200 S4 0x05F8 A
+Quadro CX 0x05F9 A
+Quadro FX 5800 0x05FD A
+Quadro FX 4800 0x05FE A
+Quadro FX 3800 0x05FF A
+Quadro FX 4700 X2 0x0619 A
+Quadro FX 3700 0x061A A
+Quadro VX 200 0x061B A
+Quadro FX 3600M 0x061C A
+Quadro FX 2800M 0x061D A
+Quadro FX 3700M 0x061E A
+Quadro FX 3800M 0x061F A
+Quadro FX 1800 0x0638 A
+Quadro FX 2700M 0x063A A
+Quadro FX 380 0x0658 A
+Quadro FX 580 0x0659 A
+Quadro FX 1700M 0x065A A
+Quadro FX 770M 0x065C A
+Quadro 6000 0x06D8 C
+Quadro 5000 0x06D9 C
+Quadro 5000M 0x06DA C
+Quadro 6000 0x06DC C
+Quadro 4000 0x06DD C
+Quadro FX 370 LP 0x06F9 B 1
+Quadro FX 370M 0x06FB B 1
+HICx16 + Graphics 0x06FF B 1
+Quadro 400 0x0A38 C
+Quadro FX 880M 0x0A3C C
+Quadro FX 380 LP 0x0A78 C
+Quadro FX 380M 0x0A7C C
+Quadro FX 1800M 0x0CBC C
+Quadro 2000 0x0DD8 C
+Quadro 2000D 0x0DD8 0x0914 C
+Quadro 2000M 0x0DDA C
+Quadro 600 0x0DF8 C
+Quadro 500M 0x0DF9 C
+Quadro 1000M 0x0DFA C
+Quadro 3000M 0x0E3A C
+Quadro 4000M 0x0E3B C
+Quadro K2000M 0x0FFB D
+Quadro K1000M 0x0FFC D
+Quadro 410 0x0FFF D
+Quadro 5010M 0x109A C
+Quadro 7000 0x109B C
+Quadro K5000 0x11BA D
+Quadro K5000M 0x11BC D
+Quadro K4000M 0x11BD D
+Quadro K3000M 0x11BE D
+
+NVIDIA NVS GPUs
+NVIDIA GPU product Device PCI ID* VDPAU features
+Quadro NVS 440 0x014A -
+Quadro NVS 285 0x0165 -
+Quadro NVS 110M 0x01DA -
+Quadro NVS 120M 0x01DB -
+Quadro NVS 210S / GeForce 6150LE 0x0245 -
+Quadro NVS 510M 0x0299 -
+Quadro NVS 320M 0x040B A
+Quadro NVS 140M 0x0429 A
+Quadro NVS 130M 0x042A A
+Quadro NVS 135M 0x042B A
+Quadro NVS 290 0x042F A
+Quadro NVS 150M 0x06EA B 1
+Quadro NVS 160M 0x06EB B 1
+Quadro NVS 420 0x06F8 B 1
+Quadro NVS 450 0x06FA B 1
+Quadro NVS 295 0x06FD B 1
+NVS 5100M 0x0A2C C
+NVS 2100M 0x0A6A C
+NVS 3100M 0x0A6C C
+NVS 5400M 0x0DEF C
+NVS 5200M 0x0DFC C
+NVS 510 0x0FFD D
+NVS 4200M 0x1056 D
+NVS 4200M 0x1057 D
+NVS 310 0x107D D
+NVS 300 0x10D8 C
+
+NVIDIA Tesla GPUs
+NVIDIA GPU product Device PCI ID* VDPAU features
+Tesla C870 0x0197 -
+Tesla C1060 0x05E7 A
+Tesla T10 Processor 0x05E7 0x0595 A
+Tesla T10 Processor 0x05E7 0x068F A
+Tesla M1060 0x05E7 0x0697 A
+Tesla M1060 0x05E7 0x0743 A
+Tesla C2050 / C2070 0x06D1 C
+Tesla C2070 0x06D1 0x0772 C
+Tesla M2070 0x06D2 C
+Tesla T20 Processor 0x06DE C
+Tesla M2050 0x06DE 0x082F C
+Tesla M2050 0x06DE 0x0846 C
+Tesla M2070-Q 0x06DF C
+Tesla K20c 0x1022 D
+Tesla K20m 0x1028 D
+Tesla M2090 0x1091 C
+Tesla X2090 0x1091 0x0974 C
+Tesla M2075 0x1094 C
+Tesla C2075 0x1096 C
+Tesla K10 0x118F D
+
+NVIDIA VGX GPUs
+NVIDIA GPU product Device PCI ID* VDPAU features
+GRID K1 0x0FF2 D
+GRID K2 0x11BF D
diff --git a/abs/core/system-templates/templates/xorg/340xx_supported.txt b/abs/core/system-templates/templates/xorg/340xx_supported.txt
index 00d6b7b..d18d236 100644
--- a/abs/core/system-templates/templates/xorg/340xx_supported.txt
+++ b/abs/core/system-templates/templates/xorg/340xx_supported.txt
@@ -1,281 +1,885 @@
http://www.nvidia.com/object/IO_32667.html
+http://us.download.nvidia.com/XFree86/Linux-x86/340.104/README/supportedchips.html
-NVIDIA GPU product Device PCI ID Subdevice PCI ID
-GeForce 8800 GTX 0x0191
-GeForce 8800 GTS 0x0193
-GeForce 8800 Ultra 0x0194
-Tesla C870 0x0197
-Quadro FX 5600 0x019D
-Quadro FX 4600 0x019E
-GeForce 8600 GTS 0x0400
-GeForce 8600 GT 0x0401
-GeForce 8600 GT 0x0402
-GeForce 8600 GS 0x0403
-GeForce 8400 GS 0x0404
-GeForce 9500M GS 0x0405
-GeForce 8300 GS 0x0406
-GeForce 8600M GT 0x0407
-GeForce 9650M GS 0x0408
-GeForce 8700M GT 0x0409
-Quadro FX 370 0x040A
-Quadro NVS 320M 0x040B
-Quadro FX 570M 0x040C
-Quadro FX 1600M 0x040D
-Quadro FX 570 0x040E
-Quadro FX 1700 0x040F
-GeForce GT 330 0x0410
-GeForce 8400 SE 0x0420
-GeForce 8500 GT 0x0421
-GeForce 8400 GS 0x0422
-GeForce 8300 GS 0x0423
-GeForce 8400 GS 0x0424
-GeForce 8600M GS 0x0425
-GeForce 8400M GT 0x0426
-GeForce 8400M GS 0x0427
-GeForce 8400M G 0x0428
-Quadro NVS 140M 0x0429
-Quadro NVS 130M 0x042A
-Quadro NVS 135M 0x042B
-GeForce 9400 GT 0x042C
-Quadro FX 360M 0x042D
-GeForce 9300M G 0x042E
-Quadro NVS 290 0x042F
-GeForce GTX 295 0x05E0
-GeForce GTX 280 0x05E1
-GeForce GTX 260 0x05E2
-GeForce GTX 285 0x05E3
-GeForce GTX 275 0x05E6
-Tesla C1060 0x05E7
-Tesla T10 Processor 0x05E7 0x0595
-Tesla T10 Processor 0x05E7 0x068F
-Tesla M1060 0x05E7 0x0697
-Tesla M1060 0x05E7 0x0714
-Tesla M1060 0x05E7 0x0743
-GeForce GTX 260 0x05EA
-GeForce GTX 295 0x05EB
-Quadroplex 2200 D2 0x05ED
-Quadroplex 2200 S4 0x05F8
-Quadro CX 0x05F9
-Quadro FX 5800 0x05FD
-Quadro FX 4800 0x05FE
-Quadro FX 3800 0x05FF
-GeForce 8800 GTS 512 0x0600
-GeForce 9800 GT 0x0601
-GeForce 8800 GT 0x0602
-GeForce GT 230 0x0603
-GeForce 9800 GX2 0x0604
-GeForce 9800 GT 0x0605
-GeForce 8800 GS 0x0606
-GeForce GTS 240 0x0607
-GeForce 9800M GTX 0x0608
-GeForce 8800M GTS 0x0609
-GeForce 8800 GS 0x0609 0x00A7
-GeForce GTX 280M 0x060A
-GeForce 9800M GT 0x060B
-GeForce 8800M GTX 0x060C
-GeForce 8800 GS 0x060D
-GeForce GTX 285M 0x060F
-GeForce 9600 GSO 0x0610
-GeForce 8800 GT 0x0611
-GeForce 9800 GTX/9800 GTX+ 0x0612
-GeForce 9800 GTX+ 0x0613
-GeForce 9800 GT 0x0614
-GeForce GTS 250 0x0615
-GeForce 9800M GTX 0x0617
-GeForce GTX 260M 0x0618
-Quadro FX 4700 X2 0x0619
-Quadro FX 3700 0x061A
-Quadro VX 200 0x061B
-Quadro FX 3600M 0x061C
-Quadro FX 2800M 0x061D
-Quadro FX 3700M 0x061E
-Quadro FX 3800M 0x061F
-GeForce GT 230 0x0621
-GeForce 9600 GT 0x0622
-GeForce 9600 GS 0x0623
-GeForce 9600 GSO 512 0x0625
-GeForce GT 130 0x0626
-GeForce GT 140 0x0627
-GeForce 9800M GTS 0x0628
-GeForce 9700M GTS 0x062A
-GeForce 9800M GS 0x062B
-GeForce 9800M GTS 0x062C
-GeForce 9600 GT 0x062D
-GeForce 9600 GT 0x062E
-GeForce GT 130 0x062E 0x0605
-GeForce 9700 S 0x0630
-GeForce GTS 160M 0x0631
-GeForce GTS 150M 0x0632
-GeForce 9600 GSO 0x0635
-GeForce 9600 GT 0x0637
-Quadro FX 1800 0x0638
-Quadro FX 2700M 0x063A
-GeForce 9500 GT 0x0640
-GeForce 9400 GT 0x0641
-GeForce 9500 GT 0x0643
-GeForce 9500 GS 0x0644
-GeForce 9500 GS 0x0645
-GeForce GT 120 0x0646
-GeForce 9600M GT 0x0647
-GeForce 9600M GS 0x0648
-GeForce 9600M GT 0x0649
-GeForce GT 220M 0x0649 0x202D
-GeForce 9700M GT 0x064A
-GeForce 9500M G 0x064B
-GeForce 9650M GT 0x064C
-GeForce G 110M 0x0651
-GeForce GT 130M 0x0652
-GeForce GT 240M LE 0x0652 0x0850
-GeForce GT 120M 0x0653
-GeForce GT 220M 0x0654
-GeForce GT 320M 0x0654 0x14A2
-GeForce GT 320M 0x0654 0x14D2
-GeForce GT 120 0x0655 0x0633
-GeForce GT 120 0x0656 0x0693
-Quadro FX 380 0x0658
-Quadro FX 580 0x0659
-Quadro FX 1700M 0x065A
-GeForce 9400 GT 0x065B
-Quadro FX 770M 0x065C
-GeForce 9300 GE 0x06E0
-GeForce 9300 GS 0x06E1
-GeForce 8400 0x06E2
-GeForce 8400 SE 0x06E3
-GeForce 8400 GS 0x06E4
-GeForce 9300M GS 0x06E5
-GeForce G100 0x06E6
-GeForce 9300 SE 0x06E7
-GeForce 9200M GS 0x06E8
-GeForce 9200M GE 0x06E8 0x360B
-GeForce 9300M GS 0x06E9
-Quadro NVS 150M 0x06EA
-Quadro NVS 160M 0x06EB
-GeForce G 105M 0x06EC
-GeForce G 103M 0x06EF
-GeForce G105M 0x06F1
-Quadro NVS 420 0x06F8
-Quadro FX 370 LP 0x06F9
-Quadro FX 370 Low Profile 0x06F9 0x060D
-Quadro NVS 450 0x06FA
-Quadro FX 370M 0x06FB
-Quadro NVS 295 0x06FD
-HICx16 + Graphics 0x06FF
-HICx8 + Graphics 0x06FF 0x0711
-GeForce 8200M 0x0840
-GeForce 9100M G 0x0844
-GeForce 8200M G 0x0845
-GeForce 9200 0x0846
-GeForce 9100 0x0847
-GeForce 8300 0x0848
-GeForce 8200 0x0849
-nForce 730a 0x084A
-GeForce 9200 0x084B
-nForce 980a/780a SLI 0x084C
-nForce 750a SLI 0x084D
-GeForce 8100 / nForce 720a 0x084F
-GeForce 9400 0x0860
-GeForce 9400 0x0861
-GeForce 9400M G 0x0862
-GeForce 9400M 0x0863
-GeForce 9300 0x0864
-ION 0x0865
-GeForce 9400M G 0x0866
-GeForce 9400M 0x0866 0x00B1
-GeForce 9400 0x0867
-nForce 760i SLI 0x0868
-GeForce 9400 0x0869
-GeForce 9400 0x086A
-GeForce 9300 / nForce 730i 0x086C
-GeForce 9200 0x086D
-GeForce 9100M G 0x086E
-GeForce 8200M G 0x086F
-GeForce 9400M 0x0870
-GeForce 9200 0x0871
-GeForce G102M 0x0872
-GeForce G205M 0x0872 0x1C42
-GeForce G102M 0x0873
-GeForce G205M 0x0873 0x1C52
-ION 0x0874
-ION 0x0876
-GeForce 9400 0x087A
-ION 0x087D
-ION LE 0x087E
-ION LE 0x087F
-GeForce 320M 0x08A0
-GeForce 320M 0x08A2
-GeForce 320M 0x08A3
-GeForce 320M 0x08A4
-GeForce 320M 0x08A5
-GeForce GT 220 0x0A20
-GeForce 315 0x0A22
-GeForce 210 0x0A23
-GeForce 405 0x0A26
-GeForce 405 0x0A27
-GeForce GT 230M 0x0A28
-GeForce GT 330M 0x0A29
-GeForce GT 230M 0x0A2A
-GeForce GT 330M 0x0A2B
-NVS 5100M 0x0A2C
-GeForce GT 320M 0x0A2D
-GeForce GT 415 0x0A32
-GeForce GT 240M 0x0A34
-GeForce GT 325M 0x0A35
-Quadro 400 0x0A38
-Quadro FX 880M 0x0A3C
-GeForce G210 0x0A60
-GeForce 205 0x0A62
-GeForce 310 0x0A63
-Second Generation ION 0x0A64
-GeForce 210 0x0A65
-GeForce 310 0x0A66
-GeForce 315 0x0A67
-GeForce G105M 0x0A68
-GeForce G105M 0x0A69
-NVS 2100M 0x0A6A
-NVS 3100M 0x0A6C
-GeForce 305M 0x0A6E
-Second Generation ION 0x0A6E 0x3607
-Second Generation ION 0x0A6F
-GeForce 310M 0x0A70
-Second Generation ION 0x0A70 0x3605
-Second Generation ION 0x0A70 0x3617
-GeForce 305M 0x0A71
-GeForce 310M 0x0A72
-GeForce 305M 0x0A73
-Second Generation ION 0x0A73 0x3607
-Second Generation ION 0x0A73 0x3610
-GeForce G210M 0x0A74
-GeForce G210 0x0A74 0x903A
-GeForce 310M 0x0A75
-Second Generation ION 0x0A75 0x3605
-Second Generation ION 0x0A76
-Quadro FX 380 LP 0x0A78
-GeForce 315M 0x0A7A
-GeForce 405 0x0A7A 0x0003
-GeForce 405M 0x0A7A 0x3950
-GeForce 405M 0x0A7A 0x397D
-GeForce 405 0x0A7A 0x3980
-GeForce 405 0x0A7A 0x8006
-GeForce 405 0x0A7A 0x90B4
-GeForce 405 0x0A7A 0xAA51
-GeForce 405 0x0A7A 0xAA58
-GeForce 405 0x0A7A 0xAC71
-GeForce 405 0x0A7A 0xAC82
-Quadro FX 380M 0x0A7C
-GeForce GT 330 0x0CA0
-GeForce GT 320 0x0CA2
-GeForce GT 240 0x0CA3
-GeForce GT 340 0x0CA4
-GeForce GT 220 0x0CA5
-GeForce GT 330 0x0CA7
-GeForce GTS 260M 0x0CA8
-GeForce GTS 250M 0x0CA9
-GeForce GT 220 0x0CAC
-GeForce GT 335M 0x0CAF
-GeForce GTS 350M 0x0CB0
-GeForce GTS 360M 0x0CB1
-Quadro FX 1800M 0x0CBC
-GeForce 9300 GS 0x10C0
-GeForce 8400GS 0x10C3
-GeForce 405 0x10C5
-NVS 300 0x10D8
+NVIDIA GeForce GPUs
+NVIDIA GPU product Device PCI ID* VDPAU features
+GeForce 8800 GTX 0x0191 -
+GeForce 8800 GTS 0x0193 -
+GeForce 8800 Ultra 0x0194 -
+GeForce 8600 GTS 0x0400 A
+GeForce 8600 GT 0x0401 A
+GeForce 8600 GT 0x0402 A
+GeForce 8600 GS 0x0403 A
+GeForce 8400 GS 0x0404 A
+GeForce 9500M GS 0x0405 A
+GeForce 8300 GS 0x0406 -
+GeForce 8600M GT 0x0407 A
+GeForce 9650M GS 0x0408 A
+GeForce 8700M GT 0x0409 A
+GeForce GT 330 0x0410 A
+GeForce 8400 SE 0x0420 -
+GeForce 8500 GT 0x0421 A
+GeForce 8400 GS 0x0422 A
+GeForce 8300 GS 0x0423 -
+GeForce 8400 GS 0x0424 A
+GeForce 8600M GS 0x0425 A
+GeForce 8400M GT 0x0426 A
+GeForce 8400M GS 0x0427 A
+GeForce 8400M G 0x0428 A
+GeForce 9400 GT 0x042C A
+GeForce 9300M G 0x042E A
+GeForce GTX 295 0x05E0 A
+GeForce GTX 280 0x05E1 A
+GeForce GTX 260 0x05E2 A
+GeForce GTX 285 0x05E3 A
+GeForce GTX 275 0x05E6 A
+GeForce GTX 260 0x05EA A
+GeForce GTX 295 0x05EB A
+GeForce 8800 GTS 512 0x0600 A
+GeForce 9800 GT 0x0601 A
+GeForce 8800 GT 0x0602 A
+GeForce GT 230 0x0603 A
+GeForce 9800 GX2 0x0604 A
+GeForce 9800 GT 0x0605 A
+GeForce 8800 GS 0x0606 A
+GeForce GTS 240 0x0607 A
+GeForce 9800M GTX 0x0608 A
+GeForce 8800M GTS 0x0609 A
+GeForce 8800 GS 0x0609 0x00A7 A
+GeForce GTX 280M 0x060A A
+GeForce 9800M GT 0x060B A
+GeForce 8800M GTX 0x060C A
+GeForce 8800 GS 0x060D A
+GeForce GTX 285M 0x060F A
+GeForce 9600 GSO 0x0610 A
+GeForce 8800 GT 0x0611 A
+GeForce 9800 GTX/9800 GTX+ 0x0612 A
+GeForce 9800 GTX+ 0x0613 A
+GeForce 9800 GT 0x0614 A
+GeForce GTS 250 0x0615 A
+GeForce 9800M GTX 0x0617 A
+GeForce GTX 260M 0x0618 A
+GeForce GT 230 0x0621 A
+GeForce 9600 GT 0x0622 A
+GeForce 9600 GS 0x0623 A
+GeForce 9600 GSO 512 0x0625 A
+GeForce GT 130 0x0626 A
+GeForce GT 140 0x0627 A
+GeForce 9800M GTS 0x0628 A
+GeForce 9700M GTS 0x062A A
+GeForce 9800M GS 0x062B A
+GeForce 9800M GTS 0x062C A
+GeForce 9600 GT 0x062D A
+GeForce 9600 GT 0x062E A
+GeForce GT 130 0x062E 0x0605 A
+GeForce 9700 S 0x0630 A
+GeForce GTS 160M 0x0631 A
+GeForce GTS 150M 0x0632 A
+GeForce 9600 GSO 0x0635 A
+GeForce 9600 GT 0x0637 A
+GeForce 9500 GT 0x0640 A
+GeForce 9400 GT 0x0641 A
+GeForce 9500 GT 0x0643 A
+GeForce 9500 GS 0x0644 A
+GeForce 9500 GS 0x0645 A
+GeForce GT 120 0x0646 A
+GeForce 9600M GT 0x0647 A
+GeForce 9600M GS 0x0648 A
+GeForce 9600M GT 0x0649 A
+GeForce GT 220M 0x0649 0x202D A
+GeForce 9700M GT 0x064A A
+GeForce 9500M G 0x064B A
+GeForce 9650M GT 0x064C A
+GeForce G 110M 0x0651 A
+GeForce GT 130M 0x0652 A
+GeForce GT 240M LE 0x0652 0x0850 A
+GeForce GT 120M 0x0653 A
+GeForce GT 220M 0x0654 A
+GeForce GT 320M 0x0654 0x14A2 A
+GeForce GT 320M 0x0654 0x14D2 A
+GeForce GT 120 0x0655 0x0633 A
+GeForce GT 120 0x0656 0x0693 A
+GeForce 9400 GT 0x065B A
+GeForce GTX 480 0x06C0 C
+GeForce GTX 465 0x06C4 C
+GeForce GTX 480M 0x06CA C
+GeForce GTX 470 0x06CD C
+GeForce 9300 GE 0x06E0 B 1
+GeForce 9300 GS 0x06E1 B 1
+GeForce 8400 0x06E2 B 1
+GeForce 8400 SE 0x06E3 -
+GeForce 8400 GS 0x06E4 A 1
+GeForce 9300M GS 0x06E5 B 1
+GeForce G100 0x06E6 B 1
+GeForce 9300 SE 0x06E7 -
+GeForce 9200M GS 0x06E8 B 1
+GeForce 9200M GE 0x06E8 0x360B B 1
+GeForce 9300M GS 0x06E9 B 1
+GeForce G 105M 0x06EC B 1
+GeForce G 103M 0x06EF B 1
+GeForce G105M 0x06F1 B 1
+GeForce 8200M 0x0840 B 1
+GeForce 9100M G 0x0844 B 1
+GeForce 8200M G 0x0845 B 1
+GeForce 9200 0x0846 B 1
+GeForce 9100 0x0847 B 1
+GeForce 8300 0x0848 B 1
+GeForce 8200 0x0849 B 1
+nForce 730a 0x084A B 1
+GeForce 9200 0x084B B 1
+nForce 980a/780a SLI 0x084C B 1
+nForce 750a SLI 0x084D B 1
+GeForce 8100 / nForce 720a 0x084F -
+GeForce 9400 0x0860 B 1
+GeForce 9400 0x0861 B 1
+GeForce 9400M G 0x0862 B 1
+GeForce 9400M 0x0863 B 1
+GeForce 9300 0x0864 B 1
+ION 0x0865 B 1
+GeForce 9400M G 0x0866 B 1
+GeForce 9400M 0x0866 0x00B1 B 1
+GeForce 9400 0x0867 B 1
+nForce 760i SLI 0x0868 B 1
+GeForce 9400 0x0869 B 1
+GeForce 9400 0x086A B 1
+GeForce 9300 / nForce 730i 0x086C B 1
+GeForce 9200 0x086D B 1
+GeForce 9100M G 0x086E B 1
+GeForce 8200M G 0x086F B 1
+GeForce 9400M 0x0870 B 1
+GeForce 9200 0x0871 B 1
+GeForce G102M 0x0872 B 1
+GeForce G205M 0x0872 0x1C42 B 1
+GeForce G102M 0x0873 B 1
+GeForce G205M 0x0873 0x1C52 B 1
+ION 0x0874 B 1
+ION 0x0876 B 1
+GeForce 9400 0x087A B 1
+ION 0x087D B 1
+ION LE 0x087E B 1
+ION LE 0x087F B 1
+GeForce 320M 0x08A0 C
+GeForce 320M 0x08A2 C
+GeForce 320M 0x08A3 C
+GeForce 320M 0x08A4 C
+GeForce 320M 0x08A5 C
+GeForce GT 220 0x0A20 C
+GeForce 315 0x0A22 -
+GeForce 210 0x0A23 C
+GeForce 405 0x0A26 C
+GeForce 405 0x0A27 C
+GeForce GT 230M 0x0A28 C
+GeForce GT 330M 0x0A29 C
+GeForce GT 230M 0x0A2A C
+GeForce GT 330M 0x0A2B C
+GeForce GT 320M 0x0A2D A
+GeForce GT 415 0x0A32 C
+GeForce GT 240M 0x0A34 C
+GeForce GT 325M 0x0A35 C
+GeForce G210 0x0A60 C
+GeForce 205 0x0A62 C
+GeForce 310 0x0A63 C
+Second Generation ION 0x0A64 C
+GeForce 210 0x0A65 C
+GeForce 310 0x0A66 C
+GeForce 315 0x0A67 -
+GeForce G105M 0x0A68 B
+GeForce G105M 0x0A69 B
+GeForce 305M 0x0A6E C
+Second Generation ION 0x0A6E 0x3607 C
+Second Generation ION 0x0A6F C
+GeForce 310M 0x0A70 C
+Second Generation ION 0x0A70 0x3605 C
+Second Generation ION 0x0A70 0x3617 C
+GeForce 305M 0x0A71 C
+GeForce 310M 0x0A72 C
+GeForce 305M 0x0A73 C
+Second Generation ION 0x0A73 0x3607 C
+Second Generation ION 0x0A73 0x3610 C
+GeForce G210M 0x0A74 C
+GeForce G210 0x0A74 0x903A C
+GeForce 310M 0x0A75 C
+Second Generation ION 0x0A75 0x3605 C
+Second Generation ION 0x0A76 C
+GeForce 315M 0x0A7A C
+GeForce 405 0x0A7A 0x0003 C
+GeForce 405M 0x0A7A 0x3950 C
+GeForce 405M 0x0A7A 0x397D C
+GeForce 405 0x0A7A 0x3980 C
+GeForce 405 0x0A7A 0x8006 C
+GeForce 405 0x0A7A 0x90B4 C
+GeForce 405 0x0A7A 0xAA51 C
+GeForce 405 0x0A7A 0xAA58 C
+GeForce 405 0x0A7A 0xAC71 C
+GeForce 405 0x0A7A 0xAC82 C
+GeForce GT 330 0x0CA0 A
+GeForce GT 320 0x0CA2 C
+GeForce GT 240 0x0CA3 C
+GeForce GT 340 0x0CA4 C
+GeForce GT 220 0x0CA5 C
+GeForce GT 330 0x0CA7 A
+GeForce GTS 260M 0x0CA8 C
+GeForce GTS 250M 0x0CA9 C
+GeForce GT 220 0x0CAC C
+GeForce GT 335M 0x0CAF C
+GeForce GTS 350M 0x0CB0 C
+GeForce GTS 360M 0x0CB1 C
+GeForce GT 440 0x0DC0 C
+GeForce GTS 450 0x0DC4 C
+GeForce GTS 450 0x0DC5 C
+GeForce GTS 450 0x0DC6 C
+GeForce GT 555M 0x0DCD C
+GeForce GT 555M 0x0DCE C
+GeForce GTX 460M 0x0DD1 C
+GeForce GT 445M 0x0DD2 C
+GeForce GT 435M 0x0DD3 C
+GeForce GT 550M 0x0DD6 C
+GeForce GT 440 0x0DE0 C
+GeForce GT 430 0x0DE1 C
+GeForce GT 420 0x0DE2 C
+GeForce GT 635M 0x0DE3 C
+GeForce GT 520 0x0DE4 C
+GeForce GT 530 0x0DE5 C
+GeForce GT 610 0x0DE7 C
+GeForce GT 620M 0x0DE8 C
+GeForce GT 630M 0x0DE9 C
+GeForce GT 620M 0x0DE9 0x0692 C
+GeForce GT 620M 0x0DE9 0x0725 C
+GeForce GT 620M 0x0DE9 0x0728 C
+GeForce GT 620M 0x0DE9 0x072B C
+GeForce GT 620M 0x0DE9 0x072E C
+GeForce GT 620M 0x0DE9 0x0753 C
+GeForce GT 620M 0x0DE9 0x0754 C
+GeForce GT 635M 0x0DE9 0x2210 C
+GeForce GT 640M LE 0x0DE9 0x3977 C
+GeForce 610M 0x0DEA C
+GeForce 615 0x0DEA 0x365A C
+GeForce 615 0x0DEA 0x365B C
+GeForce 615 0x0DEA 0x365E C
+GeForce 615 0x0DEA 0x3660 C
+GeForce 615 0x0DEA 0x366C C
+GeForce GT 555M 0x0DEB C
+GeForce GT 525M 0x0DEC C
+GeForce GT 520M 0x0DED C
+GeForce GT 415M 0x0DEE C
+GeForce GT 425M 0x0DF0 C
+GeForce GT 420M 0x0DF1 C
+GeForce GT 435M 0x0DF2 C
+GeForce GT 420M 0x0DF3 C
+GeForce GT 540M 0x0DF4 C
+GeForce GT 630M 0x0DF4 0x0952 C
+GeForce GT 630M 0x0DF4 0x0953 C
+GeForce GT 525M 0x0DF5 C
+GeForce GT 550M 0x0DF6 C
+GeForce GT 520M 0x0DF7 C
+GeForce GTX 460 0x0E22 C
+GeForce GTX 460 SE 0x0E23 C
+GeForce GTX 460 0x0E24 C
+GeForce GTX 470M 0x0E30 C
+GeForce GTX 485M 0x0E31 C
+GeForce GT 630 0x0F00 C
+GeForce GT 620 0x0F01 C
+GeForce GT 730 0x0F02 C
+GeForce GT 640 0x0FC0 C
+GeForce GT 640 0x0FC1 C
+GeForce GT 630 0x0FC2 C
+GeForce GTX 650 0x0FC6 D
+GeForce GT 740 0x0FC8 D
+GeForce GT 755M 0x0FCD D
+GeForce GT 640M LE 0x0FCE C
+GeForce GT 650M 0x0FD1 D
+GeForce GT 640M 0x0FD2 D
+GeForce GT 640M LE 0x0FD2 0x0595 C
+GeForce GT 640M LE 0x0FD2 0x05B2 C
+GeForce GT 640M LE 0x0FD3 C
+GeForce GTX 660M 0x0FD4 D
+GeForce GT 650M 0x0FD5 D
+GeForce GT 640M 0x0FD8 D
+GeForce GT 645M 0x0FD9 D
+GeForce GT 740M 0x0FDF D
+GeForce GTX 660M 0x0FE0 D
+GeForce GT 730M 0x0FE1 D
+GeForce GT 745M 0x0FE2 D
+GeForce GT 745M 0x0FE3 D
+GeForce GT 745A 0x0FE3 0x3675 D
+GeForce GT 750M 0x0FE4 D
+GeForce GT 750M 0x0FE9 D
+GeForce GT 755M 0x0FEA D
+GeForce 710A 0x0FEC C
+GeForce GTX TITAN Z 0x1001 D
+GeForce GTX 780 0x1004 D
+GeForce GTX TITAN 0x1005 D
+GeForce GTX 780 0x1007 D
+GeForce GTX 780 Ti 0x1008 D
+GeForce GTX 780 Ti 0x100A D
+GeForce GTX TITAN Black 0x100C D
+GeForce GT 520 0x1040 C
+GeForce 510 0x1042 D
+GeForce 605 0x1048 D
+GeForce GT 620 0x1049 C
+GeForce GT 610 0x104A C
+GeForce GT 625 (OEM) 0x104B D
+GeForce GT 625 0x104B 0x0625 D
+GeForce GT 625 0x104B 0x844C D
+GeForce GT 625 0x104B 0x846B D
+GeForce GT 625 0x104B 0xA625 D
+GeForce GT 625 0x104B 0xB590 D
+GeForce GT 705 0x104C D
+GeForce GT 520M 0x1050 C
+GeForce GT 520MX 0x1051 D
+GeForce GT 520M 0x1052 C
+GeForce 410M 0x1054 D
+GeForce 410M 0x1055 D
+GeForce 610M 0x1058 C
+GeForce 610 0x1058 0x2AF1 D
+GeForce 610M 0x1059 C
+GeForce 610M 0x105A C
+GeForce 705M 0x105B C
+GeForce 705A 0x105B 0x2AFB D
+GeForce GTX 580 0x1080 C
+GeForce GTX 570 0x1081 C
+GeForce GTX 560 Ti 0x1082 C
+GeForce GTX 560 0x1084 C
+GeForce GTX 570 0x1086 C
+GeForce GTX 560 Ti 0x1087 C
+GeForce GTX 590 0x1088 C
+GeForce GTX 580 0x1089 C
+GeForce GTX 580 0x108B C
+GeForce 9300 GS 0x10C0 B
+GeForce 8400GS 0x10C3 A
+GeForce 405 0x10C5 C
+GeForce 820M 0x1140 0x0083 C
+GeForce 710M 0x1140 0x0177 C
+GeForce 710M 0x1140 0x0180 C
+GeForce GT 720M 0x1140 0x0190 C
+GeForce GT 720M 0x1140 0x0192 C
+GeForce GT 630M 0x1140 0x054D C
+GeForce GT 630M 0x1140 0x054E C
+GeForce GT 620M 0x1140 0x0554 C
+GeForce GT 620M 0x1140 0x0557 C
+GeForce GT625M 0x1140 0x0562 C
+GeForce GT 630M 0x1140 0x0565 C
+GeForce GT 630M 0x1140 0x0568 C
+GeForce GT 630M 0x1140 0x0590 C
+GeForce GT625M 0x1140 0x0592 C
+GeForce GT625M 0x1140 0x0594 C
+GeForce GT625M 0x1140 0x0595 C
+GeForce GT625M 0x1140 0x05A2 C
+GeForce GT625M 0x1140 0x05B1 C
+GeForce GT625M 0x1140 0x05B3 C
+GeForce GT 630M 0x1140 0x05DA C
+GeForce GT 720M 0x1140 0x05DE C
+GeForce GT 720M 0x1140 0x05E0 C
+GeForce GT 630M 0x1140 0x05E8 C
+GeForce GT 720M 0x1140 0x05F4 C
+GeForce GT 620M 0x1140 0x0600 C
+GeForce GT 620M 0x1140 0x0606 C
+GeForce GT 720M 0x1140 0x060F C
+GeForce GT 620M 0x1140 0x064A C
+GeForce GT 620M 0x1140 0x064C C
+GeForce 820M 0x1140 0x064E C
+GeForce 820M 0x1140 0x0652 C
+GeForce 820M 0x1140 0x0653 C
+GeForce 820M 0x1140 0x0662 C
+GeForce GT 620M 0x1140 0x067A C
+GeForce GT 620M 0x1140 0x0680 C
+GeForce 710M 0x1140 0x0686 C
+GeForce 710M 0x1140 0x0689 C
+GeForce 710M 0x1140 0x068B C
+GeForce 710M 0x1140 0x068D C
+GeForce 710M 0x1140 0x068E C
+GeForce 710M 0x1140 0x0691 C
+GeForce GT 620M 0x1140 0x0692 C
+GeForce GT 620M 0x1140 0x0694 C
+GeForce GT 620M 0x1140 0x0702 C
+GeForce GT 620M 0x1140 0x0719 C
+GeForce GT 620M 0x1140 0x0725 C
+GeForce GT 620M 0x1140 0x0728 C
+GeForce GT 620M 0x1140 0x072B C
+GeForce GT 620M 0x1140 0x072E C
+GeForce GT 620M 0x1140 0x0732 C
+GeForce GT 720M 0x1140 0x0763 C
+GeForce 710M 0x1140 0x0773 C
+GeForce 710M 0x1140 0x0774 C
+GeForce GT 720M 0x1140 0x0776 C
+GeForce 710M 0x1140 0x077A C
+GeForce 710M 0x1140 0x077B C
+GeForce 710M 0x1140 0x077C C
+GeForce 710M 0x1140 0x077D C
+GeForce 710M 0x1140 0x077E C
+GeForce 710M 0x1140 0x077F C
+GeForce GT 720M 0x1140 0x0781 C
+GeForce GT 720M 0x1140 0x0798 C
+GeForce 820M 0x1140 0x0799 C
+GeForce GT 720M 0x1140 0x079B C
+GeForce GT 720M 0x1140 0x079C C
+GeForce GT 720M 0x1140 0x0807 C
+GeForce 820M 0x1140 0x0821 C
+GeForce GT 720M 0x1140 0x0823 C
+GeForce GT 720M 0x1140 0x0830 C
+GeForce GT 720M 0x1140 0x0833 C
+GeForce GT 720M 0x1140 0x0837 C
+GeForce 820M 0x1140 0x083E C
+GeForce 710M 0x1140 0x0841 C
+GeForce 820M 0x1140 0x0853 C
+GeForce 820M 0x1140 0x0854 C
+GeForce 820M 0x1140 0x0855 C
+GeForce 820M 0x1140 0x0856 C
+GeForce 820M 0x1140 0x0857 C
+GeForce 820M 0x1140 0x0858 C
+GeForce 820M 0x1140 0x0868 C
+GeForce 810M 0x1140 0x0869 C
+GeForce 820M 0x1140 0x0873 C
+GeForce 820M 0x1140 0x0878 C
+GeForce 820M 0x1140 0x087B C
+GeForce 820M 0x1140 0x0881 C
+GeForce 820M 0x1140 0x088A C
+GeForce 820M 0x1140 0x0921 C
+GeForce 620M 0x1140 0x0926 C
+GeForce 810M 0x1140 0x092E C
+GeForce 820M 0x1140 0x092F C
+GeForce 820M 0x1140 0x093A C
+GeForce 820M 0x1140 0x093C C
+GeForce 820M 0x1140 0x093F C
+GeForce 820M 0x1140 0x0945 C
+GeForce GT 630M 0x1140 0x0982 C
+GeForce GT 630M 0x1140 0x0983 C
+GeForce GT 720M 0x1140 0x0DAC C
+GeForce GT 720M 0x1140 0x0DAD C
+GeForce GT 720M 0x1140 0x0EF3 C
+GeForce GT820M 0x1140 0x1005 C
+GeForce 710M 0x1140 0x1012 C
+GeForce 820M 0x1140 0x1019 C
+GeForce GT 630M 0x1140 0x1030 C
+GeForce 710M 0x1140 0x1055 C
+GeForce GT 720M 0x1140 0x1067 C
+GeForce 820M 0x1140 0x1092 C
+GeForce GT 710M 0x1140 0x10B8 C
+GeForce GT 720M 0x1140 0x10E9 C
+GeForce 820M 0x1140 0x1116 C
+GeForce GT 720M 0x1140 0x11FD C
+GeForce GT 720M 0x1140 0x124D C
+GeForce GT 720M 0x1140 0x126D C
+GeForce GT 720M 0x1140 0x131D C
+GeForce GT 720M 0x1140 0x13FD C
+GeForce GT 720M 0x1140 0x14C7 C
+GeForce GT 620M 0x1140 0x1507 C
+GeForce 820M 0x1140 0x15AD C
+GeForce 820M 0x1140 0x15ED C
+GeForce 820M 0x1140 0x160D C
+GeForce 820M 0x1140 0x163D C
+GeForce 820M 0x1140 0x165D C
+GeForce 820M 0x1140 0x166D C
+GeForce 820M 0x1140 0x16CD C
+GeForce 820M 0x1140 0x16DD C
+GeForce 820M 0x1140 0x170D C
+GeForce 820M 0x1140 0x176D C
+GeForce 820M 0x1140 0x178D C
+GeForce 820M 0x1140 0x179D C
+GeForce GT 720M 0x1140 0x17F5 C
+GeForce GT 630M 0x1140 0x18EF C
+GeForce GT 630M 0x1140 0x18F9 C
+GeForce GT 630M 0x1140 0x18FB C
+GeForce GT 630M 0x1140 0x18FD C
+GeForce GT 630M 0x1140 0x18FF C
+GeForce GT 620M 0x1140 0x20DD C
+GeForce GT 620M 0x1140 0x20DF C
+GeForce 820M 0x1140 0x210E C
+GeForce GT 620M 0x1140 0x2132 C
+GeForce 820M 0x1140 0x218A C
+GeForce GT 720M 0x1140 0x21BA C
+GeForce 820M 0x1140 0x21BB C
+GeForce 820M 0x1140 0x21BC C
+GeForce GT 720M 0x1140 0x21FA C
+GeForce GT 720M 0x1140 0x2202 C
+GeForce GT 720M 0x1140 0x220A C
+GeForce 820M 0x1140 0x220E C
+GeForce 820M 0x1140 0x2212 C
+GeForce GT 720M 0x1140 0x2213 C
+GeForce 820M 0x1140 0x2218 C
+GeForce GT 720M 0x1140 0x221A C
+GeForce GT 720M 0x1140 0x2220 C
+GeForce GT 710M 0x1140 0x223A C
+GeForce GT 710M 0x1140 0x224A C
+GeForce 820M 0x1140 0x225B C
+GeForce 820M 0x1140 0x225D C
+GeForce 820M 0x1140 0x226D C
+GeForce 820M 0x1140 0x226F C
+GeForce 820M 0x1140 0x227A C
+GeForce 820M 0x1140 0x228A C
+GeForce 820M 0x1140 0x22D2 C
+GeForce 820M 0x1140 0x22D9 C
+GeForce GT 720A 0x1140 0x2AEF C
+GeForce 710A 0x1140 0x2AF9 C
+GeForce GT620M 0x1140 0x3656 C
+GeForce 820A 0x1140 0x36A9 C
+GeForce GT 720M 0x1140 0x3800 C
+GeForce GT 720M 0x1140 0x3801 C
+GeForce GT 720M 0x1140 0x3802 C
+GeForce GT 720M 0x1140 0x3803 C
+GeForce GT 720M 0x1140 0x3804 C
+GeForce GT 720M 0x1140 0x3806 C
+GeForce GT 720M 0x1140 0x3808 C
+GeForce 820M 0x1140 0x380D C
+GeForce 820M 0x1140 0x380E C
+GeForce 820M 0x1140 0x380F C
+GeForce 820M 0x1140 0x3811 C
+GeForce 820M 0x1140 0x3812 C
+GeForce 820M 0x1140 0x3813 C
+GeForce 820M 0x1140 0x3816 C
+GeForce 820M 0x1140 0x3817 C
+GeForce 820M 0x1140 0x3818 C
+GeForce 820M 0x1140 0x381A C
+GeForce 820M 0x1140 0x381C C
+GeForce 610M 0x1140 0x3901 C
+GeForce 710M 0x1140 0x3902 C
+GeForce 710M 0x1140 0x3903 C
+GeForce GT 625M 0x1140 0x3904 C
+GeForce GT 720M 0x1140 0x3905 C
+GeForce 820M 0x1140 0x3907 C
+GeForce GT 720M 0x1140 0x3910 C
+GeForce GT 720M 0x1140 0x3912 C
+GeForce 820M 0x1140 0x3913 C
+GeForce 610M 0x1140 0x3983 C
+GeForce 610M 0x1140 0x5001 C
+GeForce GT 720M 0x1140 0x5003 C
+GeForce 705M 0x1140 0x5005 C
+GeForce GT 620M 0x1140 0x500D C
+GeForce 710M 0x1140 0x5014 C
+GeForce 710M 0x1140 0x5017 C
+GeForce 710M 0x1140 0x5019 C
+GeForce 710M 0x1140 0x501A C
+GeForce GT 720M 0x1140 0x501F C
+GeForce 710M 0x1140 0x5025 C
+GeForce 710M 0x1140 0x5027 C
+GeForce 710M 0x1140 0x502A C
+GeForce GT 720M 0x1140 0x502B C
+GeForce 710M 0x1140 0x502D C
+GeForce GT 720M 0x1140 0x502E C
+GeForce GT 720M 0x1140 0x502F C
+GeForce 705M 0x1140 0x5030 C
+GeForce 705M 0x1140 0x5031 C
+GeForce 820M 0x1140 0x5032 C
+GeForce 820M 0x1140 0x5033 C
+GeForce 710M 0x1140 0x503E C
+GeForce 820M 0x1140 0x503F C
+GeForce 820M 0x1140 0x5040 C
+GeForce GT 720M 0x1140 0x8595 C
+GeForce GT 720M 0x1140 0x85EA C
+GeForce 820M 0x1140 0x85EB C
+GeForce 820M 0x1140 0x85EC C
+GeForce GT 720M 0x1140 0x85EE C
+GeForce 820M 0x1140 0x85F3 C
+GeForce 820M 0x1140 0x860E C
+GeForce 820M 0x1140 0x861A C
+GeForce 820M 0x1140 0x861B C
+GeForce 820M 0x1140 0x8628 C
+GeForce 820M 0x1140 0x8643 C
+GeForce 820M 0x1140 0x864C C
+GeForce 820M 0x1140 0x8652 C
+GeForce 820M 0x1140 0x90D7 C
+GeForce 820M 0x1140 0x90DD C
+GeForce GT 720M 0x1140 0x999F C
+GeForce 720M 0x1140 0xAA33 C
+GeForce GT 720M 0x1140 0xAAA2 C
+GeForce 820M 0x1140 0xAAA3 C
+GeForce GT 720M 0x1140 0xACB2 C
+GeForce GT 720M 0x1140 0xACC1 C
+GeForce 720M 0x1140 0xAE61 C
+GeForce GT 720M 0x1140 0xAE65 C
+GeForce 820M 0x1140 0xAE6A C
+GeForce GT 720M 0x1140 0xAE71 C
+GeForce GT 620M 0x1140 0xB092 C
+GeForce GT 630M 0x1140 0xC0D5 C
+GeForce GT 620M 0x1140 0xC0D7 C
+GeForce 820M 0x1140 0xC10D C
+GeForce GT 620M 0x1140 0xC652 C
+GeForce 710M 0x1140 0xC709 C
+GeForce 710M 0x1140 0xC711 C
+GeForce 710M 0x1140 0xC736 C
+GeForce 710M 0x1140 0xC737 C
+GeForce 820M 0x1140 0xC745 C
+GeForce 820M 0x1140 0xC750 C
+GeForce 710M 0x1140 0xFA01 C
+GeForce 710M 0x1140 0xFA02 C
+GeForce 710M 0x1140 0xFA03 C
+GeForce 710M 0x1140 0xFA05 C
+GeForce 710M 0x1140 0xFA11 C
+GeForce 710M 0x1140 0xFA13 C
+GeForce 710M 0x1140 0xFA18 C
+GeForce 710M 0x1140 0xFA19 C
+GeForce 710M 0x1140 0xFA21 C
+GeForce 710M 0x1140 0xFA23 C
+GeForce 710M 0x1140 0xFA2A C
+GeForce 710M 0x1140 0xFA32 C
+GeForce 710M 0x1140 0xFA33 C
+GeForce 710M 0x1140 0xFA36 C
+GeForce 710M 0x1140 0xFA38 C
+GeForce 710M 0x1140 0xFA42 C
+GeForce 710M 0x1140 0xFA43 C
+GeForce 710M 0x1140 0xFA45 C
+GeForce 710M 0x1140 0xFA47 C
+GeForce 710M 0x1140 0xFA49 C
+GeForce 710M 0x1140 0xFA58 C
+GeForce 710M 0x1140 0xFA59 C
+GeForce 710M 0x1140 0xFA88 C
+GeForce 710M 0x1140 0xFA89 C
+GeForce GTX 680 0x1180 D
+GeForce GTX 660 Ti 0x1183 D
+GeForce GTX 770 0x1184 D
+GeForce GTX 660 0x1185 D
+GeForce GTX 760 0x1185 0x106F D
+GeForce GTX 760 0x1187 D
+GeForce GTX 690 0x1188 D
+GeForce GTX 670 0x1189 D
+GeForce GTX 760 Ti OEM 0x1189 0x1074 D
+GeForce GTX 760 (192-bit) 0x118E D
+GeForce GTX 760 Ti OEM 0x1193 D
+GeForce GTX 660 0x1195 D
+GeForce GTX 880M 0x1198 D
+GeForce GTX 870M 0x1199 D
+GeForce GTX 760 0x1199 0xD001 D
+GeForce GTX 860M 0x119A D
+GeForce GTX 775M 0x119D D
+GeForce GTX 780M 0x119E D
+GeForce GTX 780M 0x119F D
+GeForce GTX 680M 0x11A0 D
+GeForce GTX 670MX 0x11A1 D
+GeForce GTX 675MX 0x11A2 D
+GeForce GTX 680MX 0x11A3 D
+GeForce GTX 675MX 0x11A7 D
+GeForce GTX 660 0x11C0 D
+GeForce GTX 650 Ti BOOST 0x11C2 D
+GeForce GTX 650 Ti 0x11C3 D
+GeForce GTX 645 0x11C4 D
+GeForce GT 740 0x11C5 D
+GeForce GTX 650 Ti 0x11C6 D
+GeForce GTX 650 0x11C8 D
+GeForce GTX 770M 0x11E0 D
+GeForce GTX 765M 0x11E1 D
+GeForce GTX 765M 0x11E2 D
+GeForce GTX 760M 0x11E3 D
+GeForce GTX 760A 0x11E3 0x3683 D
+GeForce GTX 560 Ti 0x1200 C
+GeForce GTX 560 0x1201 C
+GeForce GTX 460 SE v2 0x1203 C
+GeForce GTX 460 v2 0x1205 C
+GeForce GTX 555 0x1206 C
+GeForce GT 645 0x1207 C
+GeForce GTX 560 SE 0x1208 C
+GeForce GTX 570M 0x1210 C
+GeForce GTX 580M 0x1211 C
+GeForce GTX 675M 0x1212 C
+GeForce GTX 670M 0x1213 C
+GeForce GT 545 0x1241 C
+GeForce GT 545 0x1243 C
+GeForce GTX 550 Ti 0x1244 C
+GeForce GTS 450 0x1245 C
+GeForce GT 550M 0x1246 C
+GeForce GT 555M 0x1247 C
+GeForce GT 635M 0x1247 0x212A C
+GeForce GT 635M 0x1247 0x212B C
+GeForce GT 635M 0x1247 0x212C C
+GeForce GT 555M 0x1248 C
+GeForce GTS 450 0x1249 C
+GeForce GT 640 0x124B C
+GeForce GT 555M 0x124D C
+GeForce GT 635M 0x124D 0x10CC C
+GeForce GTX 560M 0x1251 C
+GeForce GT 635 0x1280 D
+GeForce GT 710 0x1281 D
+GeForce GT 640 0x1282 C
+GeForce GT 630 0x1284 C
+GeForce GT 720 0x1286 D
+GeForce GT 730 0x1287 C
+GeForce GT 720 0x1288 D
+GeForce GT 730M 0x1290 D
+GeForce 730A 0x1290 0x2AFA D
+GeForce GT 735M 0x1291 D
+GeForce GT 740M 0x1292 D
+GeForce GT 740A 0x1292 0x3675 D
+GeForce GT 740A 0x1292 0x3684 D
+GeForce GT 730M 0x1293 D
+GeForce 710M 0x1295 D
+GeForce 710A 0x1295 0x2B0D C
+GeForce 710A 0x1295 0x2B0F C
+GeForce 810A 0x1295 0x2B20 D
+GeForce 810A 0x1295 0x2B21 D
+GeForce 825M 0x1296 D
+GeForce GT 720M 0x1298 C
+GeForce 830M 0x1340 E
+GeForce 830A 0x1340 0x2B2B E
+GeForce 840M 0x1341 E
+GeForce 840A 0x1341 0x3697 E
+GeForce 840A 0x1341 0x3699 E
+GeForce 840A 0x1341 0x369C E
+GeForce GTX 750 Ti 0x1380 E
+GeForce GTX 750 0x1381 E
+GeForce GTX 745 0x1382 E
+GeForce 845M 0x1390 E
+GeForce GTX 850M 0x1391 E
+GeForce GTX 850A 0x1391 0x3697 E
+GeForce GTX 860M 0x1392 E
+GeForce GTX 750 Ti 0x1392 0x861E E
+GeForce 840M 0x1393 E
+
+NVIDIA Quadro GPUs
+NVIDIA GPU product Device PCI ID* VDPAU features
+Quadro FX 5600 0x019D -
+Quadro FX 4600 0x019E -
+Quadro FX 370 0x040A A
+Quadro FX 570M 0x040C A
+Quadro FX 1600M 0x040D A
+Quadro FX 570 0x040E A
+Quadro FX 1700 0x040F A
+Quadro FX 360M 0x042D A
+Quadroplex 2200 D2 0x05ED A
+Quadroplex 2200 S4 0x05F8 A
+Quadro CX 0x05F9 A
+Quadro FX 5800 0x05FD A
+Quadro FX 4800 0x05FE A
+Quadro FX 3800 0x05FF A
+Quadro FX 4700 X2 0x0619 A
+Quadro FX 3700 0x061A A
+Quadro VX 200 0x061B A
+Quadro FX 3600M 0x061C A
+Quadro FX 2800M 0x061D A
+Quadro FX 3700M 0x061E A
+Quadro FX 3800M 0x061F A
+Quadro FX 1800 0x0638 A
+Quadro FX 2700M 0x063A A
+Quadro FX 380 0x0658 A
+Quadro FX 580 0x0659 A
+Quadro FX 1700M 0x065A A
+Quadro FX 770M 0x065C A
+Quadro 6000 0x06D8 C
+Quadro 5000 0x06D9 C
+Quadro 5000M 0x06DA C
+Quadro 6000 0x06DC C
+Quadro 4000 0x06DD C
+Quadro FX 370 LP 0x06F9 B 1
+Quadro FX 370 Low Profile 0x06F9 0x060D B 1
+Quadro FX 370M 0x06FB B 1
+HICx16 + Graphics 0x06FF B 1
+HICx8 + Graphics 0x06FF 0x0711 B 1
+Quadro 400 0x0A38 C
+Quadro FX 880M 0x0A3C C
+Quadro FX 380 LP 0x0A78 C
+Quadro FX 380M 0x0A7C C
+Quadro FX 1800M 0x0CBC C
+Quadro 2000 0x0DD8 C
+Quadro 2000D 0x0DD8 0x0914 C
+Quadro 2000M 0x0DDA C
+Quadro 600 0x0DF8 C
+Quadro 500M 0x0DF9 C
+Quadro 1000M 0x0DFA C
+Quadro 3000M 0x0E3A C
+Quadro 4000M 0x0E3B C
+Quadro K420 0x0FF3 D
+Quadro K1100M 0x0FF6 D
+Quadro K500M 0x0FF8 D
+Quadro K2000D 0x0FF9 D
+Quadro K600 0x0FFA D
+Quadro K2000M 0x0FFB D
+Quadro K1000M 0x0FFC D
+Quadro K2000 0x0FFE D
+Quadro 410 0x0FFF D
+Quadro K6000 0x103A D
+Quadro K5200 0x103C D
+Quadro 5010M 0x109A C
+Quadro 7000 0x109B C
+Quadro K4200 0x11B4 D
+Quadro K3100M 0x11B6 D
+Quadro K4100M 0x11B7 D
+Quadro K5100M 0x11B8 D
+Quadro K5000 0x11BA D
+Quadro K5000M 0x11BC D
+Quadro K4000M 0x11BD D
+Quadro K3000M 0x11BE D
+Quadro K4000 0x11FA D
+Quadro K2100M 0x11FC D
+Quadro K610M 0x12B9 D
+Quadro K510M 0x12BA D
+Quadro K2200 0x13BA E
+Quadro K620 0x13BB E
+
+NVIDIA NVS GPUs
+NVIDIA GPU product Device PCI ID* VDPAU features
+Quadro NVS 320M 0x040B A
+Quadro NVS 140M 0x0429 A
+Quadro NVS 130M 0x042A A
+Quadro NVS 135M 0x042B A
+Quadro NVS 290 0x042F A
+Quadro NVS 150M 0x06EA B 1
+Quadro NVS 160M 0x06EB B 1
+Quadro NVS 420 0x06F8 B 1
+Quadro NVS 450 0x06FA B 1
+Quadro NVS 295 0x06FD B 1
+NVS 5100M 0x0A2C C
+NVS 2100M 0x0A6A C
+NVS 3100M 0x0A6C C
+NVS 5400M 0x0DEF C
+NVS 5200M 0x0DFC C
+NVS 510 0x0FFD D
+NVS 4200M 0x1056 D
+NVS 4200M 0x1057 D
+NVS 315 0x107C D
+NVS 310 0x107D D
+NVS 300 0x10D8 C
+NVS 5200M 0x1140 0x10DD C
+NVS 5200M 0x1140 0x10ED C
+NVS 5200M 0x1140 0x2136 C
+NVS 5200M 0x1140 0x2200 C
+NVS 5200M 0x1140 0xC0E2 C
+NVS 5200M 0x1140 0xC0E3 C
+NVS 5200M 0x1140 0xC0E4 C
+
+NVIDIA Tesla GPUs
+NVIDIA GPU product Device PCI ID* VDPAU features
+Tesla C870 0x0197 -
+Tesla C1060 0x05E7 A
+Tesla T10 Processor 0x05E7 0x0595 A
+Tesla T10 Processor 0x05E7 0x068F A
+Tesla M1060 0x05E7 0x0697 A
+Tesla M1060 0x05E7 0x0714 A
+Tesla M1060 0x05E7 0x0743 A
+Tesla C2050 / C2070 0x06D1 C
+Tesla C2050 0x06D1 0x0771 C
+Tesla C2070 0x06D1 0x0772 C
+Tesla M2070 0x06D2 C
+Tesla X2070 0x06D2 0x088F C
+Tesla T20 Processor 0x06DE C
+Tesla S2050 0x06DE 0x0773 C
+Tesla M2050 0x06DE 0x082F C
+Tesla X2070 0x06DE 0x0840 C
+Tesla M2050 0x06DE 0x0842 C
+Tesla M2050 0x06DE 0x0846 C
+Tesla M2050 0x06DE 0x0866 C
+Tesla M2050 0x06DE 0x0907 C
+Tesla M2050 0x06DE 0x091E C
+Tesla M2070-Q 0x06DF C
+Tesla K20Xm 0x1021 D
+Tesla K20c 0x1022 D
+Tesla K40m 0x1023 D
+Tesla K40c 0x1024 D
+Tesla K20s 0x1026 D
+Tesla K40st 0x1027 D
+Tesla K20m 0x1028 D
+Tesla K40s 0x1029 D
+Tesla M2090 0x1091 C
+Tesla X2090 0x1091 0x088E C
+Tesla X2090 0x1091 0x0891 C
+Tesla X2090 0x1091 0x0974 C
+Tesla X2090 0x1091 0x098D C
+Tesla M2075 0x1094 C
+Tesla C2075 0x1096 C
+Tesla C2050 0x1096 0x0911 C
+Tesla K10 0x118F D
+Tesla K8 0x1194 D
+
+NVIDIA GRID GPUs
+NVIDIA GPU product Device PCI ID* VDPAU features
+GRID K340 0x0FEF D
+GRID K1 0x0FF2 D
+GRID K520 0x118A D
+GRID K2 0x11BF D
diff --git a/abs/core/system-templates/templates/xorg/nvidia_supported.txt b/abs/core/system-templates/templates/xorg/nvidia_supported.txt
index 33a4dcf..d214749 100644
--- a/abs/core/system-templates/templates/xorg/nvidia_supported.txt
+++ b/abs/core/system-templates/templates/xorg/nvidia_supported.txt
@@ -1,63 +1,62 @@
-#http://us.download.nvidia.com/XFree86/Linux-x86_64/364.19/README/supportedchips.html
+#http://us.download.nvidia.com/XFree86/Linux-x86_64/387.22/README/supportedchips.html
#NVIDIA GeForce GPUs
-
#NVIDIA GPU product Device PCI ID* VDPAU features
-GeForce GTX 480 06C0 C
-GeForce GTX 465 06C4 C
+GeForce GTX 480 06C0 C
+GeForce GTX 465 06C4 C
GeForce GTX 480M 06CA C
-GeForce GTX 470 06CD C
+GeForce GTX 470 06CD C
GeForce GT 440 0DC0 C
-GeForce GTS 450 0DC4 C
-GeForce GTS 450 0DC5 C
-GeForce GTS 450 0DC6 C
-GeForce GT 555M 0DCD C
-GeForce GT 555M 0DCE C
+GeForce GTS 450 0DC4 C
+GeForce GTS 450 0DC5 C
+GeForce GTS 450 0DC6 C
+GeForce GT 555M 0DCD C
+GeForce GT 555M 0DCE C
GeForce GTX 460M 0DD1 C
-GeForce GT 445M 0DD2 C
-GeForce GT 435M 0DD3 C
-GeForce GT 550M 0DD6 C
+GeForce GT 445M 0DD2 C
+GeForce GT 435M 0DD3 C
+GeForce GT 550M 0DD6 C
GeForce GT 440 0DE0 C
GeForce GT 430 0DE1 C
GeForce GT 420 0DE2 C
-GeForce GT 635M 0DE3 C
+GeForce GT 635M 0DE3 C
GeForce GT 520 0DE4 C
GeForce GT 530 0DE5 C
GeForce GT 610 0DE7 C
-GeForce GT 620M 0DE8 C
-GeForce GT 630M 0DE9 C
-GeForce GT 620M 0DE9 1025 0692 C
-GeForce GT 620M 0DE9 1025 0725 C
-GeForce GT 620M 0DE9 1025 0728 C
-GeForce GT 620M 0DE9 1025 072B C
-GeForce GT 620M 0DE9 1025 072E C
-GeForce GT 620M 0DE9 1025 0753 C
-GeForce GT 620M 0DE9 1025 0754 C
+GeForce GT 620M 0DE8 C
+GeForce GT 630M 0DE9 C
+GeForce GT 620M 0DE9 1025 0692 C
+GeForce GT 620M 0DE9 1025 0725 C
+GeForce GT 620M 0DE9 1025 0728 C
+GeForce GT 620M 0DE9 1025 072B C
+GeForce GT 620M 0DE9 1025 072E C
+GeForce GT 620M 0DE9 1025 0753 C
+GeForce GT 620M 0DE9 1025 0754 C
GeForce GT 640M LE 0DE9 17AA 3977 C
-GeForce GT 635M 0DE9 1B0A 2210 C
+GeForce GT 635M 0DE9 1B0A 2210 C
GeForce 610M 0DEA C
-GeForce 615 0DEA 17AA 365A C
-GeForce 615 0DEA 17AA 365B C
-GeForce 615 0DEA 17AA 365E C
-GeForce 615 0DEA 17AA 3660 C
-GeForce 615 0DEA 17AA 366C C
-GeForce GT 555M 0DEB C
-GeForce GT 525M 0DEC C
-GeForce GT 520M 0DED C
-GeForce GT 415M 0DEE C
-GeForce GT 425M 0DF0 C
-GeForce GT 420M 0DF1 C
-GeForce GT 435M 0DF2 C
-GeForce GT 420M 0DF3 C
-GeForce GT 540M 0DF4 C
-GeForce GT 630M 0DF4 152D 0952 C
-GeForce GT 630M 0DF4 152D 0953 C
-GeForce GT 525M 0DF5 C
-GeForce GT 550M 0DF6 C
-GeForce GT 520M 0DF7 C
-GeForce GTX 460 0E22 C
+GeForce 615 0DEA 17AA 365A C
+GeForce 615 0DEA 17AA 365B C
+GeForce 615 0DEA 17AA 365E C
+GeForce 615 0DEA 17AA 3660 C
+GeForce 615 0DEA 17AA 366C C
+GeForce GT 555M 0DEB C
+GeForce GT 525M 0DEC C
+GeForce GT 520M 0DED C
+GeForce GT 415M 0DEE C
+GeForce GT 425M 0DF0 C
+GeForce GT 420M 0DF1 C
+GeForce GT 435M 0DF2 C
+GeForce GT 420M 0DF3 C
+GeForce GT 540M 0DF4 C
+GeForce GT 630M 0DF4 152D 0952 C
+GeForce GT 630M 0DF4 152D 0953 C
+GeForce GT 525M 0DF5 C
+GeForce GT 550M 0DF6 C
+GeForce GT 520M 0DF7 C
+GeForce GTX 460 0E22 C
GeForce GTX 460 SE 0E23 C
-GeForce GTX 460 0E24 C
+GeForce GTX 460 0E24 C
GeForce GTX 470M 0E30 C
GeForce GTX 485M 0E31 C
GeForce GT 630 0F00 C
@@ -67,43 +66,43 @@ GeForce GT 610 0F03 C
GeForce GT 640 0FC0 C
GeForce GT 640 0FC1 C
GeForce GT 630 0FC2 C
-GeForce GTX 650 0FC6 D
+GeForce GTX 650 0FC6 D
GeForce GT 740 0FC8 D
GeForce GT 730 0FC9 C
-GeForce GT 755M 0FCD D
+GeForce GT 755M 0FCD D
GeForce GT 640M LE 0FCE C
-GeForce GT 650M 0FD1 D
-GeForce GT 640M 0FD2 D
+GeForce GT 650M 0FD1 D
+GeForce GT 640M 0FD2 D
GeForce GT 640M LE 0FD2 1028 0595 C
GeForce GT 640M LE 0FD2 1028 05B2 C
GeForce GT 640M LE 0FD3 C
GeForce GTX 660M 0FD4 D
-GeForce GT 650M 0FD5 D
-GeForce GT 640M 0FD8 D
-GeForce GT 645M 0FD9 D
-GeForce GT 740M 0FDF D
+GeForce GT 650M 0FD5 D
+GeForce GT 640M 0FD8 D
+GeForce GT 645M 0FD9 D
+GeForce GT 740M 0FDF D
GeForce GTX 660M 0FE0 D
-GeForce GT 730M 0FE1 D
-GeForce GT 745M 0FE2 D
-GeForce GT 745M 0FE3 D
-GeForce GT 745A 0FE3 103C 2B16 D
-GeForce GT 745A 0FE3 17AA 3675 D
-GeForce GT 750M 0FE4 D
-GeForce GT 750M 0FE9 D
-GeForce GT 755M 0FEA D
+GeForce GT 730M 0FE1 D
+GeForce GT 745M 0FE2 D
+GeForce GT 745M 0FE3 D
+GeForce GT 745A 0FE3 103C 2B16 D
+GeForce GT 745A 0FE3 17AA 3675 D
+GeForce GT 750M 0FE4 D
+GeForce GT 750M 0FE9 D
+GeForce GT 755M 0FEA D
GeForce 710A 0FEC C
GeForce 820M 0FED C
GeForce 810M 0FEE C
-GeForce GTX TITAN Z 1001 D
-GeForce GTX 780 1004 D
+GeForce GTX TITAN Z 1001 D
+GeForce GTX 780 1004 D
GeForce GTX TITAN 1005 D
-GeForce GTX 780 1007 D
+GeForce GTX 780 1007 D
GeForce GTX 780 Ti 1008 D
GeForce GTX 780 Ti 100A D
-GeForce GTX TITAN Black 100C D
+GeForce GTX TITAN Black 100C D
GeForce GT 520 1040 C
-GeForce 510 1042 D
-GeForce 605 1048 D
+GeForce 510 1042 D
+GeForce 605 1048 D
GeForce GT 620 1049 C
GeForce GT 610 104A C
GeForce GT 625 (OEM) 104B D
@@ -113,13 +112,13 @@ GeForce GT 625 104B 1462 B590 D
GeForce GT 625 104B 174B 0625 D
GeForce GT 625 104B 174B A625 D
GeForce GT 705 104C D
-GeForce GT 520M 1050 C
+GeForce GT 520M 1050 C
GeForce GT 520MX 1051 D
-GeForce GT 520M 1052 C
+GeForce GT 520M 1052 C
GeForce 410M 1054 D
GeForce 410M 1055 D
GeForce 610M 1058 C
-GeForce 610 1058 103C 2AF1 D
+GeForce 610 1058 103C 2AF1 D
GeForce 800A 1058 17AA 3682 D
GeForce 705A 1058 17AA 3692 C
GeForce 800A 1058 17AA 3695 D
@@ -131,61 +130,62 @@ GeForce 610M 1059 C
GeForce 610M 105A C
GeForce 705M 105B C
GeForce 705A 105B 103C 2AFB C
+GeForce 800A 105B 17AA 30B1 D
GeForce 705A 105B 17AA 30F3 C
GeForce 800A 105B 17AA 36A1 D
-GeForce GTX 580 1080 C
-GeForce GTX 570 1081 C
+GeForce GTX 580 1080 C
+GeForce GTX 570 1081 C
GeForce GTX 560 Ti 1082 C
-GeForce GTX 560 1084 C
-GeForce GTX 570 1086 C
+GeForce GTX 560 1084 C
+GeForce GTX 570 1086 C
GeForce GTX 560 Ti 1087 C
-GeForce GTX 590 1088 C
-GeForce GTX 580 1089 C
-GeForce GTX 580 108B C
+GeForce GTX 590 1088 C
+GeForce GTX 580 1089 C
+GeForce GTX 580 108B C
GeForce 820M 1140 1019 0799 C
-GeForce GT 720M 1140 1019 999F C
-GeForce GT 620M 1140 1025 0600 C
-GeForce GT 620M 1140 1025 0606 C
-GeForce GT 620M 1140 1025 064A C
-GeForce GT 620M 1140 1025 064C C
-GeForce GT 620M 1140 1025 067A C
-GeForce GT 620M 1140 1025 0680 C
+GeForce GT 720M 1140 1019 999F C
+GeForce GT 620M 1140 1025 0600 C
+GeForce GT 620M 1140 1025 0606 C
+GeForce GT 620M 1140 1025 064A C
+GeForce GT 620M 1140 1025 064C C
+GeForce GT 620M 1140 1025 067A C
+GeForce GT 620M 1140 1025 0680 C
GeForce 710M 1140 1025 0686 C
GeForce 710M 1140 1025 0689 C
GeForce 710M 1140 1025 068B C
GeForce 710M 1140 1025 068D C
GeForce 710M 1140 1025 068E C
GeForce 710M 1140 1025 0691 C
-GeForce GT 620M 1140 1025 0692 C
-GeForce GT 620M 1140 1025 0694 C
-GeForce GT 620M 1140 1025 0702 C
-GeForce GT 620M 1140 1025 0719 C
-GeForce GT 620M 1140 1025 0725 C
-GeForce GT 620M 1140 1025 0728 C
-GeForce GT 620M 1140 1025 072B C
-GeForce GT 620M 1140 1025 072E C
-GeForce GT 620M 1140 1025 0732 C
-GeForce GT 720M 1140 1025 0763 C
+GeForce GT 620M 1140 1025 0692 C
+GeForce GT 620M 1140 1025 0694 C
+GeForce GT 620M 1140 1025 0702 C
+GeForce GT 620M 1140 1025 0719 C
+GeForce GT 620M 1140 1025 0725 C
+GeForce GT 620M 1140 1025 0728 C
+GeForce GT 620M 1140 1025 072B C
+GeForce GT 620M 1140 1025 072E C
+GeForce GT 620M 1140 1025 0732 C
+GeForce GT 720M 1140 1025 0763 C
GeForce 710M 1140 1025 0773 C
GeForce 710M 1140 1025 0774 C
-GeForce GT 720M 1140 1025 0776 C
+GeForce GT 720M 1140 1025 0776 C
GeForce 710M 1140 1025 077A C
GeForce 710M 1140 1025 077B C
GeForce 710M 1140 1025 077C C
GeForce 710M 1140 1025 077D C
GeForce 710M 1140 1025 077E C
GeForce 710M 1140 1025 077F C
-GeForce GT 720M 1140 1025 0781 C
-GeForce GT 720M 1140 1025 0798 C
-GeForce GT 720M 1140 1025 0799 C
-GeForce GT 720M 1140 1025 079B C
-GeForce GT 720M 1140 1025 079C C
-GeForce GT 720M 1140 1025 0807 C
+GeForce GT 720M 1140 1025 0781 C
+GeForce GT 720M 1140 1025 0798 C
+GeForce GT 720M 1140 1025 0799 C
+GeForce GT 720M 1140 1025 079B C
+GeForce GT 720M 1140 1025 079C C
+GeForce GT 720M 1140 1025 0807 C
GeForce 820M 1140 1025 0821 C
-GeForce GT 720M 1140 1025 0823 C
-GeForce GT 720M 1140 1025 0830 C
-GeForce GT 720M 1140 1025 0833 C
-GeForce GT 720M 1140 1025 0837 C
+GeForce GT 720M 1140 1025 0823 C
+GeForce GT 720M 1140 1025 0830 C
+GeForce GT 720M 1140 1025 0833 C
+GeForce GT 720M 1140 1025 0837 C
GeForce 820M 1140 1025 083E C
GeForce 710M 1140 1025 0841 C
GeForce 820M 1140 1025 0853 C
@@ -216,27 +216,27 @@ GeForce 820M 1140 1025 0941 C
GeForce 820M 1140 1025 0945 C
GeForce 820M 1140 1025 0954 C
GeForce 820M 1140 1025 0965 C
-GeForce GT 630M 1140 1028 054D C
-GeForce GT 630M 1140 1028 054E C
-GeForce GT 620M 1140 1028 0554 C
-GeForce GT 620M 1140 1028 0557 C
-GeForce GT625M 1140 1028 0562 C
-GeForce GT 630M 1140 1028 0565 C
-GeForce GT 630M 1140 1028 0568 C
-GeForce GT 630M 1140 1028 0590 C
-GeForce GT625M 1140 1028 0592 C
-GeForce GT625M 1140 1028 0594 C
-GeForce GT625M 1140 1028 0595 C
-GeForce GT625M 1140 1028 05A2 C
-GeForce GT625M 1140 1028 05B1 C
-GeForce GT625M 1140 1028 05B3 C
-GeForce GT 630M 1140 1028 05DA C
-GeForce GT 720M 1140 1028 05DE C
-GeForce GT 720M 1140 1028 05E0 C
-GeForce GT 630M 1140 1028 05E8 C
-GeForce GT 720M 1140 1028 05F4 C
-GeForce GT 720M 1140 1028 060F C
-GeForce GT 720M 1140 1028 062F C
+GeForce GT 630M 1140 1028 054D C
+GeForce GT 630M 1140 1028 054E C
+GeForce GT 620M 1140 1028 0554 C
+GeForce GT 620M 1140 1028 0557 C
+GeForce GT 625M 1140 1028 0562 C
+GeForce GT 630M 1140 1028 0565 C
+GeForce GT 630M 1140 1028 0568 C
+GeForce GT 630M 1140 1028 0590 C
+GeForce GT 625M 1140 1028 0592 C
+GeForce GT 625M 1140 1028 0594 C
+GeForce GT 625M 1140 1028 0595 C
+GeForce GT 625M 1140 1028 05A2 C
+GeForce GT 625M 1140 1028 05B1 C
+GeForce GT 625M 1140 1028 05B3 C
+GeForce GT 630M 1140 1028 05DA C
+GeForce GT 720M 1140 1028 05DE C
+GeForce GT 720M 1140 1028 05E0 C
+GeForce GT 630M 1140 1028 05E8 C
+GeForce GT 720M 1140 1028 05F4 C
+GeForce GT 720M 1140 1028 060F C
+GeForce GT 720M 1140 1028 062F C
GeForce 820M 1140 1028 064E C
GeForce 820M 1140 1028 0652 C
GeForce 820M 1140 1028 0653 C
@@ -250,11 +250,11 @@ GeForce 820M 1140 1028 06AF C
GeForce 820M 1140 1028 06B0 C
GeForce 820M 1140 1028 06C0 C
GeForce 820M 1140 1028 06C1 C
-GeForce GT 630M 1140 103C 18EF C
-GeForce GT 630M 1140 103C 18F9 C
-GeForce GT 630M 1140 103C 18FB C
-GeForce GT 630M 1140 103C 18FD C
-GeForce GT 630M 1140 103C 18FF C
+GeForce GT 630M 1140 103C 18EF C
+GeForce GT 630M 1140 103C 18F9 C
+GeForce GT 630M 1140 103C 18FB C
+GeForce GT 630M 1140 103C 18FD C
+GeForce GT 630M 1140 103C 18FF C
GeForce 820M 1140 103C 218A C
GeForce 820M 1140 103C 21BB C
GeForce 820M 1140 103C 21BC C
@@ -271,15 +271,15 @@ GeForce 820M 1140 103C 22D2 C
GeForce 820M 1140 103C 22D9 C
GeForce 820M 1140 103C 2335 C
GeForce 820M 1140 103C 2337 C
-GeForce GT 720A 1140 103C 2AEF C
+GeForce GT 720A 1140 103C 2AEF C
GeForce 710A 1140 103C 2AF9 C
-GeForce GT 720M 1140 1043 11FD C
-GeForce GT 720M 1140 1043 124D C
-GeForce GT 720M 1140 1043 126D C
-GeForce GT 720M 1140 1043 131D C
-GeForce GT 720M 1140 1043 13FD C
-GeForce GT 720M 1140 1043 14C7 C
-GeForce GT 620M 1140 1043 1507 C
+GeForce GT 720M 1140 1043 11FD C
+GeForce GT 720M 1140 1043 124D C
+GeForce GT 720M 1140 1043 126D C
+GeForce GT 720M 1140 1043 131D C
+GeForce GT 720M 1140 1043 13FD C
+GeForce GT 720M 1140 1043 14C7 C
+GeForce GT 620M 1140 1043 1507 C
GeForce 820M 1140 1043 15AD C
GeForce 820M 1140 1043 15ED C
GeForce 820M 1140 1043 160D C
@@ -292,13 +292,13 @@ GeForce 820M 1140 1043 170D C
GeForce 820M 1140 1043 176D C
GeForce 820M 1140 1043 178D C
GeForce 820M 1140 1043 179D C
-GeForce GT 620M 1140 1043 2132 C
-GeForce GT 720M 1140 1043 21BA C
-GeForce GT 720M 1140 1043 21FA C
-GeForce GT 720M 1140 1043 220A C
-GeForce GT 720M 1140 1043 221A C
-GeForce GT 710M 1140 1043 223A C
-GeForce GT 710M 1140 1043 224A C
+GeForce GT 620M 1140 1043 2132 C
+GeForce GT 720M 1140 1043 21BA C
+GeForce GT 720M 1140 1043 21FA C
+GeForce GT 720M 1140 1043 220A C
+GeForce GT 720M 1140 1043 221A C
+GeForce GT 710M 1140 1043 223A C
+GeForce GT 710M 1140 1043 224A C
GeForce 820M 1140 1043 227A C
GeForce 820M 1140 1043 228A C
GeForce 820M 1140 1043 22FA C
@@ -307,11 +307,11 @@ GeForce 820M 1140 1043 233A C
GeForce 820M 1140 1043 235A C
GeForce 820M 1140 1043 236A C
GeForce 820M 1140 1043 238A C
-GeForce GT 720M 1140 1043 8595 C
-GeForce GT 720M 1140 1043 85EA C
+GeForce GT 720M 1140 1043 8595 C
+GeForce GT 720M 1140 1043 85EA C
GeForce 820M 1140 1043 85EB C
GeForce 820M 1140 1043 85EC C
-GeForce GT 720M 1140 1043 85EE C
+GeForce GT 720M 1140 1043 85EE C
GeForce 820M 1140 1043 85F3 C
GeForce 820M 1140 1043 860E C
GeForce 820M 1140 1043 861A C
@@ -322,10 +322,10 @@ GeForce 820M 1140 1043 864C C
GeForce 820M 1140 1043 8652 C
GeForce 820M 1140 1043 8660 C
GeForce 820M 1140 1043 8661 C
-GeForce GT 720M 1140 105B 0DAC C
-GeForce GT 720M 1140 105B 0DAD C
-GeForce GT 720M 1140 105B 0EF3 C
-GeForce GT 720M 1140 10CF 17F5 C
+GeForce GT 720M 1140 105B 0DAC C
+GeForce GT 720M 1140 105B 0DAD C
+GeForce GT 720M 1140 105B 0EF3 C
+GeForce GT 720M 1140 10CF 17F5 C
GeForce 710M 1140 1179 FA01 C
GeForce 710M 1140 1179 FA02 C
GeForce 710M 1140 1179 FA03 C
@@ -350,50 +350,50 @@ GeForce 710M 1140 1179 FA58 C
GeForce 710M 1140 1179 FA59 C
GeForce 710M 1140 1179 FA88 C
GeForce 710M 1140 1179 FA89 C
-GeForce GT 620M 1140 144D B092 C
-GeForce GT 630M 1140 144D C0D5 C
-GeForce GT 620M 1140 144D C0D7 C
+GeForce GT 620M 1140 144D B092 C
+GeForce GT 630M 1140 144D C0D5 C
+GeForce GT 620M 1140 144D C0D7 C
GeForce 820M 1140 144D C10D C
-GeForce GT 620M 1140 144D C652 C
+GeForce GT 620M 1140 144D C652 C
GeForce 710M 1140 144D C709 C
GeForce 710M 1140 144D C711 C
GeForce 710M 1140 144D C736 C
GeForce 710M 1140 144D C737 C
GeForce 820M 1140 144D C745 C
GeForce 820M 1140 144D C750 C
-GeForce GT 710M 1140 1462 10B8 C
-GeForce GT 720M 1140 1462 10E9 C
+GeForce GT 710M 1140 1462 10B8 C
+GeForce GT 720M 1140 1462 10E9 C
GeForce 820M 1140 1462 1116 C
GeForce 720M 1140 1462 AA33 C
-GeForce GT 720M 1140 1462 AAA2 C
+GeForce GT 720M 1140 1462 AAA2 C
GeForce 820M 1140 1462 AAA3 C
-GeForce GT 720M 1140 1462 ACB2 C
-GeForce GT 720M 1140 1462 ACC1 C
+GeForce GT 720M 1140 1462 ACB2 C
+GeForce GT 720M 1140 1462 ACC1 C
GeForce 720M 1140 1462 AE61 C
-GeForce GT 720M 1140 1462 AE65 C
+GeForce GT 720M 1140 1462 AE65 C
GeForce 820M 1140 1462 AE6A C
-GeForce GT 720M 1140 1462 AE71 C
+GeForce GT 720M 1140 1462 AE71 C
GeForce 820M 1140 14C0 0083 C
GeForce 620M 1140 152D 0926 C
-GeForce GT 630M 1140 152D 0982 C
-GeForce GT 630M 1140 152D 0983 C
-GeForce GT820M 1140 152D 1005 C
+GeForce GT 630M 1140 152D 0982 C
+GeForce GT 630M 1140 152D 0983 C
+GeForce GT 820M 1140 152D 1005 C
GeForce 710M 1140 152D 1012 C
GeForce 820M 1140 152D 1019 C
-GeForce GT 630M 1140 152D 1030 C
+GeForce GT 630M 1140 152D 1030 C
GeForce 710M 1140 152D 1055 C
-GeForce GT 720M 1140 152D 1067 C
+GeForce GT 720M 1140 152D 1067 C
GeForce 820M 1140 152D 1092 C
-GeForce GT 720M 1140 17AA 2213 C
-GeForce GT 720M 1140 17AA 2220 C
-GeForce GT 720A 1140 17AA 309C C
+GeForce GT 720M 1140 17AA 2213 C
+GeForce GT 720M 1140 17AA 2220 C
+GeForce GT 720A 1140 17AA 309C C
GeForce 820A 1140 17AA 30B4 C
GeForce 720A 1140 17AA 30B7 C
GeForce 820A 1140 17AA 30E4 C
GeForce 820A 1140 17AA 361B C
GeForce 820A 1140 17AA 361C C
GeForce 820A 1140 17AA 361D C
-GeForce GT620M 1140 17AA 3656 C
+GeForce GT 620M 1140 17AA 3656 C
GeForce 705M 1140 17AA 365A C
GeForce 800M 1140 17AA 365E C
GeForce 820A 1140 17AA 3661 C
@@ -412,17 +412,17 @@ GeForce 820A 1140 17AA 36A9 C
GeForce 820A 1140 17AA 36AF C
GeForce 820A 1140 17AA 36B0 C
GeForce 820A 1140 17AA 36B6 C
-GeForce GT 720M 1140 17AA 3800 C
-GeForce GT 720M 1140 17AA 3801 C
-GeForce GT 720M 1140 17AA 3802 C
-GeForce GT 720M 1140 17AA 3803 C
-GeForce GT 720M 1140 17AA 3804 C
-GeForce GT 720M 1140 17AA 3806 C
-GeForce GT 720M 1140 17AA 3808 C
-GeForce 820M 1140 17AA 380D C
-GeForce 820M 1140 17AA 380E C
-GeForce 820M 1140 17AA 380F C
-GeForce 820M 1140 17AA 3811 C
+GeForce GT 720M 1140 17AA 3800 C
+GeForce GT 720M 1140 17AA 3801 C
+GeForce GT 720M 1140 17AA 3802 C
+GeForce GT 720M 1140 17AA 3803 C
+GeForce GT 720M 1140 17AA 3804 C
+GeForce GT 720M 1140 17AA 3806 C
+GeForce GT 720M 1140 17AA 3808 C
+GeForce GT 820M 1140 17AA 380D C
+GeForce GT 820M 1140 17AA 380E C
+GeForce GT 820M 1140 17AA 380F C
+GeForce GT 820M 1140 17AA 3811 C
GeForce 820M 1140 17AA 3812 C
GeForce 820M 1140 17AA 3813 C
GeForce 820M 1140 17AA 3816 C
@@ -434,30 +434,30 @@ GeForce 820M 1140 17AA 381D C
GeForce 610M 1140 17AA 3901 C
GeForce 710M 1140 17AA 3902 C
GeForce 710M 1140 17AA 3903 C
-GeForce GT 625M 1140 17AA 3904 C
-GeForce GT 720M 1140 17AA 3905 C
+GeForce GT 625M 1140 17AA 3904 C
+GeForce GT 720M 1140 17AA 3905 C
GeForce 820M 1140 17AA 3907 C
-GeForce GT 720M 1140 17AA 3910 C
-GeForce GT 720M 1140 17AA 3912 C
+GeForce GT 720M 1140 17AA 3910 C
+GeForce GT 720M 1140 17AA 3912 C
GeForce 820M 1140 17AA 3913 C
GeForce 820M 1140 17AA 3915 C
GeForce 610M 1140 17AA 3983 C
GeForce 610M 1140 17AA 5001 C
-GeForce GT 720M 1140 17AA 5003 C
+GeForce GT 720M 1140 17AA 5003 C
GeForce 705M 1140 17AA 5005 C
-GeForce GT 620M 1140 17AA 500D C
+GeForce GT 620M 1140 17AA 500D C
GeForce 710M 1140 17AA 5014 C
GeForce 710M 1140 17AA 5017 C
GeForce 710M 1140 17AA 5019 C
GeForce 710M 1140 17AA 501A C
-GeForce GT 720M 1140 17AA 501F C
+GeForce GT 720M 1140 17AA 501F C
GeForce 710M 1140 17AA 5025 C
GeForce 710M 1140 17AA 5027 C
GeForce 710M 1140 17AA 502A C
-GeForce GT 720M 1140 17AA 502B C
+GeForce GT 720M 1140 17AA 502B C
GeForce 710M 1140 17AA 502D C
-GeForce GT 720M 1140 17AA 502E C
-GeForce GT 720M 1140 17AA 502F C
+GeForce GT 720M 1140 17AA 502E C
+GeForce GT 720M 1140 17AA 502F C
GeForce 705M 1140 17AA 5030 C
GeForce 705M 1140 17AA 5031 C
GeForce 820M 1140 17AA 5032 C
@@ -467,35 +467,35 @@ GeForce 820M 1140 17AA 503F C
GeForce 820M 1140 17AA 5040 C
GeForce 710M 1140 1854 0177 C
GeForce 710M 1140 1854 0180 C
-GeForce GT 720M 1140 1854 0190 C
-GeForce GT 720M 1140 1854 0192 C
+GeForce GT 720M 1140 1854 0190 C
+GeForce GT 720M 1140 1854 0192 C
GeForce 820M 1140 1854 0224 C
GeForce 820M 1140 1B0A 01C0 C
-GeForce GT 620M 1140 1B0A 20DD C
-GeForce GT 620M 1140 1B0A 20DF C
+GeForce GT 620M 1140 1B0A 20DD C
+GeForce GT 620M 1140 1B0A 20DF C
GeForce 820M 1140 1B0A 210E C
-GeForce GT 720M 1140 1B0A 2202 C
+GeForce GT 720M 1140 1B0A 2202 C
GeForce 820M 1140 1B0A 90D7 C
GeForce 820M 1140 1B0A 90DD C
GeForce 820M 1140 1B50 5530 C
-GeForce GT 720M 1140 1B6C 5031 C
+GeForce GT 720M 1140 1B6C 5031 C
GeForce 820M 1140 1BAB 0106 C
GeForce 810M 1140 1D05 1013 C
-GeForce GTX 680 1180 D
+GeForce GTX 680 1180 D
GeForce GTX 660 Ti 1183 D
-GeForce GTX 770 1184 D
-GeForce GTX 660 1185 D
-GeForce GTX 760 1185 10DE 106F D
-GeForce GTX 760 1187 D
-GeForce GTX 690 1188 D
-GeForce GTX 670 1189 D
+GeForce GTX 770 1184 D
+GeForce GTX 660 1185 D
+GeForce GTX 760 1185 10DE 106F D
+GeForce GTX 760 1187 D
+GeForce GTX 690 1188 D
+GeForce GTX 670 1189 D
GeForce GTX 760 Ti OEM 1189 10DE 1074 D
GeForce GTX 760 (192-bit) 118E D
GeForce GTX 760 Ti OEM 1193 D
-GeForce GTX 660 1195 D
+GeForce GTX 660 1195 D
GeForce GTX 880M 1198 D
GeForce GTX 870M 1199 D
-GeForce GTX 760 1199 1458 D001 D
+GeForce GTX 760 1199 1458 D001 D
GeForce GTX 860M 119A D
GeForce GTX 775M 119D D
GeForce GTX 780M 119E D
@@ -505,13 +505,13 @@ GeForce GTX 670MX 11A1 D
GeForce GTX 675MX 11A2 D
GeForce GTX 680MX 11A3 D
GeForce GTX 675MX 11A7 D
-GeForce GTX 660 11C0 D
+GeForce GTX 660 11C0 D
GeForce GTX 650 Ti BOOST 11C2 D
GeForce GTX 650 Ti 11C3 D
-GeForce GTX 645 11C4 D
+GeForce GTX 645 11C4 D
GeForce GT 740 11C5 D
GeForce GTX 650 Ti 11C6 D
-GeForce GTX 650 11C8 D
+GeForce GTX 650 11C8 D
GeForce GT 740 11CB D
GeForce GTX 770M 11E0 D
GeForce GTX 765M 11E1 D
@@ -519,10 +519,10 @@ GeForce GTX 765M 11E2 D
GeForce GTX 760M 11E3 D
GeForce GTX 760A 11E3 17AA 3683 D
GeForce GTX 560 Ti 1200 C
-GeForce GTX 560 1201 C
+GeForce GTX 560 1201 C
GeForce GTX 460 SE v2 1203 C
GeForce GTX 460 v2 1205 C
-GeForce GTX 555 1206 C
+GeForce GTX 555 1206 C
GeForce GT 645 1207 C
GeForce GTX 560 SE 1208 C
GeForce GTX 570M 1210 C
@@ -532,17 +532,17 @@ GeForce GTX 670M 1213 C
GeForce GT 545 1241 C
GeForce GT 545 1243 C
GeForce GTX 550 Ti 1244 C
-GeForce GTS 450 1245 C
-GeForce GT 550M 1246 C
-GeForce GT 555M 1247 C
-GeForce GT 635M 1247 1043 212A C
-GeForce GT 635M 1247 1043 212B C
-GeForce GT 635M 1247 1043 212C C
-GeForce GT 555M 1248 C
-GeForce GTS 450 1249 C
+GeForce GTS 450 1245 C
+GeForce GT 550M 1246 C
+GeForce GT 555M 1247 C
+GeForce GT 635M 1247 1043 212A C
+GeForce GT 635M 1247 1043 212B C
+GeForce GT 635M 1247 1043 212C C
+GeForce GT 555M 1248 C
+GeForce GTS 450 1249 C
GeForce GT 640 124B C
-GeForce GT 555M 124D C
-GeForce GT 635M 124D 1462 10CC C
+GeForce GT 555M 124D C
+GeForce GT 635M 124D 1462 10CC C
GeForce GTX 560M 1251 C
GeForce GT 635 1280 D
GeForce GT 710 1281 D
@@ -553,14 +553,14 @@ GeForce GT 730 1287 C
GeForce GT 720 1288 D
GeForce GT 710 1289 D
GeForce GT 710 128B D
-GeForce GT 730M 1290 D
+GeForce GT 730M 1290 D
GeForce 730A 1290 103C 2AFA D
-GeForce GT 735M 1291 D
-GeForce GT 740M 1292 D
-GeForce GT 740A 1292 17AA 3675 D
-GeForce GT 740A 1292 17AA 367C D
-GeForce GT 740A 1292 17AA 3684 D
-GeForce GT 730M 1293 D
+GeForce GT 735M 1291 D
+GeForce GT 740M 1292 D
+GeForce GT 740A 1292 17AA 3675 D
+GeForce GT 740A 1292 17AA 367C D
+GeForce GT 740A 1292 17AA 3684 D
+GeForce GT 730M 1293 D
GeForce 710M 1295 D
GeForce 710A 1295 103C 2B0D C
GeForce 710A 1295 103C 2B0F C
@@ -569,13 +569,14 @@ GeForce 810A 1295 103C 2B21 D
GeForce 805A 1295 17AA 367A D
GeForce 710A 1295 17AA 367C D
GeForce 825M 1296 D
-GeForce GT 720M 1298 C
+GeForce GT 720M 1298 C
GeForce 920M 1299 D
GeForce 920A 1299 17AA 30BB D
GeForce 920A 1299 17AA 30DA D
GeForce 920A 1299 17AA 30DC D
GeForce 920A 1299 17AA 30DD D
GeForce 920A 1299 17AA 30DF D
+GeForce 920A 1299 17AA 3117 D
GeForce 920A 1299 17AA 361B D
GeForce 920A 1299 17AA 362D D
GeForce 920A 1299 17AA 362E D
@@ -584,6 +585,7 @@ GeForce 920A 1299 17AA 3637 D
GeForce 920A 1299 17AA 369B D
GeForce 920A 1299 17AA 36A7 D
GeForce 920A 1299 17AA 36AF D
+GeForce 920A 1299 17AA 36F0 D
GeForce GT 730 1299 1B0A 01C6 C
GeForce 910M 129A D
GeForce 830M 1340 E
@@ -605,20 +607,25 @@ GeForce 940A 1347 17AA 36BA E
GeForce 945M 1348 E
GeForce 945A 1348 103C 2B5C E
GeForce 930M 1349 E
+GeForce 930A 1349 17AA 3124 E
+GeForce 930A 1349 17AA 364B E
+GeForce 930A 1349 17AA 36C3 E
+GeForce 930A 1349 17AA 36D1 E
+GeForce 930A 1349 17AA 36D8 E
GeForce 940MX 134B E
-GeForce GPU 134B 1414 0008 E
+GeForce GPU 134B 1414 0008 E
GeForce 940MX 134D E
GeForce 930MX 134E E
GeForce 920MX 134F E
GeForce 940A 137D 17AA 3699 E
GeForce GTX 750 Ti 1380 E
-GeForce GTX 750 1381 E
-GeForce GTX 745 1382 E
+GeForce GTX 750 1381 E
+GeForce GTX 745 1382 E
GeForce 845M 1390 E
GeForce GTX 850M 1391 E
GeForce GTX 850A 1391 17AA 3697 E
GeForce GTX 860M 1392 D
-GeForce GPU 1392 1028 066A E
+GeForce GPU 1392 1028 066A E
GeForce GTX 750 Ti 1392 1043 861E E
GeForce GTX 750 Ti 1392 1043 86D9 E
GeForce 840M 1393 E
@@ -635,56 +642,102 @@ GeForce GTX 960M 139B E
GeForce GTX 750 Ti 139B 1025 107A E
GeForce GTX 860M 139B 1028 06A3 D
GeForce GTX 960A 139B 103C 2B4C E
+GeForce GTX 750Ti 139B 17AA 3649 E
+GeForce GTX 960A 139B 17AA 36BF E
GeForce GTX 750 Ti 139B 19DA C248 E
GeForce GTX 750Ti 139B 1AFA 8A75 E
GeForce 940M 139C E
GeForce GTX 750 Ti 139D E
-GeForce GTX 980 13C0 E
-GeForce GTX 970 13C2 E
+GeForce GTX 980 13C0 E
+GeForce GTX 970 13C2 E
GeForce GTX 980M 13D7 E
GeForce GTX 970M 13D8 E
-GeForce GTX 960 13D8 1462 1198 E
-GeForce GTX 960 13D8 1462 1199 E
-GeForce GTX 960 13D8 19DA B282 E
-GeForce GTX 960 13D8 19DA B284 E
-GeForce GTX 960 13D8 19DA B286 E
+GeForce GTX 960 13D8 1462 1198 E
+GeForce GTX 960 13D8 1462 1199 E
+GeForce GTX 960 13D8 19DA B282 E
+GeForce GTX 960 13D8 19DA B284 E
+GeForce GTX 960 13D8 19DA B286 E
GeForce GTX 965M 13D9 E
-GeForce GTX 980 13DA E
-GeForce GTX 960 1401 F
-GeForce GTX 950 1402 F
-GeForce GTX 750 1407 E
+GeForce GTX 980 13DA E
+GeForce GTX 960 1401 F
+GeForce GTX 950 1402 F
+GeForce GTX 960 1406 F
+GeForce GTX 750 1407 E
GeForce GTX 965M 1427 E
-GeForce GTX 950 1427 1458 D003 F
+GeForce GTX 950 1427 1458 D003 F
GeForce GTX 980M 1617 E
GeForce GTX 970M 1618 E
GeForce GTX 965M 1619 E
-GeForce GTX 980 161A E
+GeForce GTX 980 161A E
GeForce GTX 965M 1667 E
GeForce 940MX 179C E
-GeForce GTX TITAN X 17C2 E
+GeForce GTX TITAN X 17C2 E
GeForce GTX 980 Ti 17C8 E
+TITAN X (Pascal) 1B00 H
+TITAN Xp 1B02 H
+GeForce GTX 1080 Ti 1B06 H
+GeForce GTX 1080 1B80 H
+GeForce GTX 1070 1B81 H
+GeForce GTX 1060 3GB 1B84 H
+P104-100 1B87 H
+GeForce GTX 1080 1BA0 H
+GeForce GTX 1070 1BA1 H
+GeForce GTX 1070 with MaxQ Design 1BA1 1458 1651 H
+GeForce GTX 1070 with Max-Q Design 1BA1 1462 11E8 H
+GeForce GTX 1070 with Max-Q Design 1BA1 1462 11E9 H
+GeForce GTX 1070 with Max-Q Design 1BA1 1558 9501 H
+GeForce GTX 1070 with Max-Q Design 1BA1 1D05 1032 H
+P104-101 1BC7 H
+GeForce GTX 1080 1BE0 H
+GeForce GTX 1080 with Max-Q Design 1BE0 1025 1221 H
+GeForce GTX 1080 with Max-Q Design 1BE0 1025 123E H
+GeForce GTX 1080 with Max-Q Design 1BE0 1028 07C0 H
+GeForce GTX 1080 with Max-Q Design 1BE0 1043 1BF0 H
+GeForce GTX 1080 with Max-Q Design 1BE0 1458 355B H
+GeForce GTX 1070 1BE1 H
+GeForce GTX 1070 with Max-Q Design 1BE1 1043 16F0 H
+GeForce GTX 1060 3GB 1C02 H
+GeForce GTX 1060 6GB 1C03 H
+P106-100 1C07 H
+P106-090 1C09 H
+GeForce GTX 1060 1C20 H
+GeForce GTX 1060 with Max-Q Design 1C20 1028 0802 H
+GeForce GTX 1060 with Max-Q Design 1C20 1028 0803 H
+GeForce GTX 1060 with Max-Q Design 1C20 17AA 39B9 H
+GeForce GTX 1050 Ti 1C21 H
+GeForce GTX 1050 1C22 H
+GeForce GTX 1060 1C60 H
+GeForce GTX 1060 with Max-Q Design 1C60 103C 8390 H
+GeForce GTX 1050 Ti 1C61 H
+GeForce GTX 1050 1C62 H
+GeForce GTX 1050 1C81 H
+GeForce GTX 1050 Ti 1C82 H
+GeForce GTX 1050 Ti 1C8C H
+GeForce GTX 1050 1C8D H
+GeForce GT 1030 1D01 H
+GeForce MX150 1D10 H
+GeForce MX150 1D12 H
#NVIDIA Quadro GPUs
-
#NVIDIA GPU product Device PCI ID* VDPAU features
-Quadro 6000 06D8 C
-Quadro 5000 06D9 C
+Quadro 6000 06D8 C
+Quadro 5000 06D9 C
Quadro 5000M 06DA C
-Quadro 6000 06DC C
-Quadro 4000 06DD C
-Quadro 2000 0DD8 C
+Quadro 6000 06DC C
+Quadro 4000 06DD C
+Quadro 2000 0DD8 C
Quadro 2000D 0DD8 10DE 0914 C
Quadro 2000M 0DDA C
Quadro 600 0DF8 C
-Quadro 500M 0DF9 C
+Quadro 500M 0DF9 C
Quadro 1000M 0DFA C
Quadro 3000M 0E3A C
Quadro 4000M 0E3B C
-Quadro K420 0FF3 D
+Quadro K420 0FF3 D
Quadro K1100M 0FF6 D
Quadro K500M 0FF8 D
Quadro K2000D 0FF9 D
-Quadro K600 0FFA D
+Quadro K600 0FFA D
Quadro K2000M 0FFB D
Quadro K1000M 0FFC D
Quadro K2000 0FFE D
@@ -692,7 +745,7 @@ Quadro 410 0FFF D
Quadro K6000 103A D
Quadro K5200 103C D
Quadro 5010M 109A C
-Quadro 7000 109B C
+Quadro 7000 109B C
Quadro K4200 11B4 D
Quadro K3100M 11B6 D
Quadro K4100M 11B7 D
@@ -708,32 +761,51 @@ Quadro K510M 12BA D
Quadro K620M 137A 17AA 2225 E
Quadro M500M 137A 17AA 2232 E
Quadro M500M 137A 17AA 505A E
+Quadro M520 137B E
Quadro M2000M 13B0 E
Quadro M1000M 13B1 E
Quadro M600M 13B2 E
Quadro K2200M 13B3 E
+Quadro M620 13B4 E
+Quadro M1200 13B6 E
Quadro K2200 13BA E
-Quadro K620 13BB E
+Quadro K620 13BB E
Quadro K1200 13BC E
Quadro M5000 13F0 E
Quadro M4000 13F1 E
Quadro M5000M 13F8 E
+Quadro M5000 SE 13F8 10DE 11DD E
Quadro M4000M 13F9 E
Quadro M3000M 13FA E
+Quadro M3000 SE 13FA 10DE 11C9 E
Quadro M5500 13FB E
+Quadro M2000 1430 F
+Quadro GP100 15F0 G
Quadro M6000 17F0 E
Quadro M6000 24GB 17F1 E
+Quadro P6000 1B30 H
+Quadro P5000 1BB0 H
+Quadro P4000 1BB1 H
+Quadro P5200 1BB5 H
+Quadro P5000 1BB6 H
+Quadro P4000 1BB7 H
+Quadro P4000 with Max-Q Design 1BB7 1462 11E9 H
+Quadro P4000 with Max-Q Design 1BB7 1558 9501 H
+Quadro P3000 1BB8 H
+Quadro P2000 1C30 H
+Quadro P1000 1CB1 H
+Quadro P600 1CB2 H
+Quadro P400 1CB3 H
#NVIDIA NVS GPUs
-
#NVIDIA GPU product Device PCI ID* VDPAU features
NVS 5400M 0DEF C
NVS 5200M 0DFC C
-NVS 510 0FFD D
+NVS 510 0FFD D
NVS 4200M 1056 D
NVS 4200M 1057 D
-NVS 315 107C D
-NVS 310 107D D
+NVS 315 107C D
+NVS 310 107D D
NVS 5200M 1140 1043 10DD C
NVS 5200M 1140 1043 10ED C
NVS 5200M 1140 1043 2136 C
@@ -741,57 +813,60 @@ NVS 5200M 1140 144D C0E2 C
NVS 5200M 1140 144D C0E3 C
NVS 5200M 1140 144D C0E4 C
NVS 5200M 1140 17AA 2200 C
-NVS 810 13B9 E
+NVS 810 13B9 E
#NVIDIA Tesla GPUs
-
#NVIDIA GPU product Device PCI ID* VDPAU features
-Tesla C2050 / C2070 06D1 C
-Tesla C2050 06D1 10DE 0771 C
-Tesla C2070 06D1 10DE 0772 C
-Tesla M2070 06D2 C
-Tesla X2070 06D2 10DE 088F C
-Tesla T20 Processor 06DE C
-Tesla S2050 06DE 10DE 0773 C
-Tesla M2050 06DE 10DE 082F C
-Tesla X2070 06DE 10DE 0840 C
-Tesla M2050 06DE 10DE 0842 C
-Tesla M2050 06DE 10DE 0846 C
-Tesla M2050 06DE 10DE 0866 C
-Tesla M2050 06DE 10DE 0907 C
-Tesla M2050 06DE 10DE 091E C
+Tesla C2050 / C2070 06D1 C
+Tesla C2050 06D1 10DE 0771 C
+Tesla C2070 06D1 10DE 0772 C
+Tesla M2070 06D2 C
+Tesla X2070 06D2 10DE 088F C
+Tesla T20 Processor 06DE C
+Tesla S2050 06DE 10DE 0773 C
+Tesla M2050 06DE 10DE 082F C
+Tesla X2070 06DE 10DE 0840 C
+Tesla M2050 06DE 10DE 0842 C
+Tesla M2050 06DE 10DE 0846 C
+Tesla M2050 06DE 10DE 0866 C
+Tesla M2050 06DE 10DE 0907 C
+Tesla M2050 06DE 10DE 091E C
Tesla M2070-Q 06DF C
-Tesla K20Xm 1021 D
+Tesla K20Xm 1021 D
Tesla K20c 1022 D
Tesla K40m 1023 D
Tesla K40c 1024 D
Tesla K20s 1026 D
-Tesla K40st 1027 D
+Tesla K40st 1027 D
Tesla K20m 1028 D
Tesla K40s 1029 D
Tesla K40t 102A D
Tesla K80 102D D
-Tesla M2090 1091 C
-Tesla X2090 1091 10DE 088E C
-Tesla X2090 1091 10DE 0891 C
-Tesla X2090 1091 10DE 0974 C
-Tesla X2090 1091 10DE 098D C
-Tesla M2075 1094 C
-Tesla C2075 1096 C
-Tesla C2050 1096 10DE 0911 C
+Tesla M2090 1091 C
+Tesla X2090 1091 10DE 088E C
+Tesla X2090 1091 10DE 0891 C
+Tesla X2090 1091 10DE 0974 C
+Tesla X2090 1091 10DE 098D C
+Tesla M2075 1094 C
+Tesla C2075 1096 C
+Tesla C2050 1096 10DE 0911 C
Tesla K10 118F D
Tesla K8 1194 D
Tesla M60 13F2 E
Tesla M6 13F3 E
Tesla M4 1431 F
+Quadro M2200 1436 F
+Tesla P100-PCIE-12GB 15F7 G
+Tesla P100-PCIE-16GB 15F8 G
+Tesla P100-SXM2-16GB 15F9 G
Tesla M40 17FD E
Tesla M40 24GB 17FD 10DE 1173 E
+Tesla P40 1B38 H
+Tesla P4 1BB3 H
+Tesla P6 1BB4 H
+Tesla V100-SXM2-16GB 1DB1 I
+Tesla V100-PCIE-16GB 1DB4 I
#NVIDIA GRID GPUs
-
#NVIDIA GPU product Device PCI ID* VDPAU features
-GRID K340 0FEF D
-GRID K1 0FF2 D
GRID K520 118A D
-GRID K2 11BF D
-
diff --git a/abs/core/xmltv/PKGBUILD b/abs/core/xmltv/PKGBUILD
index 3f2ed58..144d2ab 100755..100644
--- a/abs/core/xmltv/PKGBUILD
+++ b/abs/core/xmltv/PKGBUILD
@@ -1,10 +1,11 @@
-# Maintainer: Stefan Husmann <stefan-husmann@t-online.de>
+# Maintainer: K. Hampf <k.hampf@gmail.com>
+# Submitter: Stefan Husmann <stefan-husmann@t-online.de>
# Contributor: Allan McRae <allan@archlinux.org>
# Contributor: Andrew Simmons <andrew.simmons@gmail.com>
pkgname=xmltv
-pkgver=0.5.59
-pkgrel=2
+pkgver=0.5.69
+pkgrel=1
pkgdesc="Set of utilities to download tv listings and format them in xml"
arch=('any')
url="http://xmltv.org/wiki/"
@@ -17,22 +18,32 @@ depends=('perl-archive-zip' 'perl-datetime' 'perl-date-manip'
'perl-term-readkey' 'perl-timedate' 'perl-tk-tablematrix'
'perl-unicode-string' 'perl-unicode-utf8simple' 'perl-www-mechanize'
'perl-xml-dom' 'perl-xml-libxml' 'perl-xml-libxslt' 'perl-xml-simple'
- 'perl-xml-twig' 'perl-xml-writer' 'perl-parse-recdescent')
-source=(http://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.bz2)
-md5sums=('29497a1d165ef0cdedfe376e04c06903')
+ 'perl-xml-twig' 'perl-xml-writer' 'perl-parse-recdescent' 'perl-cgi'
+ 'perl-xml-treepp' 'perl-datetime-format-iso8601' 'perl-json')
+source=("http://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.bz2")
+md5sums=('1b0128f97755e7769177d7930e03ad74')
build() {
- cd ${srcdir}/${pkgname}-${pkgver}
- yes | perl Makefile.PL PREFIX=/usr INSTALLDIRS=vendor
-
+ cd "$pkgname-$pkgver"
+ unset PERL5LIB PERL_MM_OPT PERL_LOCAL_LIB_ROOT
+ export PERL_MM_USE_DEFAULT=1 PERL_AUTOINSTALL=--skipdeps
+ yes | /usr/bin/perl Makefile.PL PREFIX=/usr INSTALLDIRS=vendor
make
}
+
+check() {
+ cd "$pkgname-$pkgver"
+ unset PERL5LIB PERL_MM_OPT PERL_LOCAL_LIB_ROOT
+ export PERL_MM_USE_DEFAULT=1
+ make test
+}
+
package() {
- cd ${srcdir}/${pkgname}-${pkgver}
- make DESTDIR=${pkgdir} PREFIX=/usr install
-
+ cd "$pkgname-$pkgver"
+ unset PERL5LIB PERL_MM_OPT PERL_LOCAL_LIB_ROOT
+ make install DESTDIR="$pkgdir"
+
# remove perllocal.pod and .packlist
find ${pkgdir} -name perllocal.pod -delete
find ${pkgdir} -name .packlist -delete
}
-
diff --git a/abs/core/xymon/PKGBUILD b/abs/core/xymon/PKGBUILD
index 12649cb..759241b 100755
--- a/abs/core/xymon/PKGBUILD
+++ b/abs/core/xymon/PKGBUILD
@@ -1,7 +1,7 @@
pkgbase=xymon
pkgname=('xymonserver' 'xymonclient')
pkgver=4.3.28
-pkgrel=4
+pkgrel=5
pkgdesc="Xymon is a system for monitoring of hosts and networks"
license=('GPL')
arch=('i686' 'x86_64')
diff --git a/abs/core/xymon/xymon-client.install b/abs/core/xymon/xymon-client.install
index 80210f1..312be91 100644
--- a/abs/core/xymon/xymon-client.install
+++ b/abs/core/xymon/xymon-client.install
@@ -2,7 +2,8 @@ post_install() {
. /etc/systemconfig
sed -i -e "s/127.0.0.1/$dbhost/" /home/xymon/client/etc/xymonclient.cfg
chown -R nobody /home/xymon
-
+ #added so py bindings work with /home/mythtv/.mythtv/config.xml
+ setfacl -m "u:nobody:--x" /home/mythtv/
}
post_upgrade() {
diff --git a/abs/core/xymon/xymon-server.install b/abs/core/xymon/xymon-server.install
index 0eec8f1..7c08bd3 100644
--- a/abs/core/xymon/xymon-server.install
+++ b/abs/core/xymon/xymon-server.install
@@ -20,7 +20,9 @@ post_install() {
#fix permissions
chown -R nobody:nobody /home/xymon
chown -R nobody:nobody /data/srv/httpd/htdocs/xymon
-
+ #added so py bindings work with /home/mythtv/.mythtv/config.xml
+ setfacl -m "u:nobody:--x" /home/mythtv/
+
chown -R nobody:http /data/srv/httpd/htdocs/xymon/snap
chown -R nobody:http /data/srv/httpd/htdocs/xymon/rep
chmod -R 775 /data/srv/httpd/htdocs/xymon/rep
diff --git a/abs/extra/flexget/ChangeLog b/abs/extra/flexget/ChangeLog
new file mode 100644
index 0000000..361a57e
--- /dev/null
+++ b/abs/extra/flexget/ChangeLog
@@ -0,0 +1,5367 @@
+
+=== 1.2.304 (2015.05.04) ===
+
+ * (1b46638) v1.2.304
+ * (0eec0b3) Merge pull request #488 from ianstalk/sftp[[BR]]
+ Plugins to download from SFTP
+ * (c8de466) Fixing the style issues/typos that @gazpachoking pointed out.
+ * (64ee28d) Accept both lists and strings for directories list; remove my username from the useage
+ * (bca7dd5) Not sure where that character came from
+ * (120e298) Fully qualify plugin.PluginError
+ * (34fede7) Rewrote directory handling, added better support for Windows-style paths, simplified config
+ * (3f2ebe4) Rename variables to be clearer about what they do
+ * (414f80b) Now fully pep8 compliant!
+ * (b3d030f) Add retry logic for connecting, switch to a more idiomatic way of handling group by
+ * (e60d1e6) Fix variable reference before assignment issue.
+ * (92a74c3) Fix some copypasta errors
+ * (6ab8642) Plugins to download from SFTP
+ * (b8b0d2c) Merge branch 'new_lazy2' into develop
+ * (f6f51dc) Factor lazy lookup system out of Entry Enable better support for lazy lookups from jinja. refs #2985, fix #2988
+ * (ecfe79a) Fix up sort_by plugin
+ * (556cdfc) Merge pull request #489 from jpts/develop[[BR]]
+ Fix deluge sparse files/movedone functionality. fix #2881
+ * (310f8b3) Fixed issue where content_filename not specified in user config
+ * (b3da452) Added support for directories in content_filename
+ * (3d99290) Updated edited sections to adhere to pep8
+ * (4bb5e63) Modified content_filename parsing, so that it doesnt pop the main file to the top of the directory tree. Modified sparse files functionality, to be a subfolder of the top folder
+ * (aa57761) Merge pull request #496 from sergiogiogio/develop[[BR]]
+ fix for titles with non-ascii characters
+ * (8df277e) fix for titles with non-ascii characters
+ * (1679a81) Remove set literal from subliminal plugin to maintain python 2.6 compatibility
+ * (1bed497) Attempt to fix travis builds
+ * (2de8309) force proper provider names
+ * (ab36590) Prepare v1.2.304.dev
+
+=== 1.2.303 (2015.04.24) ===
+
+ * (cdc0377) v1.2.303
+ * (0680d93) Remove task.session use in remember_rejected. fix #2720
+ * (eff9e77) Prepare v1.2.303.dev
+
+=== 1.2.302 (2015.04.23) ===
+
+ * (8b06d6c) v1.2.302
+ * (2cb0de5) Merge pull request #481 from programatix/develop[[BR]]
+ Updated to use the download plugin
+ * (1317fe5) Update utorrent.py[[BR]]
+ Removed unneeded duplicate add torrent.[[BR]]
+ Fixed the download path for download by download plugin.
+ * (854e584) Update utorrent.py[[BR]]
+ Fixed problem where urlrewriter not called.
+ * (62f0be7) Update utorrent.py
+ * (cfe69da) Update utorrent.py[[BR]]
+ Updated to use the download plugin.
+ * (e2729a3) Merge pull request #482 from matrixagent/patch-2[[BR]]
+ Allow history to be filtered by task
+ * (70e1910) Allow history to be filtered by task
+ * (628c16b) Merge pull request #485 from Flexget/pR0Ps-add_whatcd_ua[[BR]]
+ Add what.cd user agent option
+ * (644141f) Add what.cd user agent option[[BR]]
+ - Add back the option to use a custom user agent for searching on what.cd.[[BR]]
+ - Fix small oversight in response handling.
+ * (4c1ecca) Prepare v1.2.302.dev
+
+=== 1.2.301 (2015.04.19) ===
+
+ * (9bcdac1) v1.2.301
+ * (574929d) Merge pull request #474 from ianstalk/rarfile[[BR]]
+ Plugin to decompress Zip and RAR files
+ * (977eccb) Python 2.6 doesn't like "with"syntax
+ * (3ae14d5) Return when rarfile isn't installed
+ * (2545536) Add missing SkipTest import
+ * (44cd428) Switch to using __tmp__ instead of rolling my own temp directories
+ * (e48e247) Directory test was reversed for zips
+ * (03d0e3f) keep_dirs actually works now! For real! Fix test teardown so it doesn't break the build.
+ * (66e2278) Use info instead of path for extractions, make sure is_dir doesn't accept anything that's not an Info object.
+ * (fbb9e73) Tests and associated files for Decompress plugin
+ * (a7bb8a2) Fix keep_dirs behavior
+ * (cd03c2b) Merge remote-tracking branch 'upstream/master' into rarfile
+ * (05a72de) Fail entry if extraction fails
+ * (fd1f789) Don't treat directories in zips as files.
+ * (4f41266) You missed a spot.
+ * (8dc2934) Rename to avoid confusion with the archive plugin
+ * (5db42ed) Fix issue with deleting Zip files.
+ * (5b34c43) Add Zip support, change name of plugin to reflect extended functionality.
+ * (7723b71) Replace import hack with something cleaner.
+ * (6705a96) Wrap rarfile import in a try/except block so it doesn't blow up everything Fix logging statement that was printing the wrong value
+ * (db5e9dc) Remove outdated config parameter from example in docstring
+ * (b3d2dcb) Remove leaked plugin_transmission_files.py changes
+ * (cc956b5) Plugin to extract RAR files
+ * (2204153) Revert "Plugin to extract RAR files"[[BR]]
+ This reverts commit 3fef155e816048063cccd91da7f2e5eb03a6be4f.
+ * (3fef155) Plugin to extract RAR files
+ * (b7d56fa) Rename "info_hash" to "torrent_info_hash" to be consistent with task naming conventions. Make sure the Transmission session is created anew each time in case the user is connecting to multiple daemons.
+ * (1a8903d) Plugin to list files from a transmission instance
+ * (fe0d5c6) Prepare v1.2.301.dev
+
+=== 1.2.300 (2015.04.17) ===
+
+ * (c276e4e) v1.2.300
+ * (55ceb98) Merge pull request #487 from sergiogiogio/develop[[BR]]
+ fix aria2 plugin
+ * (7915a83) fix aria2 plugin
+ * (99ab8c1) Prepare v1.2.300.dev
+
+=== 1.2.299 (2015.04.09) ===
+
+ * (3349208) v1.2.299
+ * (371a12c) Merge pull request #479 from wakemaster39/yts_search[[BR]]
+ added yts
+ * (4ba54a1) Update search_yts.py
+ * (b6d0604) added yts search engine
+ * (70bdd9c) Allows using secrets in any jinja rendered template. fix #2883
+ * (f47bf43) Merge pull request #480 from tubedogg/sleep[[BR]]
+ Add additional phases of execution to sleep plugin
+ * (d9de3c0) Add additional phases of execution
+ * (a666126) Prepare v1.2.299.dev
+
+=== 1.2.298 (2015.04.06) ===
+
+ * (69f3453) v1.2.298
+ * (6da0770) Allow --inject to be used multiple times
+ * (186c737) Prepare v1.2.298.dev
+
+=== 1.2.297 (2015.04.04) ===
+
+ * (bf931f7) v1.2.297
+ * (672a7a9) fix exec list
+ * (b3e8028) Merge pull request #472 from tubedogg/sleep[[BR]]
+ Make sleep more flexible
+ * (b8dea65) Make sleep more flexible[[BR]]
+ Operate it in any phase for the specified number of seconds.
+ * (5060942) Prepare v1.2.297.dev
+
+=== 1.2.296 (2015.04.03) ===
+
+ * (321a23b) v1.2.296
+ * (e037372) Merge pull request #470 from patsissons/urllib3-logging-fix[[BR]]
+ remove extra urllib3 INFO logging
+ * (8e04155) adding the original line back, so that we now have both (with an explanation)
+ * (ff43930) apply warn log filter to proper logger name to exclude INFO log messages when opening url's (i.e. Starting new HTTP connection (1): ... )
+ * (9214e96) Merge pull request #475 from Ram-Z/exec_list[[BR]]
+ Allow list of exec commands
+ * (162509f) Allow list of exec commands
+ * (3635b8d) Merge pull request #476 from lildadou/doc[[BR]]
+ Details to enable the unit test of a development environnement.
+ * (249a31a) Details to enable the unit test.
+ * (07859f6) Merge pull request #477 from Ram-Z/tvdb_actors[[BR]]
+ Add tvdb_actors to api
+ * (49f459f) Add tvdb_actors to api
+ * (693f23f) Revert "Discover keeps finding episodes as long asnew ones are accepted."[[BR]]
+ This reverts commit 2bfe5b252c873ec6ce70eebbde5f71ecaed34d3d.[[BR]]
+ Unit tests broke, unable to run them locally.
+ * (acbdfed) Fix test in case tvrage_id is not set
+ * (9e3e69e) Don't lookup_series if tvrage_id exists in entry
+ * (a8fd733) Merge pull request #442 from cvium/rarbg[[BR]]
+ search plugin for rarbg
+ * (0f279dd) use rarbg's new api
+ * (4a7f868) search plugin for rarbg
+ * (2bfe5b2) Discover keeps finding episodes as long asnew ones are accepted.[[BR]]
+ - Handle cli series with ! in names
+ * (5d28d41) Prepare v1.2.296.dev
+
+=== 1.2.295 (2015.03.25) ===
+
+ * (7f22eba) v1.2.295
+ * (2eb870a) Merge pull request #462 from patsissons/trans-magnet-wait[[BR]]
+ Transmission plugin magnetization waiting
+ * (05adfa0) if torrent is a magnet URI, then start as paused. this will allow magnetization to occur before pre-processing the files
+ * (1b6970f) If the magnetization_timeout is set and the torrent is a magnet URI (and the file list is empty), then block-wait for magnetization or until the timeout elapses. If magnetization is successful, then re-fetch the torrent total size this addresses issue #2911 http://flexget.com/ticket/2911
+ * (1d020f2) adding configuration item, magnetization_timeout, to allow selective enabling of the 'wait for magnetization' feature. By default the value is 0 (seconds) which disables the feature completely.
+ * (1cc8815) adding new _wait_for_files function that will block until the rpc client returns a non-empty file list or until the timeout elapses
+ * (40332fb) Merge pull request #457 from bozho/develop[[BR]]
+ reverting changes from 761c2f206c... (pull request #453)
+ * (9d803d0) reverting changes from 761c2f206c... (pull request #453)[[BR]]
+ Looks like the old code works again. I could have sworn that while[[BR]]
+ testing the patch, KAT was returning 404 if rss wasn't the first query[[BR]]
+ parameter. It was late, I may have been seeing things...
+ * (88dfd9b) Merge pull request #468 from Ram-Z/newznab_size[[BR]]
+ Get content_size from newznab searches
+ * (5f0c2ff) Get content_size from newznab searches
+ * (3966877) Prepare v1.2.295.dev
+
+=== 1.2.294 (2015.03.24) ===
+
+ * (98067d3) v1.2.294
+ * (1de5355) Merge pull request #463 from v17al/topic/extratorrent[[BR]]
+ Add search/urlrewrite plugin for extratorrent.cc
+ * (869175f) Add search/urlrewrite plugin for extratorrent.cc[[BR]]
+ - extratorrent doesn't mesh well with the search_rss plugin as[[BR]]
+ the data doesn't alway contains a .torrent link[[BR]]
+ - Work around this issue by converting the .html link (always present)[[BR]]
+ into a downlad link
+ * (64acd8a) Merge pull request #465 from patsissons/remove-redundant-config-default[[BR]]
+ removing redundant config default setter for main_file_ratio
+ * (0734e4f) removing redundant config default setter for main_file_ratio (it is now set in the transmission base class)
+ * (3b889b7) Prepare v1.2.294.dev
+
+=== 1.2.293 (2015.03.22) ===
+
+ * (34626a8) v1.2.293
+ * (c92c898) Merge pull request #464 from patsissons/deluge-fix[[BR]]
+ fixing deluge plugin crash due to unset main_file_ratio
+ * (7ee530a) fixing deluge plugin crash due to main_file_ratio config value not being present in modify_opts see https://github.com/Flexget/Flexget/pull/460#issuecomment-84051984
+ * (5a4d092) fix bug created by main_file_ratio #2951
+ * (8e7e4a1) Prepare v1.2.293.dev
+
+=== 1.2.292 (2015.03.18) ===
+
+ * (4011595) v1.2.292
+ * (6d554b9) Merge pull request #460 from patsissons/main_file_ratio[[BR]]
+ Main file ratio
+ * (94729bb) adding quotes around torrent title
+ * (5148364) adding log warning to transmission plugin when no main file is discovered (similar to deluge plugin)
+ * (e9e135c) updating transmission plugin to support using the main_file_ratio config value when discovering the main_id
+ * (4d8f9e1) updating torrent_info function in transmission plugin to support fetching main_file_ratio from config (replacing hard coded 90) NOTE: this may need fixing to support a per-torrent main_file_ratio
+ * (8678b35) updating transmission plugin to support making the main_file_ratio config value available to use
+ * (5f72486) replacing hard coded 90% main file ratio values in deluge plugin with new main_file_ratio config value
+ * (089f576) adding new main_file_ratio config option to deluge and transmission plugins, default value is 0.90 (i.e. 90%, as was previously hard coded into the plugins)
+ * (4fa8d99) Prepare v1.2.292.dev
+
+=== 1.2.291 (2015.03.13) ===
+
+ * (5b5016f) v1.2.291
+ * (b0ac6e6) Add support for T411 login captcha
+ * (8d8f338) Add download_auth param to created entries
+ * (dc22730) Prepare v1.2.291.dev
+
+=== 1.2.290 (2015.03.12) ===
+
+ * (d31c66f) v1.2.290
+ * (e57e0a9) Merge pull request #458 from crawln45/develop[[BR]]
+ Fixed BTN Search to allow for non strict searching
+ * (cfb01cc) Fixed invalid import of request.exception.Timeout
+ * (c684fe8) Reword BTN Search for better code and added what we are doing. Fixed Trakt_List to detect Timeout errors. Fixed Trakt authentication error catching.
+ * (a55c823) Fixed BTN Search to allow for non strict searching of series_id since some episodes return series_id - episode_name on certain shows.
+ * (68a323a) Prepare v1.2.290.dev
+
+=== 1.2.289 (2015.03.05) ===
+
+ * (1342dba) v1.2.289
+ * (5eda00b) fix subtitles_missing field not being set if subs already exist
+ * (8f040ff) Prepare v1.2.289.dev
+
+=== 1.2.288 (2015.03.03) ===
+
+ * (f93305b) v1.2.288
+ * (761c2f2) Merge pull request #453 from bozho/develop[[BR]]
+ fixed kat search plugin URL
+ * (e520873) fixed kat search plugin URL
+ * (4620b66) Merge pull request #456 from wjohnson5/patch-1[[BR]]
+ Fix authentication.py typo for webui username.
+ * (e34a217) Update authentication.py[[BR]]
+ Seems like a simple typo. Tested locally.
+ * (5203e8e) Prepare v1.2.288.dev
+
+=== 1.2.287 (2015.03.01) ===
+
+ * (ff5e0d3) v1.2.287
+ * (413f57a) fix bug introduced by latest feature
+ * (5fe1ff5) Prepare v1.2.287.dev
+
+=== 1.2.286 (2015.02.28) ===
+
+ * (366efb2) v1.2.286
+ * (d7cdb04) new feature to remove non-existing file from queue
+ * (eb66aac) change verbosity, fix bug in subliminal #2927
+ * (a399b27) Prepare v1.2.286.dev
+
+=== 1.2.285 (2015.02.27) ===
+
+ * (2fe47fa) v1.2.285
+ * (9d3e7a3) Merge pull request #454 from jesjimher/develop[[BR]]
+ Disabled SSL certificate validation to avoid SSLErrors in TPB
+ * (9dd4af7) Disabled SSL certificate validation to avoid SSLErrors
+ * (60a40b2) Prepare v1.2.285.dev
+
+=== 1.2.284 (2015.02.23) ===
+
+ * (e7578b2) v1.2.284
+ * (12a3073) Merge pull request #450 from guaycuru/master[[BR]]
+ Update EZTV URL from .IT to .CH
+ * (89f60f7) Update EZTV URL from .IT to .CH
+ * (3bc9fb4) Prepare v1.2.284.dev
+
+=== 1.2.283 (2015.02.22) ===
+
+ * (0242e24) v1.2.283
+ * (109b446) Merge pull request #448 from krozer/patch-1[[BR]]
+ rewrite t411.me to t411.io
+ * (95d85dd) rewrite .me to .io[[BR]]
+ The tracker changed hostname from t411.me to t411.io
+ * (a04af80) Prepare v1.2.283.dev
+
+=== 1.2.282 (2015.02.21) ===
+
+ * (5a4e9b4) v1.2.282
+ * (4a2d3ce) encode filenames with utf-8, #2915
+ * (9f2c0d4) Prepare v1.2.282.dev
+
+=== 1.2.281 (2015.02.20) ===
+
+ * (e6ccc4c) v1.2.281
+ * (c2d5a00) Fix crash in the what.cd plugin
+ * (4763616) Prepare v1.2.281.dev
+
+=== 1.2.280 (2015.02.18) ===
+
+ * (a222eff) v1.2.280
+ * (44421f6) Merge pull request #438 from cvium/develop[[BR]]
+ cleaning up alternate name in series
+ * (4dabdaa) add alternate names after if-else
+ * (3994d14) cleaning up alternate name in series
+ * (c618848) Prepare v1.2.280.dev
+
+=== 1.2.279 (2015.02.17) ===
+
+ * (5418068) v1.2.279
+ * (80595d1) Merge pull request #447 from crawln45/develop[[BR]]
+ Added new 720hd as match for 720p quality[[BR]]
+ Move to new trakt v2 api endpoint
+ * (8df61a5) Added new trakt_list cassette.
+ * (9d2b17c) Fixed comparison on quality.
+ * (0cfe3f4) Fixed 720hd test to correct what it's suppost to find which is 720p
+ * (76e4718) Added test for 720hd under test_qualities.py
+ * (fe0d822) Reverted new 720 standard added option of "HD" to the 720P subset
+ * (24eb594) Added new api url for trakt.
+ * (fa7148f) Added new Subset of 720 definition "720HD"
+ * (9d3199b) Prepare v1.2.279.dev
+
+=== 1.2.278 (2015.02.15) ===
+
+ * (b836f47) v1.2.278
+ * (9e3a413) Merge pull request #446 from aidan-/develop[[BR]]
+ use only ascii letters for IPC password generation
+ * (094c38c) use only ascii letters for password generation
+ * (442be38) Prepare v1.2.278.dev
+
+=== 1.2.277 (2015.02.12) ===
+
+ * (79a1c3d) v1.2.277
+ * (32e7020) update kat TLD
+ * (952e37c) Prepare v1.2.277.dev
+
+=== 1.2.276 (2015.02.10) ===
+
+ * (8700e0a) v1.2.276
+ * (06d3ee6) Merge pull request #441 from lildadou/develop[[BR]]
+ [t411] Fix and update WebRip subcategories
+ * (1cab8ef) Fix and update WebRip subcategories
+ * (1bf65c4) Prepare v1.2.276.dev
+
+=== 1.2.275 (2015.02.09) ===
+
+ * (4a03a92) v1.2.275
+ * (d551ce2) Merge pull request #443 from X-dark/develop[[BR]]
+ update TPB to new TLD and search API
+ * (33bdf85) update TPB to the new search API
+ * (30cd4c7) update TPB TLD
+ * (1243729) Prepare v1.2.275.dev
+
+=== 1.2.274 (2015.02.06) ===
+
+ * (bcb32d4) v1.2.274
+ * (3828bb0) change str representation of subtitle queue to handle no language
+ * (7d63cd9) don't queue english as default language
+ * (e724e6c) Prepare v1.2.274.dev
+
+=== 1.2.273 (2015.02.05) ===
+
+ * (6ca6206) v1.2.273
+ * (5b33567) emit_series will also output a search without parenthetical (year, country). refs #2900
+ * (145dbc6) Prepare v1.2.273.dev
+
+=== 1.2.272 (2015.02.02) ===
+
+ * (9c4ccbe) v1.2.272
+ * (1ff72d0) Let seen_movies also filter on trakt_movie_id
+ * (6cd417e) Allow 'local' mode for seen_movies
+ * (f69d137) Allow 'local' mode for seen_info_hash Convert seen plugin family to use schema instead of validator
+ * (d338315) Prepare v1.2.272.dev
+
+=== 1.2.271 (2015.01.30) ===
+
+ * (0fcbb19) v1.2.271
+ * (607907f) Fix a crash with guessit series parser
+ * (cd59c7a) trakt_list now adds year to series names trakt_list uses show ids rather than episode ids for eps split trakt_id field into trakt_show_id, trakt_movie_id and trakt_episode_id
+ * (99e6a1a) Prepare v1.2.271.dev
+
+=== 1.2.270 (2015.01.29) ===
+
+ * (60ceee3) v1.2.270
+ * (fecc4ed) go through all entries instead of exiting after the first one
+ * (4d81b89) Make hide_sparse_files false by default for deluge
+ * (440e201) Prepare v1.2.270.dev
+
+=== 1.2.269 (2015.01.26) ===
+
+ * (aa19b5f) v1.2.269
+ * (481e105) Merge pull request #436 from Toilal/bootstrap-update[[BR]]
+ Bootstrap update
+ * (c669983) Update bootstrap.py with latest virtualenv
+ * (7366d70) Add virtualenv to jenkins-requirements.txt for paver bootstrap to work
+ * (945cd52) Allow 3 digit episodes for series begin (SXXEYYY)
+ * (5ee161f) Add itorrents.org to torrent_cache plugin
+ * (2b465b4) Prepare v1.2.269.dev
+
+=== 1.2.268 (2015.01.23) ===
+
+ * (d009d3d) v1.2.268
+ * (494f2a4) Stop crash during exit for certain commands.
+ * (9135514) Prepare v1.2.268.dev
+
+=== 1.2.267 (2015.01.23) ===
+
+ * (4bf25c3) v1.2.267
+ * (97a1633) Clean up daemon shutdown: Stops scheduler from adding to the queue once shutdown has been requested. Adds better log message for 'daemon stop' command.
+ * (7d61ce5) Prepare v1.2.267.dev
+
+=== 1.2.266 (2015.01.19) ===
+
+ * (ab56d1b) v1.2.266
+ * (bc377a1) Allow secrets plugin to run on dict keys
+ * (868872e) Fix 'database reset-plugin' cli command. fix #2877
+ * (2c998d9) Tweak backlog cli command a bit
+ * (d347dc9) Add cli command for viewing/clearing backlog
+ * (7c9ce2e) Prepare v1.2.266.dev
+
+=== 1.2.265 (2015.01.18) ===
+
+ * (7627943) v1.2.265
+ * (6ead356) Merge pull request #435 from Lugoues/disable_crash_fix[[BR]]
+ Fix disable plugin crash when interval not met.
+ * (f87e164) fixed an issue with disabled.py where it would crash if the interval was not yet met
+ * (026ff0b) Fix unit test crash from manager.crash_report
+ * (511330c) Fix some bugs with lazy setting of fields by set plugin.
+ * (d9d3111) Don't make crash reports for unit tests.
+ * (f0b8317) Merge pull request #433 from Flexget/crash_reports[[BR]]
+ Separate crash report logs. fix #2876
+ * (d4fe516) Simplify exception handling in task_queue
+ * (44bc4df) Add manager.crash_report to write last debug log and traceback to separate log files
+ * (385786b) Merge pull request #420 from Ram-Z/exits_movies[[BR]]
+ Scan for files and dirs, and allow different qualities.
+ * (4047e89) Fix variable name.[[BR]]
+ Oops
+ * (e5ba9c8) Update documentation
+ * (18d3d19) Add unit test for lookup: imdb
+ * (4a44a4b) Change syntax to lookup: imdb
+ * (23b40c5) use pattern to exclude dirs
+ * (2945b42) use path.py
+ * (a76b603) precompile pattern
+ * (d27b97a) Scan for files and dirs, and allow different qualities.
+ * (663ad17) Prepare v1.2.265.dev
+
+=== 1.2.264 (2015.01.17) ===
+
+ * (e96fef1) v1.2.264
+ * (6e78dba) Add log message when daemon shutdown requested.
+ * (ba7ef17) Fix issue with emit_series outputting duplicates in some cases
+ * (cb66e2b) Improve emit_series tests to expose some issues with backfill combined with series begin
+ * (5993008) Let trakt_list fill series_name field for show type list items
+ * (d9d62b0) Prepare v1.2.264.dev
+
+=== 1.2.263 (2015.01.15) ===
+
+ * (cbdf069) v1.2.263
+ * (9371824) Hide DeprecationWarning. Show internal ones when using a dev version. fix #2870
+ * (563e5e8) Remember tail plugin position per task. fix #2874
+ * (bcce7e9) make sure the request exception has a response object
+ * (064a0c7) Merge pull request #431 from cvium/trakt_error_messages[[BR]]
+ separate authentication and regular http errors in trakt
+ * (28d614c) separate validation and regular http errors
+ * (650daaa) warn about empty folders when emitting queue
+ * (dfaad2d) Remove input caching for tail plugin.
+ * (5894656) Fix specifying exec arguments with inject cli command.
+ * (ac4cd7a) Prepare v1.2.263.dev
+
+=== 1.2.262 (2015.01.14) ===
+
+ * (f8761ef) v1.2.262
+ * (51c304e) Merge pull request #427 from cvium/develop[[BR]]
+ handle disappearing folders (eg. samba shares) in listdir
+ * (12a4598) changed log message
+ * (08fb5f5) handle disappearing folders (eg. samba shares)
+ * (b2fa5cb) Stop replacing dashes in trakt slugs.
+ * (6cf01e2) Merge pull request #424 from grasdal/develop[[BR]]
+ trakt_emit: fixed parsing error for getting show data
+ * (a0d48f4) trakt_emit: fixed parsing error for getting show data[[BR]]
+ See example of json response data from[[BR]]
+ http://docs.trakt.apiary.io/#reference/users/watched/get-watched[[BR]]
+ Previous Flexget code was looking for a "type"-attribute that is no longer available in the response.
+ * (d85eecd) Merge pull request #430 from Flexget/lazy_set[[BR]]
+ Refactor set plugin to render templates lazily.
+ * (0f8c15b) Set plugin won't make non-jinja templates lazy.
+ * (574ef5e) Fix comment typo.
+ * (f0b240c) Refactor set plugin to render templates lazily.
+ * (6cdaa0e) normalize location path so already queued items can be updated
+ * (1b0091f) Prepare v1.2.262.dev
+
+=== 1.2.261 (2015.01.13) ^[wiki:UpgradeActions#a2015.1.121.2.261 upgrade actions]^ ===
+
+ * (6248c4a) v1.2.261
+ * (3381cb4) Merge pull request #429 from blastcodem/patch-4[[BR]]
+ Fix 503 Internal Error with urlrewrite_torrentleech when Char : is in the title.
+ * (d8199d6) Update urlrewrite_torrentleech.py[[BR]]
+ Fix 503 Internal Error when Char : is in the title.
+ * (72c45e6) Add basic test for `series list` cli command.
+ * (9e12abf) Combine disable_builtins and disable_plugin into disable plugin.
+ * (31bedb9) Prepare v1.2.261.dev
+
+=== 1.2.260 (2015.01.12) ===
+
+ * (e519a86) v1.2.260
+ * (5758a0c) Fix default loglevel when sending commands to daemon.
+ * (da1b722) Fix loglevel sometimes not being set and causing crash. fix #2849
+ * (b91f956) Ensure turning off retry_failed plugin totally turns it off.
+ * (a516a55) fix duplicate entries in queue and small changes
+ * (895733f) Prepare v1.2.260.dev
+
+=== 1.2.259 (2015.01.12) ===
+
+ * (0f1345a) v1.2.259
+ * (0c801c2) Fix accidential deletion from last argparse commit
+ * (bb4a99e) Fix custom cli commands to work with latest argparse change
+ * (cdebffa) Merge pull request #422 from Flexget/digest[[BR]]
+ Digest plugin. refs #1366
+ * (fade1f7) Add some more tests for digest plugin
+ * (3083dcc) Fix digest plugin unit test
+ * (b560bf1) Merge branch 'develop' into digest
+ * (c901d4c) Fix problems with cli arg parsing. (daemon loglevel issues)
+ * (13a3297) Change how specific task loglevel changing works. Fix up subparser defaults overriding parser action defaults.
+ * (7534f15) Change (fix) how nested namespaces work with our argparse customization
+ * (89be2fd) Prepare v1.2.259.dev
+
+=== 1.2.258 (2015.01.11) ===
+
+ * (7229a90) v1.2.258
+ * (770f242) Merge pull request #423 from sideeffffect/develop[[BR]]
+ Pass on the hide_sparse_files and keep_subs options
+ * (25b49b2) Pass on the hide_sparse_files and keep_subs options
+ * (333395e) Merge pull request #425 from cvium/develop[[BR]]
+ handle pluginerrors in configure_series
+ * (b55fee3) catch plugin errors to avoid task aborts
+ * (b1a09b7) fix subtitle_queue tests
+ * (1ce6d75) Prepare v1.2.258.dev
+
+=== 1.2.257 (2015.01.10) ===
+
+ * (2dfd33e) v1.2.257
+ * (0eff479) Update trakt testing url
+ * (02396d7) temporarily remove failing tests
+ * (0d132ee) Merge remote-tracking branch 'upstream/develop' into udevelop
+ * (1430b08) Fix trakt_list crash when there is no title for item.
+ * (277e9f3) better approximation of directory name in queue, and handle upper case file extensions
+ * (fce5304) fixed missing entry field and queue now handles multi-file torrents
+ * (acfa0e2) fix bug from last commit
+ * (c0e9c2d) fix unhandled error, pep8 and do not delete from queue in the first 24 hours when file does not exist
+ * (56d2758) Prepare v1.2.257.dev
+
+=== 1.2.256 (2015.01.09) ===
+
+ * (2e38e60) v1.2.256
+ * (f0e5c6b) Fix bug in last emit_series commit.
+ * (181574d) Make sure emit_series only emits next episode when backfill is off.
+ * (ef9128a) Add test to make sure backlog isn't emitted from emit_series when backfill is off
+ * (c0f01d3) Don't error on warnings during unit tests anymore
+ * (5443cee) Add basic test for digest plugin
+ * (6ada38f) Change default email template to support digest
+ * (891a911) Fix up 'limit' and 'expire' options for digest plugin.
+ * (842d20e) Start working on digest expire options.
+ * (4371b21) Don't overwrite existing task field with metainfo_task plugin.
+ * (0e2bd32) Initial digest plugin implementation.
+ * (7505443) Merge pull request #394 from cvium/subtitlequeue_v2[[BR]]
+ subtitle queue
+ * (7c77ee6) fix entries not marked as downloaded and add more robust subtitle checking
+ * (dd19d37) fix bug introduced in last commit
+ * (2e94b21) really fix the bug and some session changes
+ * (d7c32fa) fixed a dict bug
+ * (7afa347) some cleaning up
+ * (f3828aa) change missing_subtitles to subtitles_missing
+ * (be0d393) Merge remote-tracking branch 'upstream/develop' into subtitlequeue_v2
+ * (8613af9) Merge branch 'subtitlequeue_v2' of http://github.com/cvium/Flexget into subtitlequeue_v2
+ * (faac0de) set downloaded field if no missing subs, delete from queue if both paths do not exist
+ * (1f0c6ef) set field in entry 'missing_subtitles'
+ * (90756e0) Merge remote-tracking branch 'upstream/develop' into subtitlequeue_v2
+ * (a6917e6) fixed merge conflicts
+ * (0bf08b1) changed tests to accommodate new config schema
+ * (1d244a3) fixed some unhandled exceptions, changed json schema
+ * (26974f4) fixed queueing of accepted entries
+ * (2e8b363) fixed nonetype
+ * (9349fe8) some refactoring, no more task aborts
+ * (75f0217) skip subliminal test if subliminal is not installed
+ * (b47e5d6) unix file system is case sensitive
+ * (fc4b5fe) slight change
+ * (6bf1c37) subliminal requires absolute paths
+ * (7bf248e) set literals not in python2.6
+ * (20568bc) added a new test that uses subliminal
+ * (81d45b6) fixed some bugs (unicode and dict key missing)
+ * (74d98ec) fixed a bug in the test
+ * (4883b54) more refactoring, fixed some bugs in alternate_path and location handling
+ * (d840350) added mock torrent tests
+ * (f670e90) refactoring, no more downloading
+ * (b0de634) more tests
+ * (c915669) Merge remote-tracking branch 'upstream/develop' into subtitlequeue_v2
+ * (f35dc29) pep8, use utils/bittorrent, some refactoring
+ * (6b4e382) entry langs override config langs
+ * (9b51c10) use unicode() instead of __str__()
+ * (f04448a) bandaid fix for uniqueness constraints and some other changes
+ * (e8faa46) added another test for language uniqueness, emit test fails
+ * (a510938) Merge remote-tracking branch 'upstream/develop' into subtitlequeue_v2
+ * (9b72da5) https://gist.github.com/darkrho/1126793
+ * (97e70a5) fixed bugs and changed some logic
+ * (010dc13) added simple tests for subtitle_queue
+ * (0fc1527) beta draft of subtitle_queue
+ * (a3d8ae2) fixed set/list error
+ * (71cfcb9) fixed pep8 compliance and prepared subliminal for subtitle_queue
+ * (a56f172) Prepare v1.2.256.dev
+
+=== 1.2.255 (2015.01.08) ===
+
+ * (d26c59e) v1.2.255
+ * (95fe35c) Merge pull request #414 from Ram-Z/plugin-path[[BR]]
+ Search for plugins in config_base
+ * (1f5989b) Don't use mutable default argument
+ * (dd21b84) Search for plugins in config_base[[BR]]
+ instead of the hardcoded ~/.flexget/plugins. This effectively allows to[[BR]]
+ put plugins in $XDG_CONFIG_HOME/flexget/plugins.
+ * (f66ea82) Merge pull request #417 from Ram-Z/inject-fields[[BR]]
+ Set entry fields when injecting. fix #2845
+ * (96b2a45) Set entry fields when injecting. fix #2845
+ * (4c661d2) Make sure manual tasks don't run when --tasks * is used. fix #2830
+ * (52c3f30) Prepare v1.2.255.dev
+
+=== 1.2.254 (2015.01.07) ===
+
+ * (12976e9) v1.2.254
+ * (fc85826) Merge pull request #416 from programatix/patch-1[[BR]]
+ Update scheduler.py to ignore certain pytz errors.
+ * (36bfd5a) Update scheduler.py[[BR]]
+ Removed parenthesis.
+ * (6d9d8ae) Update scheduler.py[[BR]]
+ Updated exception handling using new catch syntax.
+ * (e026fcc) Update scheduler.py
+ * (09ac32e) Update scheduler.py[[BR]]
+ Added struct.error exception handling
+ * (8ea0460) Update scheduler.py[[BR]]
+ Catch all type of exception instead of just pytz.UnknownTimeZoneError
+ * (655cd6e) Better logging of simple persistence flushes Only flushes taskless simple persistence after tasks when in daemon mode
+ * (f3084f2) Catch network errors from rapidpush plugin. refs #2833
+ * (8ddc90f) Update cpasbien search for new search api.
+ * (2d1c540) Merge branch 'search_api_update' into develop
+ * (08ee521) Convert search_rss to use task session
+ * (5a2261c) Convert btn and kat search to use task session
+ * (6fb4e4b) Update some search plugins to take task argument.
+ * (0acb0df) Update search api to take task as an argument.
+ * (e0dd388) Stop replacing underscore in trakt slugs.
+ * (2ea84c2) Pushover sound default changed, now goes to client default really.
+ * (b02ca49) Add missing dependency apscheduler to rtd-requirements.txt
+ * (43a0fc8) Prepare v1.2.254.dev
+
+=== 1.2.253 (2015.01.06) ===
+
+ * (c56ab3b) v1.2.253
+ * (751a249) Fix database cleanup crash.
+ * (1924e28) Prepare v1.2.253.dev
+
+=== 1.2.252 (2015.01.06) ===
+
+ * (3c5a27a) v1.2.252
+ * (7bb8ccc) Count ftp_download as an output plugin. fix #2757
+ * (bc6e685) Make sure template and include plugins run before all other plugins. refs #2830
+ * (571313a) Make db upgrade system use single database session. refs #2838
+ * (b9502fc) Fix db locked error when upgrading series plugin database. fix #2838
+ * (c6f3747) Merge branch 'develop' of https://github.com/Flexget/Flexget into develop
+ * (8248571) Prepare v1.2.252.dev
+
+=== 1.2.251 (2015.01.05) ===
+
+ * (beed92f) v1.2.251
+ * (3fc959b) Merge branch 'develop' of https://github.com/Flexget/Flexget into develop
+ * (5f657a6) Merge pull request #413 from Flexget/simple_per_update[[BR]]
+ Switch simple persistence to load/flush from/to db outside task runs fix #2820, #2672, #2835
+ * (fe3f267) Make sure simple persistence flushes taskless key/values on shutdown Fix bug in simple persistence task loading
+ * (fdc6f47) Only load simple persistence values from db the first time a task is run
+ * (3016652) Make simple persistence load task values before task runs refs #2820, #2762 Add a cleanup method to simple persistence to delete values from removed tasks
+ * (a23f2d9) Make manager.db_cleanup event pass manager instance Add task.execute.started event Make sure task.execute.completed event only runs once when task reruns
+ * (b829f96) Add a docstring to simple persistence Make sure newly added values are stored to db
+ * (4c82773) Implement db flushing for simple persistence
+ * (1070f44) Start switching simple_persistence away from immediate db writes
+ * (cbc95aa) Prepare v1.2.251.dev
+
+=== 1.2.250 (2015.01.05) ===
+
+ * (95c0158) v1.2.250
+ * (4967df4) Merge pull request #406 from Flexget/emit_series_cleanup[[BR]]
+ Change how emit_series tries on reruns. fix #2826
+ * (b430529) Merge branch 'develop' into emit_series_cleanup[[BR]]
+ Conflicts:[[BR]]
+ flexget/plugins/input/emit_series.py
+ * (66d59a4) Switch to session context manager in api_tvdb
+ * (fcf383c) Switch input cache away from task.session
+ * (5b6b264) Fix typo, hvec -> hevc
+ * (58b7cc3) Add hvec as alias for h265
+ * (1c9dd84) Add h265 codec to quality parser
+ * (d43f458) Prepare v1.2.250.dev
+
+=== 1.2.249 (2015.01.04) ===
+
+ * (6c071d0) v1.2.249
+ * (de32f33) Remove debug sqlalchemy hook which is no longer needed
+ * (2a4c45e) Switch away from task.session in several plugins
+ * (857f645) Make sure log_once uses already open session from imdb_lookup
+ * (994f966) Convert log_once to use with_session helper
+ * (dce7902) Fix trakt_list for collection and watched lists.
+ * (80cf715) Merge pull request #411 from cvium/subliminal[[BR]]
+ fixed attribute error when downloading subtitles for movies
+ * (9a3e6f5) fixed attribute error when downloading subtitles for movies
+ * (40211bd) Merge pull request #412 from cvium/guessit[[BR]]
+ Don't let guessit parser set global guessit options fix #2775
+ * (ad41573) set default settings inside the parserguessit object instead of globally
+ * (2a88b86) Prepare v1.2.249.dev
+
+=== 1.2.248 (2015.01.03) ===
+
+ * (a160d46) v1.2.248
+ * (d6d47c5) Make sure a db session isn't open when series plugin calls 'set' plugin. refs #2828
+ * (ee61602) Update trakt_list test cassette to https
+ * (6deffbc) Switch trakt api to use https
+ * (2fced04) Prevent blank series name bug with trakt_emit.
+ * (ef5b57a) Switch from task.session to session context manager in emit_series
+ * (244ec69) Fix advancement to next season in emit_series cleanup branch
+ * (af1caa5) Change how emit_series tries on reruns
+ * (8d3a474) Prevent crash when giving ambiguous arguments to delete movie from queue
+ * (7a8080f) Fix a crash with trakt_list when it gets an item without a title.
+ * (1f7d9f5) Prepare v1.2.248.dev
+
+=== 1.2.247 (2015.01.02) ^[wiki:UpgradeActions#a2015.1.11.2.247 upgrade actions]^ ===
+
+ * (b515edd) v1.2.247
+ * (a506e95) Merge pull request #409 from Flexget/trakt_v2[[BR]]
+ Update trakt_list, trakt_emit, and trakt_add/remove plugins to the v2 api
+ * (c55ab41) Get trakt_emit working on trakt v2 api
+ * (ce7dd23) Make a helper to construct trakt api endpoint urls.
+ * (bec5256) Switch trakt_list test to use vcr
+ * (e86c926) Switch trakt to production site.
+ * (455da98) Fix trakt_slug setting for movies in trakt_list
+ * (1abefb4) Work a bit more on trakt_emit v2
+ * (57f4e0e) Merge branch 'develop' into trakt_v2
+ * (80be126) Populate a few more fields with trakt_list. Give eps proper urls.
+ * (83632ff) Update trakt_add/trakt_remove to trakt v2
+ * (5380868) Start updating trakt_emit for trakt v2
+ * (46463c5) Separate some common trakt functions to separate file
+ * (81c88cd) Initial implementation of trakt api v2 in trakt_list
+ * (217668b) Merge pull request #402 from kasperj/develop[[BR]]
+ update URL on language match only
+ * (f752137) Update urlrewrite_serienjunkies.py
+ * (b566663) update URL on language match only[[BR]]
+ The URL will only be updated if the language matches the requirements
+ * (d349f74) Update urlrewrite_serienjunkies.py
+ * (948cc28) Allow skipping of guessit roman numeral test.
+ * (f4291bf) Merge pull request #286 from Lugoues/dequeue_movie[[BR]]
+ combine queue_movies into movie_queue, add remove functionality
+ * (c972873) Fix movie_queue unit test again
+ * (b58cbe3) Add 'forget' action to movie_queue plugin.
+ * (0e8d64c) Fix a couple things and unit tests for movie_queue refactor
+ * (97a76aa) Merge branch 'dequeue_movie' of https://github.com/Lugoues/Flexget into new_movie_queue
+ * (97deff3) Update test_movie_queue.py
+ * (db37b1d) added unit tests for movie_queue accept/add/remove
+ * (7d78d1b) pep8
+ * (91fb2f8) remove deprecated queue_movie plugin
+ * (836e7d0) removed dequeue_movie plugin and updated movie_queue to support accept/add/remove
+ * (b5dbffc) added dequeue_movie plugin
+ * (fe6a73a) Prepare v1.2.247.dev
+
+=== 1.2.246 (2015.01.01) ===
+
+ * (05d4634) v1.2.246
+ * (f2e4618) Merge pull request #401 from grrr2/develop[[BR]]
+ Update plugin_transmission.py to fix #2804
+ * (122b21f) Update plugin_transmission.py
+ * (a5d8018) Update plugin_transmission.py to fix bug #2804[[BR]]
+ Try to fix bug #2804 by making RPC client object re-initiated for every task rather then doing it once for whole plugin.
+ * (1a21705) Prepare v1.2.246.dev
+
+=== 1.2.245 (2014.12.31) ===
+
+ * (e258fd2) v1.2.245
+ * (6a8824a) Use current session when series plugin adds to backlog. refs #2829
+ * (d64c527) Fix db locking issue with thetvdb_favorites. fix #2827
+ * (f4b3e37) Prepare v1.2.245.dev
+
+=== 1.2.244 (2014.12.30) ===
+
+ * (2624eba) v1.2.244
+ * (4b26031) Stop using task.session in discover plugin. refs #2825
+ * (dc1398c) Merge pull request #408 from Bop4yN/develop[[BR]]
+ Added url_title parameter to PushOver plugin. Use 'urltitle' to setup your own title for url.
+ * (960e29c) Added url_title parameter to pushover plugin
+ * (f4ccb0c) Merge pull request #407 from calvin/develop[[BR]]
+ Fixes for send_email plugin, hmac only works with `str` type in Python 2
+ * (5d3750b) hmac only works with `str` type in Python 2[[BR]]
+ See also http://bugs.python.org/issue5285
+ * (7dd1871) Prepare v1.2.244.dev
+
+=== 1.2.243 (2014.12.29) ===
+
+ * (a7d00c1) v1.2.243
+ * (860e618) Merge pull request #393 from xfouloux/develop[[BR]]
+ add search_cpasbien.py for tracker cpasbien.pe fix #2801
+ * (65c9a9b) updated plugins/search_cpasbien.py for join to work and modified according to dl link changes on the tracker.
+ * (19777d4) posixpath.join utilisation, and sanitize to use only single quotes
+ * (a66cdda) modified to have the all category
+ * (b192a71) did some change to update flexget doc cpasbien
+ * (c8491cb) changed for set literal again
+ * (02a7b38) changed set literal
+ * (e35ea46) fixed some indent errors in search_cpasbien.py
+ * (e66af59) changed pep8 indent as flexget supports 120 char per lines
+ * (20453b3) pep8 ok for urlrewrite_frenchtorrentdb.py
+ * (379e3be) pep8 indent ok for search_cpasbien.py
+ * (f7aa56d) modified urlrewrite_frenchtorrentdb.py now you get the message according to the right issue when the rewriter can't get the torrent file.
+ * (b1c3ab7) add search_cpasbien.py for tracker cpasbien.pe
+ * (1d214ab) Prepare v1.2.243.dev
+
+=== 1.2.242 (2014.12.28) ===
+
+ * (bfdf488) v1.2.242
+ * (be88951) UrlRewriter nyaa now supports new categories, default changed.[[BR]]
+ - anime eng (new default)[[BR]]
+ - anime raw[[BR]]
+ - anime non-eng
+ * (4b045d6) Merge pull request #404 from Konubinix/develop[[BR]]
+ Add an urlrewriter for the koreus site
+ * (52d1ceb) Add an urlrewriter for the koreus site[[BR]]
+ It was copied/pasted from the urlrewrite_deadfrog.py file and adapted.[[BR]]
+ It rewrite the url from the koreus rss entry to the download url from the[[BR]]
+ download page.
+ * (d289db9) Merge pull request #403 from Flexget/nullpool[[BR]]
+ Test if using a NullPool for db connections helps db issues.
+ * (3d41e83) Test if using a NullPool for db connections helps db issues.
+ * (db1cf26) Prepare v1.2.242.dev
+
+=== 1.2.241 (2014.12.27) ===
+
+ * (d7ca9b6) v1.2.241
+ * (2f7bc45) Make sure --discover-now is not activated on reruns.
+ * (8abf2d7) Don't forget identified_by when forgetting an episode if begin episode is set.
+ * (993d565) Reduce verbosity on emit_series reruns.
+ * (b373cb2) Plugin --dump now can now be instructed to dump only title field.
+ * (4caebb5) Quiet down emit_series log about non seq/ep based shows on reruns.
+ * (e4d5b92) Add some debug messages to explain emit_series reruns.
+ * (45a9cae) Merge pull request #405 from asm0dey/fix_rutracker[[BR]]
+ Fix rutracker plugin
+ * (5a7e269) Update plugin_rutracker.py[[BR]]
+ Removed itertools
+ * (4431d02) Update plugin_rutracker.py
+ * (16c40d6) Update plugin_rutracker.py
+ * (9cc926f) Prepare v1.2.241.dev
+
+=== 1.2.240 (2014.12.25) ===
+
+ * (9c2bcab) v1.2.240
+ * (aff0e86) Hide rpyc messages if we aren't running with debug logging. fix #2798
+ * (157a49e) Attempt to recover after database errors. refs #2820, #2762
+ * (e676bca) Prepare v1.2.240.dev
+
+=== 1.2.239 (2014.12.20) ===
+
+ * (730e13d) v1.2.239
+ * (9c8427f) Log error instead of crashing when search_rss has invalid template
+ * (73947d5) Prepare v1.2.239.dev
+
+=== 1.2.238 (2014.12.19) ===
+
+ * (cdc284e) v1.2.238
+ * (f460460) Merge pull request #395 from kasperj/develop[[BR]]
+ changed logging again
+ * (925d2b9) Update urlrewrite_serienjunkies.py[[BR]]
+ Travis CI should pass now
+ * (2efe2d1) changed Logging again[[BR]]
+ The changes i made a couple of days ago, are spamming logs even more then before, should be fixed with this update
+ * (56cdd05) Merge pull request #400 from cvium/develop[[BR]]
+ fixed keyerror in subliminal plugin
+ * (3dcdc10) fixed keyerror by forcing languages on config, also pep8 fixes
+ * (3a01bd7) Merge pull request #396 from kecksk0enig/develop[[BR]]
+ fix broken clean_transmission plugin for seeding only torrent. fix #2803
+ * (0b217ea) clean up big elsif mess
+ * (42a93e4) Also remove seeding-only torrent after given timeframe
+ * (79836c5) fix broken clean_transmission plugin for seeding only torrent see #2803
+ * (99dcd02) Prepare v1.2.238.dev
+
+=== 1.2.237 (2014.12.16) ===
+
+ * (95a6aed) v1.2.237
+ * (5d6f349) Update tpb domain
+ * (fd9d6ff) Update kat search plugin domain
+ * (5f1dd09) Fix issue with urlrewrite_redirect in unit tests from last commit
+ * (2cd300e) Allow multiple redirects in urlrewrite redirect. Prevent url being set to fragment with urlrewrite redirect. fix #2815
+ * (2ef45d6) Allow overriding of different (non-container) types in merge tool. fix #2814
+ * (da79dfa) Prepare v1.2.237.dev
+
+=== 1.2.236 (2014.12.14) ===
+
+ * (8d8d1fa) v1.2.236
+ * (56fe0da) Fix bug in last urlrewrite commit
+ * (affe8fc) Make sure urlrewrite plugin only affects tasks it is configured in. fix #2812
+ * (2023f8f) Fix crash when urlrewrite is configured to allow infinite rewriting
+ * (34dbc96) Prepare v1.2.236.dev
+
+=== 1.2.235 (2014.12.13) ===
+
+ * (5817493) v1.2.235
+ * (d02f1d4) verify_ssl_certificates now runs after include plugin. fix #2800
+ * (b3de5c9) Prepare v1.2.235.dev
+
+=== 1.2.234 (2014.12.09) ===
+
+ * (b5e5013) v1.2.234
+ * (353cbd5) Fix --test sending executions to live daemon when running
+ * (9e36359) Show usage for correct command when invalid arguments given
+ * (2543d16) Fix --help not showing plugin options. fix #2807
+ * (5a5f769) Refactor filling of content_files field for torrents to be separate than content_filter plugin
+ * (2c9c6ad) Prepare v1.2.234.dev
+
+=== 1.2.233 (2014.12.09) ===
+
+ * (06a1c34) v1.2.233
+ * (5b5ebff) Merge pull request #385 from kasperj/develop[[BR]]
+ Update urlrewrite_serienjunkies.py
+ * (9e29d38) Update urlrewrite_serienjunkies.py[[BR]]
+ Changed language RegEx, language error is send to urlrewriter, so it doesn't spam logs
+ * (070fb20) Update urlrewrite_serienjunkies.py[[BR]]
+ english language fixed, debug message added
+ * (0250c35) Fix timeframe calculations when assume_quality plugin is used. fix #2797
+ * (ac4893c) Prepare v1.2.233.dev
+
+=== 1.2.232 (2014.12.08) ===
+
+ * (5ece527) v1.2.232
+ * (5eec1dc) Prevent some crashes from secrets plugin when trying to render non-secrets jinja
+ * (0357e48) Prepare v1.2.232.dev
+
+=== 1.2.231 (2014.12.06) ===
+
+ * (439c172) v1.2.231
+ * (074c9bb) Try to reduce spamminess of rerun log messages a bit
+ * (e4173f0) Prepare v1.2.231.dev
+
+=== 1.2.230 (2014.12.02) ===
+
+ * (9c32854) v1.2.230
+ * (373c95d) Fix inject cli command. fix #2795
+ * (3c3f1f3) Tweak log message about tasks reamining to execute. refs #2798
+ * (78c262e) Fix parser errors going to client instead of daemon
+ * (72b5477) Add debug message when ipc runs a command for client
+ * (91ea43e) Only log ipc exit codes when they are non-zero
+ * (8038772) Fix --help and --version options when connected to daemon
+ * (009a46a) Add ability to specify file-like to output parser messages to
+ * (744a8df) Fix `schedules: no` turning off scheduler
+ * (6dada08) Prepare v1.2.230.dev
+
+=== 1.2.229 (2014.12.01) ===
+
+ * (3a737e3) v1.2.229
+ * (1eeb9ef) Merge pull request #390 from vincentbernat/fix/qualities-aac-priority[[BR]]
+ qualities: rank aac lower than ac3
+ * (3413fb9) qualities: rank aac lower than ac3[[BR]]
+ When the audio track is encoded with AAC, it is not uncommon for it to[[BR]]
+ be stereo only. On the other hand, the DD5.1 tag usually translates to[[BR]]
+ an AC3 audio track.[[BR]]
+ Therefore, rank an AAC encoded audio track below a DD5.1 audio track.
+ * (7dce196) Merge pull request #391 from vbabiy/720p50[[BR]]
+ Add support for 720p50
+ * (27f756a) Add support for 720p50
+ * (80aa940) Prepare v1.2.229.dev
+
+=== 1.2.228 (2014.11.30) ===
+
+ * (43e3d59) v1.2.228
+ * (d52c02d) Delete of alphe version of plugin_plex
+ * (c987214) Added TODOs
+ * (0929894) Initial commit of new plex plugin.
+ * (02d4468) Prepare v1.2.228.dev
+
+=== 1.2.227 (2014.11.25) ===
+
+ * (db6c89c) v1.2.227
+ * (2cf423d) Update kickass domain for kat search plugin kat search plugin now tries next search on failure instead of aborting
+ * (f668d34) Change qualities tests so that guessit mismatches are skipped and logged, not failed
+ * (467b3c8) Prepare v1.2.227.dev
+
+=== 1.2.226 (2014.11.23) ===
+
+ * (961a3c2) v1.2.226
+ * (95ac517) Some cleanups to commands using manager.execute events
+ * (0e05b16) Fix many debug options to execute command to work when sending to daemon
+ * (daad63b) Improve Manager.start and handle_cli documentation
+ * (e9f8ff8) Strip out some unneeded locking code. Document Manager initialization better.
+ * (ad6341d) Return root logger level to default when changed by capture_output context manager
+ * (4d2fba2) Fix logging formatter on python 2.6
+ * (35f072d) Switch 'setting loglevel' messages to verbose log.
+ * (c8f0fb1) Prepare v1.2.226.dev
+
+=== 1.2.225 (2014.11.22) ===
+
+ * (d2efdac) v1.2.225
+ * (d4a0aca) Fix unit tests for config validation change
+ * (066606b) Change before_config_validate event so that it can run on not currently active configs Fix 'flexget check' on running daemon with secrets plugin
+ * (213e067) Allow events to modify argument before passing it to next handler
+ * (e6a8abf) Fix 'check' command for running daemon
+ * (ed06234) Properly report config errors on manager startup
+ * (8caa25d) Fix an error with last commit
+ * (f30e4fd) Make remote streamer for ipc allow both str and unicode
+ * (1cd575f) Fix non-built-in commands
+ * (238708f) Prepare v1.2.225.dev
+
+=== 1.2.224 (2014.11.22) ^[wiki:UpgradeActions#a2014.11.221.2.224 upgrade actions]^ ===
+
+ * (bf752fb) v1.2.224
+ * (609dde7) Merge pull request #379 from Flexget/cli-daemon[[BR]]
+ Refactor client/daemon architecture:[[BR]]
+ - Second process doesn't load db/plugins/config[[BR]]
+ - All commands are proxied to running daemon[[BR]]
+ - Multiple execute commands can now queue into eachother[[BR]]
+ - --cron now a base flexget option (goes before 'execute')
+ * (8d22b95) Switch some plugins to use console method instead of print
+ * (efaf872) Remove Tee helper
+ * (8a0aa4e) Move all output redirection logic into logger module. Get output redirecting to proper stream via ipc.
+ * (8a48036) Make execute command wait for tasks to finish (without --cron)
+ * (f840cf9) CLI commands now sent to running daemon without loading plugins/config/db (still a bit more work/cleanup to do)
+ * (83b2193) Refactor logging capture to better handle threads
+ * (aaf7369) Fix last commit for python 2.6
+ * (8d8c1de) Refactor how contextual information is added to log records a bit. Prepare for adding command information to log records.
+ * (40097c7) Move --cron option to root level instead of execute command
+ * (f8cef65) Convert retry_failed to do its own rejecting instead of using remember_rejected
+ * (08ec260) Fix --dump showing failed entries
+ * (3de11b0) Convert backlog plugin to do its own db session management (drop task.session)
+ * (1195eb5) Make mock plugin generated urls constant per title.
+ * (2e75764) Merge pull request #386 from camon/develop[[BR]]
+ Fix language code prob and add extra config options to subliminal plugin
+ * (0dc2cef) Updated name variables and cleaned up a bit[[BR]]
+ Updated name variables and cleaned up the code that fixes[[BR]]
+ subtitles_subliminal plugin
+ * (7316709) Fix language code prob and add extra config options[[BR]]
+ There was a problem with Language codes, e.g. pt-BR was not supported.[[BR]]
+ Subliminal already supports this by using IETF codes[[BR]]
+ Added two extra options (that are not mandatory off course):[[BR]]
+ providers - allows to chose specific providers that are used for[[BR]]
+ subliminal to download subtitles[[BR]]
+ single - allows to download subtitles in single mode (no language code[[BR]]
+ added to subtitle filename)
+ * (01e0947) Merge pull request #377 from cvium/develop[[BR]]
+ Store series alternate_name in db[[BR]]
+ Use alternate_name in emit_series. fix #2530, #2588
+ * (7fbc35f) changed alt_name_lower column to alt_name_normalized
+ * (046e2da) added db unit-test and made other tests clearer
+ * (6fe0262) removed table edit
+ * (2087007) added unit-test for duplicate alternate names
+ * (29c1e89) raise pluginerror if duplicate alternames across multiple series
+ * (5a57468) Merge remote-tracking branch 'upstream/develop' into develop
+ * (856cc92) Prepare v1.2.224.dev
+
+=== 1.2.223 (2014.11.22) ===
+
+ * (e5587ea) v1.2.223
+ * (33b36ce) Merge pull request #382 from cvium/subliminal[[BR]]
+ subtitles_subliminal.py
+ * (408e947) actually save subtitles next to files
+ * (c5d1ed0) Merge pull request #383 from tnwhitwell/develop[[BR]]
+ Preventing AttributeError: object has no attribute 'title', BUG #2786
+ * (8821266) Changed warning to debug[[BR]]
+ -Removes some bloat from the log
+ * (240d6fa) Prevented AttributeError throwing more pythonly[[BR]]
+ throws warning if there is no title in first feed entry
+ * (5820177) Prevented throwing AttributeError if no title attr
+ * (f339d5a) Prepare v1.2.223.dev
+
+=== 1.2.222 (2014.11.20) ===
+
+ * (1278ccb) v1.2.222
+ * (dd0cad7) Merge pull request #381 from blastcodem/patch-2[[BR]]
+ Update urlrewrite_redirect.py
+ * (37793ec) Update urlrewrite_redirect.py[[BR]]
+ not log in = redirect[[BR]]
+ logged in = not redirect[[BR]]
+ we need to check the headers logged in.
+ * (a6de2e9) More unit tests
+ * (b09975b) Moved alternate names extraction inside search_entry
+ * (9db657b) added unit tests for alternate names
+ * (dc62414) Some more cleaning up
+ * (5f287ed) Cleaned up a bit and added better uniqueness constraints (per series) and duplicate handling.
+ * (08bd7d4) added log debug
+ * (e3f46e7) Fetching alternatenames from database instead of config
+ * (3901a94) Added table for AlternateNames, which is referenced in Series
+ * (cf7c766) Fixed unhandled iteration on NoneType
+ * (c4ac887) Handling alternate_name in emit_series.
+ * (e329501) Fixed typo
+ * (2ac1b3b) Prepare v1.2.222.dev
+
+=== 1.2.221 (2014.11.17) ===
+
+ * (fa12e55) v1.2.221
+ * (95e8edf) Fix crash in imdb_list with unexpected imdb page format. fix #2777
+ * (efa220c) Improve imdb_list schema: - Don't require user_id when using a custom list - Better error messages for invalid list specifications
+ * (6d31981) Make sure series timeframe doesn't crash when no qualifying releases in db. fix #2779
+ * (4ecbd1d) Make sure configured series are marked in database again. fix #2772
+ * (4649412) Prepare v1.2.221.dev
+
+=== 1.2.220 (2014.11.13) ===
+
+ * (5faeec0) v1.2.220
+ * (128c363) Merge pull request #376 from Flexget/quality_tweaks[[BR]]
+ Tweak quality parsing and interaction between series/quality/assume_quality plugins, fix #2748
+ * (3ad0659) Some cleanups to assume_quality plugin
+ * (8e16c8d) Stop passing quality into series parsers Make series parsing run before metainfo quality plugin Make assume_quality run after all other quality parsing
+ * (335bf15) Some cleanups to secrets plugin
+ * (321bf59) Regexp plugin reports errors properly for invalid regexps with options defined. fix #2769
+ * (e57ca00) Do not count plain 'web' as webdl quality. refs #2748
+ * (c62489e) Prepare v1.2.220.dev
+
+=== 1.2.219 (2014.11.11) ===
+
+ * (7320ef5) v1.2.219
+ * (3e945b1) Revert the prowl newline handling tweaks. They come through with proper yaml quoting.
+ * (20ce993) Make sure WAL mode is disabled on DB to prevent errors. refs #2749
+ * (224aedd) Merge pull request #374 from wick2o/develop[[BR]]
+ Removed Fancy encoding for simple replace()
+ * (280d3f9) added utf encoding
+ * (b05a234) Prepare v1.2.219.dev
+
+=== 1.2.218 (2014.11.09) ===
+
+ * (6a5843a) v1.2.218
+ * (b16b482) Merge pull request #373 from wick2o/develop[[BR]]
+ removed quote_plus in favore of quote
+ * (d3775bf) added utf encoding
+ * (1047b26) added utf encoding
+ * (2f73b1d) removed quote_plus in favore of quote
+ * (d9fb60b) Prepare v1.2.218.dev
+
+=== 1.2.217 (2014.11.09) ===
+
+ * (5a21352) v1.2.217
+ * (f12c947) Fix frenchtorrentdb urlrewriter. fix #2652
+ * (6d1803e) Stop sqlalchemy warning from series plugin when running with no tasks. fix #2539
+ * (e3a1300) Fix transmission rename when file already exists. fix #2765
+ * (a8396bb) Merge pull request #372 from wick2o/develop[[BR]]
+ adding \n support for prowl description
+ * (9481807) repaced replace() with urllib.quote_plus
+ * (d1f013e) adding \n support for prowl description
+ * (dfddd0f) Merge pull request #371 from wick2o/develop[[BR]]
+ adding \n support for prowl description
+ * (a601ebc) adding \n support for prowl description
+ * (d6ed8ee) Raise match requirement when comparing movies to imdb names.
+ * (390fbe5) Prepare v1.2.217.dev
+
+=== 1.2.216 (2014.11.09) ===
+
+ * (094fad7) v1.2.216
+ * (b8b1c3d) Make sure plugin loading doesn't try to travers non-directories.
+ * (79a6317) Make sure imdb cache doesn't ever have negative expiration dates. fix #2759
+ * (9f095c8) Fix scheduler when no system timezone at all is specified. fix #2741
+ * (2bff7de) Prepare v1.2.216.dev
+
+=== 1.2.215 (2014.11.06) ===
+
+ * (4118e95) v1.2.215
+ * (b71b423) Merge pull request #370 from hordurk/develop[[BR]]
+ Improved date parsing in RSS feeds
+ * (6ec898e) Improved date parsing in RSS feeds
+ * (87214d7) Catch ValueErrors from plugin imports. refs #2755
+ * (c0340be) Prepare v1.2.215.dev
+
+=== 1.2.214 (2014.10.31) ===
+
+ * (5664ea2) v1.2.214
+ * (121616e) Don't let parsing plugin touch other plugin instances too early refs #2754
+ * (35d19c5) Fix bad traceback being printed for an rss debug statement
+ * (3bbc4d6) Prepare v1.2.214.dev
+
+=== 1.2.213 (2014.10.30) ===
+
+ * (1ac6703) v1.2.213
+ * (f6cf7ef) Merge pull request #369 from Flexget/release_process_version_changes[[BR]]
+ Release process and versioning changes
+ * (71fff53) Stop including unit tests in our releases
+ * (7011fc5) Fix increment_version tool to handle versions without revision number properly Add some notes about versions and releases in _version.py
+ * (ee8a800) Clean up pavement.py
+ * (680ff8a) Clean up --version implementation a bit
+ * (e18592b) Remove references to {git} version number
+ * (2cf86bf) Refactor how pavement version management works some more
+ * (61e15a4) Move version number to its own file
+ * (14e1eb9) Start storing version number in source Redo some paver tasks to manage version number
+ * (ad22507) Add pep8 and flake8 defaults to setup.cfg
+ * (62e5988) Merge pull request #358 from malkavi/develop[[BR]]
+ Urlrewriter for anime-index.org
+ * (1769045) Simplify a lot the urlrewrite for anime-index
+ * (c7b5e0d) Merge pull request #2 from Flexget/develop[[BR]]
+ Don't have scheduler wait on jobs to finish when shutdown requested
+ * (cbdda7c) removed copy/paste line
+ * (47c38cd) Merge pull request #1 from Flexget/develop[[BR]]
+ Merge last changes
+ * (5871bf1) code cleaned
+ * (266cecc) First version of the urlrewriter for anime-index.org
+ * (3f9e6e0) Merge pull request #368 from nikdoof/develop[[BR]]
+ Add Cinemageddon rewrite plugin.
+ * (d0c65c2) Remove extra unneeded empty line.
+ * (527328b) Minor style/pep8 fixes for urlrewrite_cinemaggedon
+ * (4be1fcd) Add Cinemageddon rewrite plugin.
+ * (6c953eb) Another cleanup to search_rss
+ * (2470108) Make sure emit_series doesn't create duplicate search terms for sequence series
+ * (30b4c81) Fix search_rss plugin to handle multiple search terms properly
+ * (a329e31) Try another fix for scheduler timezones. refs #2741
+ * (4d643d0) Remove some magic and start documenting the parsing api
+ * (81b5acb) Clean up some unneeded bits from series parser
+ * (0ab3ee0) Add some tests to validate modular parsing api
+ * (11f5b91) Merge pull request #367 from z00nx/develop[[BR]]
+ Updated notifymyandroid api url
+ * (8e2448d) Updated notifymyandroid api url The old notifymyandroid url no longer has a valid ssl certificate and also all notifymyandroid documentation no longer refer to the old url.
+ * (831901e) Simplify plugin loading to not use pkgutil
+ * (3f801f6) Merge pull request #366 from Flexget/parsing_cleanup[[BR]]
+ Modular parsing system simplification
+ * (265d6b1) Remove metainfo argument to guessit series parser
+ * (bd85125) Use guessit autodetect type for metainfo
+ * (273394a) Merge branch 'develop' into parsing_cleanup
+ * (5f5e101) Series parser now take name param optionally and guess if not given A bunch of cleanup to the new parser code
+ * (b5bf408) Prevent tests that run against guessit/internal parsers from running a third time
+
+=== 1.2.212 (2014.10.25) ===
+
+ * (53047b6) Disable caching in find plugin
+
+=== 1.2.211 (2014.10.24) ===
+
+ * (012b015) Fix imdb genres test
+ * (b4ebc83) IPTorrents code cleanup
+ * (95d52d6) Use python's html parser for IPT search plugin
+ * (3ef1619) TSH search plugin add option to filter between P2P and scene releases
+ * (6cda5d8) Actually fix problems with unknown timezones in scheduler. fix #2741
+ * (b842318) Merge pull request #365 from geirgp/feature/imdb_filter_accept_genres[[BR]]
+ Added 'accept_genres' parameter to imdb plugin
+ * (c8a4eef) Added 'accept_genres' parameter to imdb plugin
+ * (d46dbe4) Fix urllib3 warning filtering on older versions of urllib3
+ * (2c1dcdc) Merge pull request #364 from Flexget/vcrpy[[BR]]
+ VCR.py
+ * (f7e667f) Add test for imdb_lookup caching
+ * (7f0bbcc) use_vcr will pass cassette as argument into function Add 'off' mode for vcr
+ * (66e8274) Set vcr record mode to none for travis
+ * (4273ee9) Remove some unused imports
+ * (b0fe590) Add vcr.py to jenkins requirements
+ * (00061e2) Switch all online tests to use vcr.py
+ * (7620458) Add use_vcr decorator to test suite Refactor domain_delay handling so that it can be mocked away
+ * (b06d6ad) Remove some unused imports
+
+=== 1.2.210 (2014.10.22) ===
+
+ * (dd5de57) Merge pull request #363 from nikdoof/develop[[BR]]
+ Add additional Torrentz domains to url rewrite_torrentz
+ * (c70a0eb) Update Torrentz domains
+ * (a8b2b47) Fix imdb_lookup caching
+ * (b2f8e5b) Fix path.py dependency in rtd-requirements
+ * (55ccd1d) Don't have scheduler wait on jobs to finish when shutdown requested
+
+=== 1.2.209 (2014.10.20) ===
+
+ * (7f12e48) Tweak log language about tasks still executing when shutdown is called
+ * (bcd55a0) Merge pull request #351 from sideeffffect/develop[[BR]]
+ hide sparse files Deluge creates when main_file_only is set
+ * (605b5cc) hide sparse files Deluge creates when main_file_only is set
+ * (a191739) Fix crash when invalid config was given for cronlike schedule. fix #2742
+ * (e8b8a1a) Merge pull request #356 from xetix/ftplist_patch[[BR]]
+ Ftplist patch
+ * (4bc96e8) Pep8-ized
+ * (e91c772) Better error handling
+ * (f74cce1) Added support to disable the size-check to speed up process if needed.
+ * (3d6b677) Fix for exception raised when issuing nlst on empty directories
+ * (2848e84) Merge pull request #361 from jawilson/pushbullet-links[[BR]]
+ Add support for pushbullet "Link" types with config specified URL
+ * (05bd67c) Add support for pushbullet "Link" types with config specified URL
+ * (7c5fd1f) Fix issue with updating local cache with tvdb info
+ * (03c507e) Make with_session decorator default sessions not expire_on_commit Should fix some DetachedInstanceErrors
+ * (65a026e) Scheduler stores times in UTC when local tz name cannot be determined. fix #2741
+ * (1099f99) Some cleanups to trakt_lookup
+ * (5d661db) Fix trakt_lookup db session usage
+ * (d3378e6) Fix imdb language test for changed imdb data.
+ * (b80b222) Catch tvrage library crash. fix #2739
+ * (e85cfc0) Cleanups in plugin_parsing
+ * (1190c21) Series plugin no longer tries to parse description field
+
+=== 1.2.208 (2014.10.15) ===
+
+ * (754bfbf) Merge pull request #357 from kabracity/patch-4[[BR]]
+ Update urlrewrite_divxatope
+ * (03d5e4e) Update urlrewrite_divxatope.py[[BR]]
+ Some changes to reflect format changes on divxatope
+
+=== 1.2.206 (2014.10.14) ^[wiki:UpgradeActions#a2014.10.141.2.206 upgrade actions]^ ===
+
+ * (35f7563) Merge pull request #343 from Flexget/apscheduler[[BR]]
+ replacing our scheduler with apscheduler
+ * (6e91391) Rename key for advanced schedules from 'cron' to 'schedule' in config
+ * (3c3d08e) Fix running of schedules that were due while daemon was offline
+ * (7c4b3b3) Ensure schedules not fired faster than they can finish with new scheduler
+ * (3b984ef) Fix plugin importing code on python 2.6
+ * (97df321) Adjust apscheduler logging to be quieter unless we are at debug level Improve apscheduler debug messages to display tasks being scheduled
+ * (3bd865a) Fix running schedules with a single task listed in apscheduler
+ * (d00941f) Adjust plugin loading so plugins can still be imported by regular means
+ * (1a784a1) Implement (still a bit broken) adding of jobs to apscheduler
+ * (6a60ec7) Remove unneeded bit from cron schedule schema
+ * (dedcce3) Start work replacing our scheduler with apscheduler
+
+=== 1.2.205 (2014.10.13) ===
+
+ * (fc8a92d) Stop warning about invalid encoded filenames to avoid path.py bug refs #2704, #2719
+
+=== 1.2.204 (2014.10.12) ===
+
+ * (efaa2cd) Let beautifulsoup do text decoding instead of requests in html plugin
+
+=== 1.2.203 (2014.10.11) ===
+
+ * (734c11c) Add --wait option to 'daemon stop' command, to wait for all tasks to finish task queue now logs how many tasks have to finish before shutdown
+ * (3165bb9) Improve output streaming from daemon to client process. refs #2721
+ * (213c547) Switch task to use new capture_output context manager
+ * (5acd94f) Make a context manager to capture all output to a stream.
+
+=== 1.2.202 (2014.10.10) ===
+
+ * (eabd5cf) Merge pull request #353 from Flexget/session_changes[[BR]]
+ Cleanup usage of database sessions
+ * (be24334) Alter how api_tvrage does subqueries and session management.
+ * (603983f) Don't expire automatic created sessions for tvdb lookup_series
+ * (2b4cdfe) Fix some imdb online tests
+ * (c853584) Move commits in imdb_lookup to only store new data.
+ * (4ed35cc) Remove unneeded db commits from api_tmdb. Improve documentation for api_tmdb behavior.
+ * (049dcdd) Remove unneeded db commits from api_tvdb. Document api_tvdb lookup behavior.
+ * (300abf5) Allow specifying arguments for Session when using with_session decorator
+ * (82d5126) Remove unused import
+ * (53c4cd6) Improve --debug-db-sessions output
+ * (6f32ae8) Shorten transaction lengths in api_tvdb
+ * (a2064c8) Update api_tmdb to minimize transaction open time
+ * (2e7291c) Update imdb_lookup Session usage
+ * (deb4d16) fix error in log message
+ * (7821049) Simplify with_session definition
+ * (99eb72b) SimpleTaskPersistence now manages its own Session
+ * (b06aa81) Make session context manager close session as well as transaction Prevents any instances from session opening a new transaction
+ * (3a8b2b9) Stop using task.session in series plugin Split up long transaction into one per series
+ * (4408cea) Stop storing Release db instances on entries
+ * (bf999d1) Split imdb_lookup session usage into chunks to reduce open transaction time
+ * (2420c8b) Add another missing dep to RTD requirements file
+ * (79e2a17) Attempt to fix RTD builds
+ * (a4c6c25) Handle ctrl-c when executing task on remote daemon. fix #2727
+ * (4b2bcfa) Make sure flexget arguments are always used as unicode. fix #2726
+ * (077a5b6) Switch some usages of Session to new context manager support
+ * (ba5df2d) Make our db Session usable as a context manager
+
+=== 1.2.201 (2014.10.07) ===
+
+ * (0705fad) --debug-db-sessions now logs when a transaction will write to db
+
+=== 1.2.200 (2014.10.07) ===
+
+ * (572ebcb) Add --debug-db-sessions
+
+=== 1.2.199 (2014.10.05) ===
+
+ * (dac3c76) Don't let urlrewrite_redirect rewrite urls it can't handle
+ * (6dffda8) Don't log url rewritten message if url hasn't changed. Fix urlrewriting passing task to urlrewriters
+
+=== 1.2.198 (2014.10.05) ===
+
+ * (73a8a70) Merge pull request #349 from skasi7/newpct[[BR]]
+ Fixes newpct urlrewrite plugin
+ * (3094113) Fixes newpct urlrewrite plugin
+ * (6b662c0) Fix a bug with guessit series parser and manually specified name_regexps
+ * (7cd21de) Add a warning when locale declares filesystem encoding as ascii. refs #2719, #2704, #2643, #2631, #2623
+ * (43024b7) Improve warning about no filters in a task.
+ * (7e9acd3) Fix bug in scan_imdb, fix #2722
+
+=== 1.2.197 (2014.09.30) ===
+
+ * (0e4a61b) Fix setting loglevel on python 2.6
+ * (35cbed0) Try to eliminate cases wher logging doesn't start properly.
+ * (ce8bbe4) Make manager init failure message print to stderr instead of stdout
+ * (7f20215) Make console logging go to stdout instead of stderr
+ * (6af769c) Error to console when failing to initialize manager, in case logging init failed
+
+=== 1.2.196 (2014.09.30) ===
+
+ * (84d8604) Ensure messages still logged to console when config file missing. Move sys.exit calls out of manager.py and into __init__.py
+ * (5facb01) Merge pull request #348 from kabracity/patch-4[[BR]]
+ update urwlrewrite_divxatope link handling
+ * (0f65266) update urwlrewrite_divxatope link handling[[BR]]
+ Update to reflect the new format for the links: "redirectlink" to identify the link and url without the "url" keyword. Backwards compatibility is maintained.
+ * (a874f1d) Merge pull request #347 from TomSpyCell/develop[[BR]]
+ Correct the entry field where size is saved in ftp_list
+ * (07fdc2a) Correct the entry field where size is saved
+
+=== 1.2.195 (2014.09.29) ===
+
+ * (c85a201) Error properly when content_filename is used with transmission <2.8
+ * (8a76f95) Merge pull request #345 from crawln45/develop[[BR]]
+ Fix rendering content_filename in transmission plugin. Fix #2714
+ * (1c30b3f) Fix rendering content_filename in transmission plugin. Fix #2714
+ * (d37d4f6) Sceneaccess plugin: Add docstring for process_categories method, session persistence across searches
+ * (46864aa) Torrentshack plugin code cleanup, session persistence between searches, fix for unhandled exception when there was no category configured
+
+=== 1.2.194 (2014.09.28) ===
+
+ * (8a49567) Merge pull request #344 from TomSpyCell/develop[[BR]]
+ Several fixes to ftp_list plugin
+ * (3423e51) Format urls when spaces are present in directories name
+ * (09e044e) Workaround for the weird behaviour of nlst function when multiple subdirectories are used
+ * (b701dba) Fix size computation for folders when MLST is not supoorted
+ * (2ae5aa3) Add proper detection of folders
+ * (7e47c1e) Revert "Make __version__ specification PEP8 compliant"[[BR]]
+ This reverts commit f79a2adbdf11b86e5590b1d8c241e23ff9034d0c.
+ * (795be78) Make session persistent between searches fix download URL construction error
+ * (8863d55) PTN plugin: fix for data scraping; login session persistence between searches
+ * (1150a96) Increase timeout when waiting for a database lock refs #2699, #2693, #2686, #2360, #2409
+
+=== 1.2.193 (2014.09.28) ===
+
+ * (58b4ce7) Merge pull request #342 from Flexget/per_plugin_sessions[[BR]]
+ Per plugin DB sessions[[BR]]
+ refs #2699, #2693, #2686, #2360, #2409
+ * (6730bdc) Fix emit_series plugin for per plugin sessions
+ * (8ed805b) Fix remember_rejected plugin for per plugin sessions
+ * (f8beb52) Fix series plugin remembering accepted releases to database
+ * (52dec74) Change task.session to be commited per plugin instead of per task
+ * (f79a2ad) Make __version__ specification PEP8 compliant
+ * (885a5e1) Cleanup redundant request headers in various plugins
+ * (86a5b08) Default FlexGet useragent string.
+ * (4972493) Move __version__ declaration before imports
+ * (71dcf2e) Clean up metainfo_imdb_url plugin
+ * (a57d9d0) Rip out old imdb_url hack
+ * (207293a) PTN admins were suspicious of python-requests UA - let's identify ourselves properly.
+
+=== 1.2.192 (2014.09.25) ===
+
+ * (b2e5e23) check command now displays the path of config file it is checking
+ * (47b6b36) Couple more cleanups to logging setup
+ * (d133ac5) No need to set formatter on the log buffer handler
+ * (ce8de01) Make sure all log messages emitted before logging start are stored
+ * (576f4da) Move --cron back to execute option
+ * (aecb857) Simplify logging setup, make messages before manager init more reliable
+
+=== 1.2.191 (2014.09.23) ===
+
+ * (47409aa) Let log_once be used when there is no active manager
+ * (a2b18a4) Make sure internal parser warnings are not spammed to log
+ * (fa1d4f8) Stop using Thread.join in scheduler
+ * (41dc0df) Make sure scheduler can actually be shut down on python 2.6 fix #2705
+
+=== 1.2.190 (2014.09.22) ===
+
+ * (6ce0f85) Merge pull request #341 from vkosh/develop[[BR]]
+ Fix log message args in exist_series
+ * (f714a78) Fix log message args in exist_series
+
+=== 1.2.189 (2014.09.20) ===
+
+ * (5ee3cce) Merge pull request #326 from Flexget/guessit[[BR]]
+ Add parsing plugin with choosable support for guessit
+ * (756b078) Make parsing logging debug level
+ * (aae6221) Clean up imports in parsing plugins
+ * (8d37a15) Change status __str__
+ * (7a96e2a) Make travis build less verbose and set guessit logging to info
+ * (bccae21) Update guessit to 0.9.3
+ * (01a79e2) Make more tests run against both guessit and internal parser
+ * (a200942) Add config_functions and tasks_functions to FlexGetBase (testing)
+ * (a71171a) Make parsing qualities same results with both parsers (with tests)
+ * (bd7eefd) Make movie parser tests run against both guessit and internal parser
+ * (cd284c6) Make sure default parser gets reset on task abort
+ * (0846bcb) Make series parser tests run against both guessit and internal parser
+ * (93abf7a) Make internal parser the default one
+ * (7647a8c) Reformat logging message
+ * (dce6c0d) Move docstring to good place
+ * (1efeeba) Fix custom parser configuration
+ * (6f5a25c) Make the parsers verbose
+ * (d9cf77d) Merge branch 'develop' into guessit[[BR]]
+ Conflicts:[[BR]]
+ pavement.py
+ * (6a7d1dd) Use guessit >= 0.9.2
+ * (fc17624) Make plugin_parsing a bit more dynamic
+ * (d5f44a0) Better parsers validation
+ * (7da4c8a) Move common parser code to plugin
+ * (66cc91a) Move whole internal parser code to plugin
+ * (bbf2df7) Move whole guessit code to plugin
+ * (f9b734a) Move parsers and make default parser less hardcoded
+ * (e69c5d6) Add plugins parsing (builtin), parser_guessit and parser_internal.
+ * (ebfcde7) Merge branch 'develop' into guessit
+ * (ce209b8) Fix allow_groups option
+ * (89a20af) Update guessit to 0.9.1
+ * (f8b7154) Merge branch 'develop' into guessit[[BR]]
+ Conflicts:[[BR]]
+ flexget/plugins/filter/exists_movie.py[[BR]]
+ flexget/plugins/filter/exists_series.py[[BR]]
+ pavement.py
+ * (3a9d923) Add guessit 0.9.0 dependency
+ * (e6ca7c4) Fix date options with latest guessit
+ * (b575159) Fix more unit tests for series parser
+ * (3383f1f) Fix unit tests for series parser
+ * (e5bee59) Change parser in seriesparser unit tests
+ * (467e0de) Fix strict_name option for guessit parser
+ * (6bc169b) Fix identifier_type option for guessit parser
+ * (9644bdb) Add strict_name option to guessit_parser
+ * (e9f6353) Remove useless and buggy parsed_name in guessit parser
+ * (5a1f8ab) Add prefer_specials option to guessit parser
+ * (085ead7) Fix HR resolution quality from guessit parser
+ * (a645bd7) Add assume_special option to guessit parser
+ * (eaa9a50) Add episode complete and pack validation
+ * (7482040) Add allow_seasonless option to guessit parser
+ * (fd6ab94) Add proper_count in guessit parser
+ * (3aa6dad) Add allow_groups option to guessit parser
+ * (19bd3fa) Add id_regexps support in guessit
+ * (f9636c7) Use guessit version property for proper_count implementation
+ * (8dd375b) Fix idiotic name support (with identified_by: ep)
+ * (e8e09be) Add name cleanup and parsed compare support
+ * (05bf924) Disable weak episodes transformer for name parsing
+ * (a509160) Append year to name for series
+ * (19441f0) Add episode_prefer_number option to guessit parser
+ * (3a2ff25) Fix name normalization for series metainfo
+ * (ffc122f) Add name validation to parser_common
+ * (fb12b50) Move series metainfo plugin to new parser API
+ * (1b56d5d) Move series filter plugin to new parser API
+ * (174a9dd) Add new parsing API
+ * (8fbc6e7) Remove SeriesParser from pogcal_acquired
+ * (8ac57b2) Fix ParserInternal to work for movies
+ * (f210372) Replace MovieParser by guessit
+ * (b11bedc) Add guessit parser and get_parser method
+
+=== 1.2.188 (2014.09.17) ===
+
+ * (c054b5c) Merge pull request #339 from fcharlier/transmission_check_seed_limits[[BR]]
+ Fix check_seed_limits for transmission plugin
+ * (dc44213) Fix check_seed_limits for transmission plugin[[BR]]
+ The comparison between torrent.seedRatioLimit and torrent.uploadRatio[[BR]]
+ is inverted when checking against the torrent's own seed ratio limit.
+ * (3d34bbf) Merge pull request #338 from crawln45/develop[[BR]]
+ Fix RenderError Crash make_html
+ * (c3f905a) Raise PluginError and log RenderError on make_html
+ * (5679512) Added try block to make_html to catch RenderErrors
+ * (beda57a) Don't let queue_movies fail items because they were already downloaded
+
+=== 1.2.187 (2014.09.16) ===
+
+ * (067d398) Don't let redirect urlrewriter go online in unit tests.
+ * (deff8ff) Add a urlrewriter for urls that redirect. fix #2702
+ * (139d0b0) Make sure download plugin replaces % escapes if making filename from url. fix #2683
+ * (d940abd) Fix an emit_series debug message
+
+=== 1.2.186 (2014.09.13) ===
+
+ * (3447ceb) Don't join scheduler thread while waiting for it to exit.
+
+=== 1.2.185 (2014.09.13) ===
+
+ * (929048d) Make sure scheduler thread shuts down cleanly.
+
+=== 1.2.184 (2014.09.12) ===
+
+ * (8998028) Fix column type for storing schedule trigger ids.
+
+=== 1.2.183 (2014.09.11) ===
+
+ * (d6f322f) Revert "Try switching to NullPool to solve database locked issues. refs #2360, #2686"[[BR]]
+ This reverts commit 756e05d4c1215a6e3785cbde2df8c64998732ae0.
+ * (941f4a1) Catch timeouts in form login plugin. fix #2700
+ * (756e05d) Try switching to NullPool to solve database locked issues. refs #2360, #2686
+ * (4e4c333) Revert "Enable sqlite WAL to try to solve database locked problems." refs #2699 This reverts commit e2c118e32866605abb96bafd5dd7a5f0d1e53863.
+
+=== 1.2.182 (2014.09.09) ===
+
+ * (f4307c4) Fix plex plugin error introduced a few versions ago. refs #2697
+ * (921c275) Relax pushover url validation so that jinja works properly.
+ * (e714dd9) Clarify bootstrap.py requirements in readme a bit.
+ * (a100877) Fix api_tvdb on python 2.6. fix #2695
+
+=== 1.2.181 (2014.09.08) ===
+
+ * (94266cb) Actually set different user agent in torrentz plugin
+ * (2ed2d2c) Set different user agent in torrentz plugin. fix #2677, #2678 Improve error messages for torrentz search
+ * (45f5cf5) Make errors from search plugins in discover log to error log
+ * (2c86cd8) Disallow requests 2.4.0 in requirements. fixes #2690, #2684
+ * (4eca7a3) Fix docstring indentation
+ * (d2da5d3) Merge pull request #318 from blastcodem/patch-1[[BR]]
+ url_rewrite_torrent411 -> Discover+RSS with login
+ * (fb0159a) url_rewrite_torrent411 -> Discover+RSS with login[[BR]]
+ fixed :)
+ * (be20d97) url_rewrite_torrent411 -> Discover+RSS with login[[BR]]
+ copy / paste junk
+ * (fae6f7a) url_rewrite_torrent411 -> Discover+RSS with login[[BR]]
+ Missing S
+ * (469503e) url_rewrite_torrent411 -> Discover+RSS with login[[BR]]
+ First Fixes.. still need to fix re.compile.
+ * (7512d87) url_rewrite_torrent411 -> Discover+RSS with login[[BR]]
+ Sorry for double post.. I had to remove a line.. so here it is.. I had time to test it a bit and seems to work nicely![[BR]]
+ It will login only once a day. It will store the login info to the database for 1day[[BR]]
+ it will search in the html.[[BR]]
+ download files with login info..[[BR]]
+ all categories, sub-catogories are supported.[[BR]]
+ the rss is supported with login info.. works nicely.[[BR]]
+ formated with pep8 -> only some lines are too longs.[[BR]]
+ Thks!
+
+=== 1.2.180 (2014.09.08) ===
+
+ * (147327f) Fix debugging with pydevd (Eclipse, Intellij and PyCharm at least)
+ * (933eb87) Fix root level email configuration
+ * (09055c0) Fix torrent_alive crash when not configured in dict form
+ * (3f941e0) Fix email plugin schema declaration
+
+=== 1.2.179 (2014.09.07) ===
+
+ * (86502f8) Cleanups for pushbullet plugin
+ * (00fba96) Fix pushbullet default device value. fix #2691
+ * (c3c4345) Merge pull request #328 from Flexget/sqlite_wal[[BR]]
+ Enable sqlite WAL to try to solve database locked problems.
+ * (e2c118e) Enable sqlite WAL to try to solve database locked problems. refs #2409, #2360, #2686
+ * (581da08) Add httmock as a testing dep Add an offline test for trakt_list
+
+=== 1.2.178 (2014.09.07) ===
+
+ * (817ee34) Merge pull request #332 from crawln45/plugin_repair[[BR]]
+ Plugin Fixes
+ * (e74125d) Plugin Fixes
+
+=== 1.2.177 (2014.09.07) ^[wiki:UpgradeActions#a2014.9.61.2.177 upgrade actions]^ ===
+
+ * (7c4de4c) Merge pull request #331 from crawln45/develop[[BR]]
+ Fix emit_movie_queue prepare_config
+ * (cd7bd89) Fix emit_movie_queue prepare_config
+ * (8531fa4) Merge pull request #330 from crawln45/develop[[BR]]
+ Fix plugins by reverting prepare_config
+ * (77f6593) Fix plugins by reverting prepare_config
+ * (d739756) Add namespace declaration in test/rss.xml
+ * (63eba70) Merge pull request #329 from crawln45/develop[[BR]]
+ Plugin schema update 1
+ * (d04316a) Plugin fixup
+ * (5121886) Update 2 Plugin Schema
+ * (532e372) Plugin Schema update 1
+ * (f0fe9c4) Catch TMDBErrors on tmdb lookup to prevent aborts. fix #2689
+
+=== 1.2.176 (2014.09.05) ===
+
+ * (dfa991c) Merge pull request #327 from crawln45/develop[[BR]]
+ Converting plugins to schema type validator
+ * (f359206) Converting plugins to schema type validator
+ * (8d6aca2) Make sure lockfile errors happen before daemonizing. refs #2688
+
+=== 1.2.175 (2014.09.04) ===
+
+ * (72c49eb) Attempt to recover if scheduler thread crashes. refs #2686
+ * (bf7f39b) custom fields are sanitized properly for feedparser in rss plugin
+
+=== 1.2.174 (2014.09.04) ===
+
+ * (f7953fd) Merge pull request #325 from crawln45/develop[[BR]]
+ Add instructions for bootstrap.py in docs
+ * (3295691) Fixed rst markup to show correctly
+ * (75dec22) Adding more bootstrap.py instructions
+ * (87a91a0) Added instruction to bootstrap.py in docs
+ * (ee2a1e4) Allow 4 digit seasons in config for 'begin' setting in series. refs #2197
+ * (eb6573f) pep8ify all imports in core files
+ * (4389351) Remove unused import from scheduler
+
+=== 1.2.173 (2014.09.02) ===
+
+ * (5d59b7c) Merge pull request #322 from vbabiy/custom-virtualenv-readme[[BR]]
+ Updated readme, to explain how to get flexget in a custom virtualenv.
+ * (088cb00) Update quoting.
+ * (ebb79a2) Updated readme, to explain how to get flexget in a custom virtualenv without using bootstrap.
+ * (586b4fb) Merge pull request #323 from vbabiy/paver-upgrade[[BR]]
+ Upgrader paver and virtualenv version for bootstrap.py
+ * (b6854cc) Upgrader paver to 1.2.3
+ * (3bfec75) Merge pull request #324 from X-dark/develop[[BR]]
+ [FIX] netrc is a valid key for plugin transmission
+ * (4936266) [FIX] netrc is a valid key for plugin transmission[[BR]]
+ This fix the netrc key not being recognized after the ec1c113d commit.
+
+=== 1.2.172 (2014.08.30) ===
+
+ * (52383cd) Make sure any exceptions in task_queue thread are logged
+ * (fcef4ff) Make sure any exceptions in scheduler thread are logged
+ * (90c97e6) Make scheduler restartability less hacky
+ * (56a9acf) Remove unused imports from download plugin
+ * (2abc5eb) Fall back to entry title when jinja render fails in make_rss
+ * (9087f5a) make_rss handles rendering errors for the title properly
+ * (be60dfb) Merge pull request #317 from thomasleveil/torrent-cache-zoink.it[[BR]]
+ [magnet] add zoink.it to list of torrent caches
+ * (a683140) [magnet] add zoink.it to list of torrent caches[[BR]]
+ See gh-316
+ * (f35bfda) Merge pull request #315 from thomasleveil/download-better-err-msg[[BR]]
+ [download] improve error message
+ * (7d1ab08) [download] improve error message[[BR]]
+ while give[[BR]]
+ ```[[BR]]
+ 2014-08-30 12:24 INFO download bt-chat.com Downloading: Bering.Sea.Gold.Under.the.Ice.S03E02.480p.HDTV.x264-mSD[[BR]]
+ 2014-08-30 12:24 WARNING download bt-chat.com RequestException [Errno 1] _ssl.c:504: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed, while downloading https://torcache.net/torrent/C28D6A86369E095B7D3509D4C86C0BC09286995B.torrent[[BR]]
+ ```[[BR]]
+ instead of[[BR]]
+ ```[[BR]]
+ 2014-08-30 12:30 INFO download bt-chat.com Downloading: Bering.Sea.Gold.Under.the.Ice.S03E02.480p.HDTV.x264-mSD[[BR]]
+ 2014-08-30 12:30 WARNING download bt-chat.com RequestException [Errno 1] _ssl.c:504: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed[[BR]]
+ ```
+
+=== 1.2.171 (2014.08.30) ===
+
+ * (bcd2552) torrentshack TLD change
+
+=== 1.2.170 (2014.08.28) ^[wiki:UpgradeActions#a2014.8.281.2.170 upgrade actions]^ ===
+
+ * (9b06295) Make webui launchable again. (though still not work properly)
+ * (0433837) Fix unicode handling in listdir.
+ * (5e67450) Let requests handle url encoding in download plugin. refs #2676 Remove some urllib code from download plugin.
+ * (1806694) Fix unicode handling in exists_movie.
+ * (7584c31) Fix unicode handling in exists.
+ * (8b9cdef) Fix unicode handling in exists_series. Fix #1462
+ * (6adc85a) Oops, remove some leftover code.
+ * (5db72e4) Fix find plugin when some filenames aren't decodable.
+ * (83cf489) Switch to path.py for path handling in find plugin
+
+=== 1.2.169 (2014.08.28) ===
+
+ * (1ec1578) Make sure scheduler error about interval length isn't spammed
+ * (5256c91) Switch the hashing for scheduler triggers. All schedules will fire on the first run after this upgrade.
+ * (005eda0) Ensure tasks are marked as finished no matter what refs #2672
+
+=== 1.2.168 (2014.08.26) ===
+
+ * (c67bc46) Make sure we close our database sessions in a couple places refs #2672
+ * (429f5fb) Remove some unused imports
+
+=== 1.2.167 (2014.08.26) ===
+
+ * (0685ed9) Some cleanups and error message improvements to trakt plugin
+
+=== 1.2.166 (2014.08.24) ===
+
+ * (a1382a4) Turn off scheduler when no schedules defined.
+ * (2018736) Clean up scheduler event hooks Fix ability to restart scheduler
+ * (3146c8d) Merge branch 'daemon_plugins' into develop
+ * (bb4e2bd) Make scheduler loadable/unloadable on config change
+ * (4b76484) Change singleton pattern a bit, split it into tools
+ * (a353cfa) Fix warning about __new__ not taking arguments
+ * (3c04dfc) Change scheduler into a plugin.
+ * (5ba2f3b) Make sure error messages about --tasks are shown to ipc client fix #2667
+
+=== 1.2.165 (2014.08.21) ===
+
+ * (5567f06) Reduced rapidpush log level.
+
+=== 1.2.164 (2014.08.19) ===
+
+ * (1d98604) Merge pull request #311 from nielsenj/transbt[[BR]]
+ Many fixes and feature additions
+ * (6c3958d) Updates torrent start to do fewer queries.
+ * (ec1c113) Many fixes and feature additions
+ * (da95864) Use SIZE command to retrieve content-size when MLST is not supported
+ * (0780d6e) Add content-size to ftp_list produced entries
+ * (b92d36a) Add files-only and recursive option to ftp_list
+ * (0662ab1) Add proper encoding support to ftp_list
+
+=== 1.2.163 (2014.08.17) ===
+
+ * (6918bc5) Missing title in exception handler.
+
+=== 1.2.162 (2014.08.15) ===
+
+ * (4290f32) Fix for unlikely authentication error.
+ * (28c4d4b) Merge pull request #309 from Flexget/manager_refactor2[[BR]]
+ Move task execution out of scheduler
+ * (9a93e58) Move scheduler starting back to webui code.
+ * (da71d58) Fix ipc checking for tasks already in the queue.
+ * (5c1df90) Move BufferQueue to tools
+ * (b7f63ab) Move task execution to own thread to handle signals/ctrl-c gracefully
+ * (fbd9fe6) Fix some references to removed scheduler.execute
+ * (d842780) Refactor task queue and execution to be in manager Strip down scheduler to just queue executions
+ * (383f2e9) Move Tee class to utils
+ * (98bd70b) Remove `Job` class, merge the important bits of it straight to `Task`
+ * (b7692d5) Actually fix imdb_list with movies with no date.
+ * (f448440) Merge pull request #249 from tarzasai/config_secrets[[BR]]
+ Configuration secrets
+ * (6f7fc3f) manager.py fixed
+ * (add52f0) Plugin mode
+ * (3b2e5c8) Configuration secrets[[BR]]
+ As discussed in http://flexget.com/ticket/2523
+
+=== 1.2.161 (2014.08.14) ===
+
+ * (58262a3) Merge pull request #310 from dj-nitehawk/develop[[BR]]
+ Make imdb_list not assume the number of movies on a page is 250
+ * (e61d3c0) make imdb_list not assume the number of movies on a page is 250[[BR]]
+ issue discussed here:[[BR]]
+ - http://flexget.com/ticket/2663#comment:8
+
+=== 1.2.160 (2014.08.13) ===
+
+ * (0741201) Make sure loglevels don't get touched when not needed. refs #2660
+
+=== 1.2.159 (2014.08.12) ===
+
+ * (02751fa) Switch imdb_list to html5lib parsing and hack it to work
+ * (63951b6) Prevent imdb_list from crashing on movies with no year
+ * (6e57a24) Merge pull request #307 from Pretagonist/patch-1[[BR]]
+ Added keep_extension option, default true
+ * (660fadf) Added keep_extension option, default true[[BR]]
+ Sometimes it's desirable to be able to change a files extension with move plugin
+
+=== 1.2.158 (2014.08.12) ===
+
+ * (2423f7a) Merge pull request #306 from dj-nitehawk/develop[[BR]]
+ imdb_list import from HTML page instead RSS feed
+ * (f221aa3) new and improved imdb_list plugin completed
+ * (147912f) imdb_list improvements to include imdb_year
+ * (8d5c038) imdb_list finalized
+ * (539ccee) imdb_list with multipage html parsing super powers[[BR]]
+ this will parse all pages of a given imdb list without the 250 entry[[BR]]
+ limit of rss.
+ * (b79ef50) html parsing for imdb_list import with multipage support[[BR]]
+ html parsing with multipage support for imdb lists. no more 250 entries[[BR]]
+ limit of RSS.
+ * (821176f) auto fallback to html parsing if rss failed for imdb_list import[[BR]]
+ when the imdb watchlist page returns html (as at 11/8/2014) instead of a[[BR]]
+ valid rss feed, imdb_list will now automatically parse that html for[[BR]]
+ entries. will go back to rss when the feed corrects itself without any[[BR]]
+ need for flexget config changes.
+ * (0e9927c) imdb_list import from HTML page instead RSS feed[[BR]]
+ imdb watchlist rss feed is broken right now and can't be sure when and[[BR]]
+ if it will be back up. this will now parse the html page for movies and[[BR]]
+ create entries.
+ * (34e861f) Raise loglevel for message about changing loglevel. Try something else to troubleshoot ref #2660
+ * (da05d18) Merge pull request #304 from nanulf/develop[[BR]]
+ Add content_filename to transmission plugin.
+ * (c600ec0) Add content_filename to transmission plugin.[[BR]]
+ Add content_filename to transmission plugin, mimics the behavior of deluge plugin.[[BR]]
+ Tested with:[[BR]]
+ -Transmission 2.84[[BR]]
+ -TransmissionRPC 0.11
+
+=== 1.2.157 (2014.08.10) ===
+
+ * (93f4d9b) Fix for kat searches sometimes failing[[BR]]
+ For example when search query contains `-`, Kat strips it and redirects to a new search URL with HTTP return code 301.[[BR]]
+ This is probably better way to fix than hardcoding any acceptable characters.
+
+=== 1.2.156 (2014.08.09) ===
+
+ * (6cd162e) Add a log message when changing log verbosity. refs #2660
+
+=== 1.2.155 (2014.08.04) ===
+
+ * (0bcc083) Fix some issues with nyaa search
+
+=== 1.2.154 (2014.08.04) ===
+
+ * (6129f77) Merge pull request #298 from mirilex/patch-2[[BR]]
+ Update emit_series.py
+ * (4242255) Update emit_series.py[[BR]]
+ Sequences are documented with leading zeros, but emit_series does not emit any of those.
+
+=== 1.2.153 (2014.08.01) ===
+
+ * (4297dd9) Merge commit '4ee26f6701a422f974ba1fe85f3e4015de17474f'
+ * (4ee26f6) Merge pull request #300 from tarzasai/transmission_activitydate[[BR]]
+ Int field used instead of datetime. fix #2658
+ * (1997be7) Int field used instead of datetime
+
+=== 1.2.152 (2014.07.31) ===
+
+ * (81deb18) Merge commit 'b779ed6c9b19decfb215e8162923d72c31b5cbbb'
+ * (b779ed6) Log error when bad data from tvdb. refs #2657
+ * (3a67f01) Better error handling for bad tvdb data. fix #2657
+ * (6fbae76) Fix make_rss pubDate values. fix #2656
+
+=== 1.2.151 (2014.07.28) ===
+
+ * (37cc773) Merge commit '9651543d25ace9330a3c2ae470ce91f327f8076d'
+ * (9651543) Add support for text dates to series plugin. e.g. 1st may 2014
+ * (0b90465) Fix exec auto_escape option. fix #2529
+ * (fdf02dc) Prevent crash in imdb_list if no status from feedparser. fix #2621
+ * (7281c37) pep8
+ * (8b3eb9c) --stop-waiting normalizes series name. fix #2624
+
+=== 1.2.150 (2014.07.27) ===
+
+ * (152ca29) Merge commit '774dd237b4524c5a0f8f7e47273396287b72734c'
+ * (774dd23) Merge pull request #296 from nielsenj/trmajor[[BR]]
+ Added support for only downloading main file and optional subs
+ * (540c921) Fixed a few PEP problems and added other subtitles.
+ * (bf2b840) Only modify selected files if we find a main file. If addpaused is not defined use client defaults
+ * (8109b76) Fixes camelCase
+ * (aa183be) Added support for only downloading main file and optional subs
+
+=== 1.2.149 (2014.07.26) ===
+
+ * (eca46e4) Merge commit '8d8fd488fd4c129926c220f77de2cb60c2a8cbf0'
+ * (8d8fd48) Remove need for separate --loglevel for execute
+ * (efbe05d) Allow loglevel set per execution
+
+=== 1.2.148 (2014.07.23) ===
+
+ * (0b692ed) Merge commit 'd1d33525b23c38701bb70dbc20b359306206cd9f'
+ * (d1d3352) Better tvrage error handling. refs #2648
+ * (0a730da) Fix est_released crash with invalid movie_year. fix #2637
+
+=== 1.2.147 (2014.07.20) ===
+
+ * (15c9980) Merge commit 'd53e59b75e81abff0f794b723e1c9df76f6d8f39'
+ * (d53e59b) Merge pull request #297 from mirilex/patch-1[[BR]]
+ Updates urlrewrite_torrentz
+ * (913846e) Update urlrewrite_torrentz.py[[BR]]
+ search tries to get the wrong field "search_string" instead of "search_strings"
+
+=== 1.2.146 (2014.07.15) ===
+
+ * (0e3fd19) Merge commit '21489ba3ead1864dc65d05026b8810ec210b0e13'
+ * (21489ba) Merge pull request #292 from albel727/develop[[BR]]
+ Prevent some episode numbers from being treated as quality
+ * (da20558) Prevent some episode numbers from being treated as quality
+
+=== 1.2.145 (2014.07.14) ===
+
+ * (4426b89) Merge commit '7a51a5593aff01c47b7436cb50f3ee9d2a5d0b46'
+ * (7a51a55) Merge pull request #294 from kabracity/patch-3[[BR]]
+ urlrewrite_newpct.py torrent ID update
+ * (5d84350) urlrewrite_newpct.py torrent ID update[[BR]]
+ Added support for new torrent ID format detection ('id' : '<id>' instead of torrentID: '<id>'). Backwards compatibility maintained for links using the old format.
+ * (8cb82b6) Merge pull request #293 from immenz/develop[[BR]]
+ Fixed folder setting with PyLoad
+ * (dd888fc) update pyload.py folder looks if SET PATH is given in Entry and chose it over given folder config. This enables setting folder for each entry separately. (maybe reverse: folder setting over path setting)
+ * (049f537) update pyload.py Added possibility to change pyload folder dynamicly with jinja support
+ * (c655c55) Update pyload.py This fixes #2451 http://flexget.com/ticket/2451 (Pyload raises Internal API Error when adding Links with folder set)
+
+=== 1.2.144 (2014.07.13) ===
+
+ * (a4e7a88) Merge pull request #277 from kabracity/patch-1[[BR]]
+ Update to reflect inclusion of newpct1 domain
+ * (04b80e0) Update to reflect inclusion of newpct1 domain[[BR]]
+ - Detect newpct1 url as re-writable.[[BR]]
+ - Switched to regular expressions to simplify.[[BR]]
+ - Minor logic changes to save code.
+
+=== 1.2.143 (2014.07.07) ===
+
+ * (1bc8ac3) Merge pull request #290 from wakemaster39/fix_clean_transmission[[BR]]
+ Fixed clean transmission plugin torrent removal logic.
+ * (fd8be4f) Update plugin_transmission.py[[BR]]
+ Fixed a missing bracket causing the internal limits always to allow torrent removal.
+ * (39f47e5) Merge pull request #288 from exscriber/develop[[BR]]
+ plex plugin additions
+ * (a9ce52c) Update plex.py[[BR]]
+ change 'strip_non_alpha' option to except apostrophes (')
+ * (3fbc9f1) Revert da1156e..54d4e5b[[BR]]
+ This rolls back to commit da1156e4ce52b6047915a24a5743cbcc6d44d54c.
+ * (54d4e5b) Update plex.py[[BR]]
+ can be like this, but python regex smart enough to divide range '-' char from literal '-' without escape.
+ * (da1156e) Update plex.py
+ * (87d7757) Update plex.py
+ * (ba81c36) plex plugin additions[[BR]]
+ new option for non-latin letters in title[[BR]]
+ new generalized option for stripping all parens
+
+=== 1.2.142 (2014.06.27) ===
+
+ * (d0922ec) Merge commit 'b8c2f083132c20587708af291a21ddfb2935693b'
+ * (b8c2f08) To not append the extension to directory name[[BR]]
+ About http://flexget.com/ticket/2633
+
+=== 1.2.141 (2014.06.24) ===
+
+ * (645dab3) Merge commit 'b7878a4a9f6d68bb169c355686b02a6079d128f2'
+ * (b7878a4) Merge pull request #260 from tarzasai/file_operations[[BR]]
+ Added plugins to copy and delete files
+ * (0507ba1) Missing spaces
+ * (db2f4db) Changes in error handling
+ * (f3b8e3b) Just a missing pathscrub
+ * (d93e585) Added plugins to copy and delete files[[BR]]
+ "move" has been updated too.
+
+=== 1.2.140 (2014.06.23) ===
+
+ * (b31be56) Merge commit 'e985871f6f97bbc2bb3b3e990c8bad7e753073d0'
+ * (e985871) Merge pull request #258 from tarzasai/fix_exists[[BR]]
+ A more reliable exists plugin
+ * (503fef3) A more reliable exists plugin[[BR]]
+ The plugin currently compares entries and files/folders by title, but[[BR]]
+ the entry title for a file usually doesn't include its extension, so is[[BR]]
+ pratically impossible rely on exists when task input is provided by[[BR]]
+ find, listdir and several other plugins.
+ * (0ca12de) Merge pull request #250 from explo910/patch-1[[BR]]
+ pyload plugin updates, fixes #2527
+ * (c728eff) Update pyload.py[[BR]]
+ fixed http://flexget.com/ticket/2527
+ * (3845c05) Merge pull request #280 from wicastchen/patch-2[[BR]]
+ fix a bug with 'file_exts' option in aria2 plugin
+ * (355b184) fix a bug with 'file_exts' option[[BR]]
+ torrent file won't be downloaded in default,because of a 'not'.
+ * (c7a0f08) Merge pull request #285 from kabracity/patch-2[[BR]]
+ update urlrewrite_newpct.py url
+ * (9606bf4) update urlrewrite_newpct.py url[[BR]]
+ Updated return link to reflect the new www.newpct1.com links. (old url was working but wrongly matching the tv shows)
+
+=== 1.2.139 (2014.06.23) ===
+
+ * (dda53b4) Merge pull request #279 from Shorny/master[[BR]]
+ FIX urlrewrite_torrentleech bug (NONE Type contents)
+ * (43db292) Get back function validate_config() webui need
+ * (1e59639b) FIX urlrewrite_torrentleech bug NONType contents[[BR]]
+ Add size Terabyte to size parser
+
+=== 1.2.138 (2014.06.18) ===
+
+ * (e14460e) Merge pull request #283 from BrainDamage/transmission_seed[[BR]]
+ Improvements to transmission plugin
+ * (85b042c) forgot to rename entry in option validator in transmission plugin
+ * (bb6238e) renamed transmission_seeds_limits config key to transmission_seed_limits, corrected pathc to comply pep8
+ * (7ab3099) Edited the transmission plugin so that it can handle transmission internal limits for seed ratio and idle time, they are applied by default on the input plugin when onlycomplete is true, and optional in transmission_clean with transmission_seeds_limits
+
+=== 1.2.137 (2014.06.07) ===
+
+ * (50f75bd) Updated dnspython module name
+
+=== 1.2.136 (2014.05.27) ===
+
+ * (d4d87ed) Strip out categories from titles in imdb_list plugin. refs #2608
+ * (2444a03) Escape some characters in series regexes, refs #2608
+ * (b599986) Add category options to ptn plugin
+
+=== 1.2.135 (2014.05.27) ===
+
+ * (c1f0663) Remove reliance on manual cookie entry for ptn plugin.
+ * (8858a88) Fix issue with regexp plugin within if plugin.
+
+=== 1.2.134 (2014.05.25) ===
+
+ * (99b42bd) Fix PtN downloading.
+ * (8ba799b) Add a search plugin for PtN
+
+=== 1.2.133 (2014.05.24) ===
+
+ * (364a646) Don't mark btn as debug plugin
+ * (7b6cf14) Fix imdb tests
+ * (0f5e068) Merge pull request #259 from atabel/develop[[BR]]
+ Added urlrewrite for www.divxatope.com
+ * (8bb64fa) use flexget.utils.requests instead of urlopener
+ * (2a6d6d2) Added urlrewrite for www.divxatope.com
+
+=== 1.2.132 (2014.05.23) ===
+
+ * (9b43631) Don't validate path exists for transmission plugin. fix #2572
+ * (2c3a4da) Merge remote-tracking branch 'origin/deluge_schema' into develop
+ * (87d8a19) Update deluge plugin to new config schema
+ * (8932a04) Fix crash with est_released_series. fix #2522
+
+=== 1.2.131 (2014.05.21) ===
+
+ * (7cd9072) Fix issue with subliminal errors without messages
+
+=== 1.2.130 (2014.05.21) ===
+
+ * (d7398e4) Merge pull request #255 from tarzasai/content_bigfile[[BR]]
+ Filter torrents without a main file
+ * (a93c496) Filter torrents without a main file[[BR]]
+ An option in content_filter to reject multifile torrents without a file[[BR]]
+ at least 90% of total size.
+ * (a0b13a8) Merge pull request #262 from tarzasai/trakt_collected_lookup[[BR]]
+ A metainfo plugin for owned episodes
+ * (464d1d2) A metainfo plugin for owned episodes[[BR]]
+ Sets the trakt_in_collection flag for episodes found in the user library[[BR]]
+ (i.e. previously sent with trakt_add).
+ * (7a6584a) Don't break exec plugin on python 2.6
+ * (56e416a) Make sure non-ascii output from commands does not crash exec plugin. fix #2599, #2366, #2203
+ * (b0f9675) Switch torrentz search to use requests refs #2575
+ * (49b41e5) Fix a crash in set_series_begin output plugin.
+
+=== 1.2.129 (2014.05.20) ===
+
+ * (1801d04) Fix log message when uTorrent path not authorized
+ * (689519e) Fix new_eps_after series helper. (fix episode behind notification in cli series list)
+
+=== 1.2.128 (2014.05.19) ^[wiki:UpgradeActions#a2014.5.191.2.128 upgrade actions]^ ===
+
+ * (3c0d13a) Handle corrupted lock files better fix #2566
+ * (d889cc6) Make sure regexp_parse isn't sharing cache with text plugin
+ * (36698e3) regexp_parse now assumes local files are encoded in utf-8 refs #2584
+ * (701b428) Revert "Revert "Merge pull request #171 from scottwallacesh/master""[[BR]]
+ This reverts commit 5c8d8170403b269e3bba525e31f3327714e55232.[[BR]]
+ Clean up imdb_list now that logging in is dead.
+ * (d04ce8e) Fix bug with numeric task names and --tasks. fix #2593
+ * (99315e4) Monkey patch tvrage library to work around url change. fixes #2602, #2601, #2596, #2597
+
+=== 1.2.127 (2014.05.02) ===
+
+ * (9e0f699) Added dnspython as plugin requirement[[BR]]
+ Without a dns module most systems will loop for minutes (or forever), trying to connect.
+
+=== 1.2.126 (2014.04.16) ===
+
+ * (22b78cf) Added virtualenv activation example in the documentation.
+ * (e088354) Merge pull request #257 from gandazgul/patch-2[[BR]]
+ Added a new option "delete_files: Boolean" to clean_transmission
+ * (2ca2641) Added a new option "delete_files: Boolean"[[BR]]
+ Added an option to clean_transmission "delete_files", by default is false. If set to yes it will remove the downloaded files as when removing torrents from transmission. Useful when files have already been copied and were just left behind to finish a seeding goal.
+
+=== 1.2.125 (2014.04.04) ===
+
+ * (98615b6) Fix deprecation warning
+ * (6d4e40e) Merge pull request #251 from tarzasai/tvdb_submit[[BR]]
+ Manage TVDB favorites
+ * (ea212d8) Manage TVDB favorites[[BR]]
+ 2 plugins to add and remove series from user's tvdb favorites.
+ * (7e63ce3) Merge pull request #253 from dj-nitehawk/develop[[BR]]
+ fix duplicate pushes with pushbullet
+ * (4fb8fb1) minor update to pushbullet plugin
+ * (a623054) properly fixed the multi device push duplication[[BR]]
+ by not specifying any device idens, the push will be sent to all devices[[BR]]
+ of the user. or the user can specify only the devices they want to[[BR]]
+ receive pushes on.
+ * (28512e9) fix for flexget sending duplicate pushes with pushbullet[[BR]]
+ issue described here:[[BR]]
+ http://discuss.flexget.com/t/pushbullet-plugin-sending-2-pushes-per-match/81
+
+=== 1.2.124 (2014.04.02) ===
+
+ * (961b7aa) Fix deprecation warning
+
+=== 1.2.123 (2014.03.30) ===
+
+ * (4654abb) Merge branch 'whatcd_plugin' into develop
+ * (1eefbbc) Fixed schema formatting
+ * (a4a95aa) Enable specifying year as a non-string
+
+=== 1.2.122 (2014.03.29) ===
+
+ * (d4ff020) Merge pull request #242 from Flexget/whatcd_plugin[[BR]]
+ What.cd input plugin
+ * (b33d9a0) Reduce line-lengths to 120 or less
+ * (40d4820) Fix all PEP 8 errors except line length
+ * (5485c48) Improve invalid login detection
+ * (0ea1476) Made the User-Agent configurable
+ * (6baf196) Added some basic tests
+ * (f8e893a) Fix taglist
+ * (be49cf1) Added documentation
+ * (9781132) Change case of input parameters[[BR]]
+ This change can be stripped out if it would be better to leave them in[[BR]]
+ title case instead of lowercase (except acronyms and brnd names).
+ * (b936386) Fix case issue in params
+ * (4d1c9fa) Improve isinstance logic
+ * (c28fbc1) Fix boolean behaviour
+ * (0577779) Added support for the 'searchstr' parameter
+ * (bf6d1e5) Fixed boolean options not being correctly used
+ * (fadf15e) Fix paging logic
+ * (7b6ecd4) Add rate limiting
+ * (73f3906) Made dictionary comprehensions Python 2.6 compatible
+ * (2245aac) Fix schema
+ * (3250f9b) Add parsing of response
+ * (abace27) Change API parameters without a mapping to a list instead of a dict
+ * (73c0458) Changed config validation to use the schema property instead of the validator
+ * (046e4f0) Use PluginError instead of returning None
+ * (e913c80) First commit of a what.cd input plugin.[[BR]]
+ Nothing works except logging in and performing a search
+
+=== 1.2.121 (2014.03.27) ===
+
+ * (44f46ce) Merge pull request #245 from bepix/develop[[BR]]
+ Adding support for Jinja2 enabled specification of package names
+ * (94b5eb4) Added 'package' property with Jinja2 support.[[BR]]
+ The added property allows for setting indidivual package names.[[BR]]
+ Usage:[[BR]]
+ pyload:[[BR]]
+ api: xxx[[BR]]
+ username: xxx[[BR]]
+ password: xxx[[BR]]
+ parse_url: yes[[BR]]
+ queue: no[[BR]]
+ hoster:[[BR]]
+ - xxx[[BR]]
+ multiple_hoster: no[[BR]]
+ package: 'Series - {{series_name}} - {{series_id}}'
+ * (5c5fc35) Adding support for entry specific package names[[BR]]
+ This allows for a Jinja2 enabled specification of package names.[[BR]]
+ Usage:[[BR]]
+ pyload:[[BR]]
+ api: xxx[[BR]]
+ username: xxx[[BR]]
+ password: xxx[[BR]]
+ parse_url: yes[[BR]]
+ queue: no[[BR]]
+ hoster:[[BR]]
+ - xxx[[BR]]
+ multiple_hoster: no[[BR]]
+ set:[[BR]]
+ pyload_package: 'Series - {{series_name}} - {{series_id}}'
+
+=== 1.2.120 (2014.03.26) ===
+
+ * (5b546d3) Support for new sceneaccess section (nonscene releases)
+
+=== 1.2.119 (2014.03.22) ===
+
+ * (144e114) A bit faster
+
+=== 1.2.118 (2014.03.20) ===
+
+ * (df13c4c) Fix some false positives with series pack detection. fix #2521
+
+=== 1.2.117 (2014.03.20) ^[wiki:UpgradeActions#a2014.3.201.2.117 upgrade actions]^ ===
+
+ * (8035038) Rename episode advancement to episode tracking. - rename --disable-advancement to --disable-tracking for CLI - remove `allow_backfill: yes` option in favor of 'tracking: backfill'
+
+=== 1.2.116 (2014.03.20) ===
+
+ * (538c605) Fix login issue for sceneaccess[[BR]]
+ Caused when user-agent header is absent
+
+=== 1.2.115 (2014.03.18) ===
+
+ * (f9bdc0b) Work on json api a bit
+
+=== 1.2.114 (2014.03.17) ===
+
+ * (2702066) Merge pull request #247 from thisirs/tvrage[[BR]]
+ Force tvrage lookups when no upcoming shows
+ * (6642706) Force tvrage lookups when no upcoming shows
+
+=== 1.2.113 (2014.03.16) ===
+
+ * (7c55066) Series parser will not override passed in quality. Fixes assume_quality plugin with series plugin
+ * (82e210d) Merge pull request #246 from thisirs/eztv[[BR]]
+ Use requests from task in eztv rewriter
+ * (2a49cdc) Use requests from task
+ * (73307b8) Merge pull request #238 from thisirs/short[[BR]]
+ Add url rewriter for shortened urls
+ * (6e02077) Add url rewriter for shortened urls
+
+=== 1.2.112 (2014.03.15) ===
+
+ * (e1667ec) Prevent ImportError from twitterfeed plugin
+ * (a04ba3f) Order ep shows properly in cli series util. fix #2512
+
+=== 1.2.111 (2014.03.14) ===
+
+ * (9d95fc3) Merge pull request #241 from blastcodem/patch-2[[BR]]
+ Update urlrewrite_iptorrents.py
+ * (ebd6022) Update urlrewrite_iptorrents.py[[BR]]
+ nevermind[[BR]]
+ worked[[BR]]
+ No results from iptorrents: Page title unexpected: Could it be the login page?...
+ * (c88003d) Update urlrewrite_iptorrents.py[[BR]]
+ That did the trick for me. Is it how I should raise error? page title is different from logged in/not logged in
+ * (384e5f9) Merge pull request #243 from thisirs/eztv[[BR]]
+ Use find_all instead of just find to set attr urls
+ * (61db65e) Add url rewriter for eztv
+ * (839c19c) Merge pull request #235 from thisirs/develop[[BR]]
+ Add twitter feed plugin
+ * (274390a) Add twitterfeed plugin[[BR]]
+ Input plugin that tracks a twitter account for links
+
+=== 1.2.110 (2014.03.10) ===
+
+ * (0634fe4) Add sceneaccess and torrentshack search plugins.
+
+=== 1.2.109 (2014.03.09) ===
+
+ * (8c97bd9) Merge pull request #230 from JimShoe/master[[BR]]
+ Pushbullet send notifications to multiple devices
+ * (6015304) code formatting
+ * (9629f3b) Merge branch 'develop' of https://github.com/Flexget/Flexget into develop
+ * (70f21ec) pushbullet can now send notifications to multiple devices
+
+=== 1.2.108 (2014.03.08) ===
+
+ * (31d2b56) Tweaks to iptorrents search fix #2495 - search uses + instead of %20 for spaces - prevent crash
+
+=== 1.2.107 (2014.03.07) ===
+
+ * (48a6c99) Fix possible case of emit_series doing multiple seasons without backfill
+ * (4ab2db0) Show series begin with `series show` CLI command
+
+=== 1.2.106 (2014.03.07) ===
+
+ * (5d7de5e) Prevent crash of emit_series when used in discover plugin
+ * (4cbb8b3) Remove wheel universal flag, add license-file to setup.cfg
+
+=== 1.2.105 (2014.03.06) ===
+
+ * (0b36d3b) Merge pull request #239 from blastcodem/patch-1[[BR]]
+ Add Iptorrents search plugin and urlrewriter
+ * (55210f8) Update urlrewrite_iptorrents.py[[BR]]
+ Some line size, the rest is too tricky to change tell me what you think thanks![[BR]]
+ Style pep8 is done
+ * (ba33b32) Update urlrewrite_iptorrents.py[[BR]]
+ Style Check. Still need to clean long lines
+ * (2051906) Update urlrewrite_iptorrents.py[[BR]]
+ removed cookiejar stuff
+ * (e92a9ac) IpTorrent url_rewrite for discover plugin[[BR]]
+ Hi! Here is my first of any open source project ever :). I just needed a private torrent site other than torrentleech because lately they lost half of their database. So I just took the torrentleech plugin and adapt it to iptorrents. Work super good for me! Just need rss key, uid, and pass from cookies and rss page. Hope you like it, i'm not a super scripter but It work good for me. [[BR]]
+ Thanks!
+ * (609b04d) Merge pull request #233 from nlf/backfill[[BR]]
+ Add series backfill support:[[BR]]
+ - Add allow_backfill option for series plugin[[BR]]
+ - Add backfill option for emit_series plugin
+ * (9390e81) dont keep trying to backfill on reruns that are season advancements
+ * (95256b3) test season advancement
+ * (0870c92) make sure were on latest season before trying to advance to next season
+ * (11cb5ad) check for latest_season before try_next_season so we dont do too much searching in backfill mode
+ * (5b42597) more emit_series tests
+ * (eb8bb1d) more tests
+ * (61cc2e8) clean up discover tests a tad
+ * (419d94d) add more emit_series tests
+ * (8236600) move backfill tests to their own method
+ * (4f1cd64) more meaningful test for backfill: yes
+ * (870f68f) add basic backfill test
+ * (16defd8) add allow_backfill test
+ * (f8ffd88) allow_backfill allows backward advancement
+ * (64c8733) restore SeriesTask query
+ * (75a6ee3) Merge branch 'develop' into backfill
+ * (ae25df3) Merge branch 'develop' into backfill
+ * (436e7ce) first pass at backfilling
+ * (a4df46d) Merge pull request #236 from tarzasai/trakt_submit_types[[BR]]
+ Wrong type for entries with no series_name fix #2488
+ * (591e271) Wrong type for entries with no series_name
+ * (2955fe4) Merge pull request #237 from thisirs/eztv[[BR]]
+ Add url rewriter for eztv
+ * (c7987bd) Add url rewriter for eztv
+
+=== 1.2.104 (2014.03.04) ===
+
+ * (1d8492a) Merge pull request #234 from tarzasai/protect_imdb_id[[BR]]
+ Protect imdb_id field from rottentomatoes_lookup
+ * (0414c6c) Protect imdb_id field from rottentomatoes_lookup[[BR]]
+ If the alternate_ids list in rottentomatoes_lookup's movie object does[[BR]]
+ not contains a valid imdb_id, the plugin assign it to None on target[[BR]]
+ entry, eventually clearing a real value.
+
+=== 1.2.103 (2014.03.01) ===
+
+ * (051ff36) revert 653f67d... Merge pull request #226 from Flexget/subtasks
+ * (fd38205) Add a (currently failing) test for emit_series with discover
+ * (653f67d) Merge pull request #226 from Flexget/subtasks[[BR]]
+ Subtasks!
+ * (64d6cc9) Make inputs plugin run using subtasks
+ * (2070cc1) make_subtask helper now accepts an options dict
+ * (10dbd07) Make if plugin pass through requests session
+ * (4aabe30) Add a discover test using new subtask functionality
+ * (d4780b0) Allow passing requests session into new Task Make a helper for creating subtasks
+ * (8bae8ee) Make crossmatch just run one task for inputs Config format change, crossmatch/from now take a dict
+ * (77e1025) Convert discover plugin to running a subtask Config format change, discover/what now take a dict
+ * (4a6d8ef) Make a way to pass an already made session into a Task
+ * (9671b9f) Convert if plugin to running subtask
+ * (a14bb3a) crossmatch and configure_series to use auto_accept task option
+ * (c6c1b5b) Make accept_all plugin control task auto_accept option
+ * (2a829a1) Add auto_accept option to task
+ * (e2f7e60) Improve only_new test
+ * (245f7e6) Convert crossmatch to run subtasks
+ * (e552a70) Add a test for crossmatch
+ * (5bee64a) Test item filtering in subtask Automatically accept_all if no filter plugins
+ * (e92744b) Quick conversion of configure_series to run a subtask
+ * (c8410b9) Add task option for disabling builtins
+ * (f2d9704) Get rid of Task._reset()
+
+=== 1.2.102 (2014.02.28) ===
+
+ * (6e90977) Merge pull request #229 from mingtang/develop[[BR]]
+ Pushbullet Plugin[[BR]]
+ Thank you for the contribution @mingtang =)
+ * (284798e) pushbullet plugin: tweaked positioning of output and declaration of loop-specific (title and body) vs pushbullet (api_key, device_iden, type) options
+ * (2b4bd77) pushbullet plugin: changed log.debug for 500 response status to log.warning
+ * (c645cda) pushbullet plugin: cleaned up error handling output
+ * (1950d64) pushbullet plugin: updated default title
+ * (0004dfc) pushbullet output plugin[[BR]]
+ Example:[[BR]]
+ pushbullet:[[BR]]
+ apikey: <API_KEY>[[BR]]
+ device: <DEVICE_IDEN>[[BR]]
+ [title: <MESSAGE_TITLE>] (default: "{{task}} - Download started" -- accepts Jinja2)[[BR]]
+ [body: <MESSAGE_BODY>] (default: "{{series_name}} {{series_id}}" -- accepts Jinja2)
+
+=== 1.2.101 (2014.02.26) ===
+
+ * (2e0a48d) Merge pull request #227 from tubedogg/apple_trailers_2[[BR]]
+ Fix bug in apple_trailers
+ * (28540f7) Fix bug in apple_trailers[[BR]]
+ Download actual file…
+
+=== 1.2.100 (2014.02.25) ===
+
+ * (40ae77d) Fixed regexp for TPB URL rewriter
+ * (70207ac) Make sure clean_transmission respects --test mode
+ * (a153fae) Merge pull request #223 from tarzasai/trakt_list_ratings[[BR]]
+ Personal info on trakt list items.
+ * (9337037) Prefix
+ * (64bf8e8) Personal info on trakt list items.[[BR]]
+ Some info always present in custom list items, might come in handy to[[BR]]
+ filter stuff
+
+=== 1.2.99 (2014.02.24) ===
+
+ * (1c4466f) Make tvdb_id from trakt_list an int
+ * (dbcd978) Fix some issues with trakt_emit: - 'next' mode now works when next season is not yet in trakt - make tvdb_id an int - comments and cleanup
+ * (2683421) Make sure --inject and -v work together.
+ * (afdffa0) Fix schema
+ * (0cbbb37) Delicious unit tests[[BR]]
+ Also axes a defunct import.
+ * (53d075b) Allow old-style apple_trailers: 720p config[[BR]]
+ Updates docs and also removes some unneeded imports.
+ * (b1149e0) Fix trakt_emit schema defaults failing Copy trakt list slug making ability from trakt_list
+ * (8645306) Separate making trakt list slug to own function
+ * (954a5a4) Merge pull request #222 from tubedogg/apple_trailers_2[[BR]]
+ Apple Trailers 2.0
+ * (1f64d5e) Reenable apple_trailers unit test
+ * (84b8af5) Apple Trailers 2.0[[BR]]
+ Fixes the following bugs:[[BR]]
+ “The workingness” is now True.[[BR]]
+ Add genre filtering option.[[BR]]
+ Add movie_year, movie_studio and genres to entry.
+
+=== 1.2.98 (2014.02.21) ===
+
+ * (fe943b1) Merge pull request #221 from philbot9/develop[[BR]]
+ Updated deprecated functions in transmission plugin
+ * (9fadedd) Updated deprecated functions.[[BR]]
+ Updated "Client.info()" to Client.get_torrents()[[BR]]
+ and "Client.remove()" to Client.remove_torrent()
+
+=== 1.2.97 (2014.02.21) ===
+
+ * (d319759) Fix some bare excepts
+ * (7a42dbe) Fix example in trakt_emit
+ * (11fc457) Rename trakt_watched_lookup file
+ * (07db76b) Merge pull request #218 from tarzasai/trakt_latest[[BR]]
+ Emit episodes from trakt.tv
+ * (43c909d) Names
+ * (f2d4cb8) Little fixes for empty lists
+ * (c802df0) Class name
+ * (122da7e) Renamed in trakt_emit[[BR]]
+ When a custom list is provided, S01E01 will be the default "next[[BR]]
+ episode" for series never marked seen or collected by the user on[[BR]]
+ trakt.tv
+ * (603a281) Emit episodes from trakt.tv[[BR]]
+ The latest/next watched/collected.
+ * (bff92a9) Merge pull request #219 from tarzasai/trakt_watched[[BR]]
+ Set entries as watched by trakt seen status
+ * (e11080b) Name
+ * (ce13020) Set entries as watched by trakt seen status
+ * (82e34c1) Make utorrent plugin respect --test mode
+
+=== 1.2.96 (2014.02.20) ===
+
+ * (e5baf99) Merge pull request #220 from vergessen/develop[[BR]]
+ Changed nzbget plugin
+ * (3fbdfcb) added .nzb to the title passed to nzbget. Without this the downloads do not start as expected. Tested on nzbget current and develop
+
+=== 1.2.95 (2014.02.19) ===
+
+ * (2ba85fd) Merge pull request #217 from tarzasai/set_series_begin[[BR]]
+ Add set_series_begin plugin to set the first episodes to accept
+ * (3de4e07) A plugin to set the first episodes to download
+ * (07ba834) Fix up fallback filename decoding in bittorrent util. fix #2462
+ * (20041b0) Make sure find plugin won't crash on non-ascii extensions either. fix #2461
+ * (a0e5e22) Find plugin does not crash with non-decodable filenames. Better error messages when this happens. refs #2462
+
+=== 1.2.94 (2014.02.17) ===
+
+ * (534bfb4) Make sure a couple of seriesparser tests also work in auto mode
+ * (c797f2e) Cleanups to series parser and tests. Log when season packs are ignored.
+
+=== 1.2.93 (2014.02.17) ===
+
+ * (5326d81) Expand matching for unwanted_ep_regexps[[BR]]
+ Allows unwanted_ep_regexps to match 'Series 04 complete' and[[BR]]
+ 's04 complete' as well as 'season 04 complete'.
+ * (73aeb6d) Catch timeouts looking up from tmdb. fix #2284
+ * (573aa0a) More deprecation warnings fixed
+
+=== 1.2.92 (2014.02.16) ===
+
+ * (c3f1338) Merge branch 'master' into develop
+
+=== 1.2.91 (2014.02.16) ^[wiki:UpgradeActions#a2014.2.151.2.91 upgrade actions]^ ===
+
+ * (c609bf2) Merge commit '9764230787afc49bd4d3a6a8a4dd4c1e5dc51eef'
+
+=== 1.2.90 (2014.02.15) ===
+
+ * (5bc3a37) Merge commit '1d0355dd09db8ea8def3fa624c9ec2cda993374c'
+
+=== 1.2.89 (2014.02.14) ===
+
+ * (41fe067) Fix two deprecation warnings about e.message
+
+=== 1.2.88 (2014.02.13) ===
+
+ * (81203c3) Fix deprecation warning by changing e.message -> e.args[0]
+ * (1277840) Fix setting series begin for large seasons. fix #2197
+ * (9764230) Remove some possible separators for series date identifiers.
+ * (acc7222) Add support for series with 4 digit seasons (year). fix #2197
+ * (5c8cd3e) Add support for YYYYxMM.DD series date identifiers. fix #2210
+ * (3da3859) Convert pogcal to new schema
+ * (b6b8db9) Merge pull request #216 from night199uk/transmissiondep[[BR]]
+ [transmission] fix #2456: recent changes require a more modern transmissionrpc (0.11)
+ * (b432552) [transmission] fix #2456: recent changes require a more modern transmissionrpc (0.11)
+ * (1d0355d) Merge pull request #215 from tarzasai/tvdb_overview[[BR]]
+ TVDB series overview
+ * (21bd417) TVDB series overview
+ * (8a229f2) Fix two deprecation warnings about e.message
+ * (003e510) Don't crash with invalid lock file. fix #2407
+ * (202b7c4) typo
+ * (ffa7a3d) Add urlrewriter for frenchtorrentdb from foulou and tuxik fix #1561
+
+=== 1.2.87 (2014.02.12) ===
+
+ * (7d740d2) Make some debug tracebacks a bit more clear they were handled.
+ * (3f2c8d9) Make sure PluginError.value is always a string. refs #2454
+ * (38e7595) Move history plugin to learn phase.
+ * (d788ca9) Make sure no crash when current directory doesn't exist. fix #2452
+ * (8210b00) Make sure some possible config paths are native strings. refs #2452
+
+=== 1.2.86 (2014.02.11) ===
+
+ * (28d7649) Fix tvdb online test.
+ * (ac5432e) Workaround for tmdb3 bug. refs #2437
+
+=== 1.2.85 (2014.02.10) ===
+
+ * (b83ad3d) Merge pull request #211 from tubedogg/develop[[BR]]
+ aria2 Plugin - Bug Fixes
+ * (18d6684) Bug fixes[[BR]]
+ Set default for aria_config/dir so we don’t have to check it’s[[BR]]
+ existence repeatedly[[BR]]
+ Set correct parent_folders when multiple directories exist in the[[BR]]
+ torrent structure[[BR]]
+ Get movie_year and year to be set correctly when parsing movie names[[BR]]
+ Fix unicode bug when rendering fields before passing to aria2
+ * (9fa4454) Merge remote-tracking branch 'upstream/develop' into develop
+ * (7f3d969) s/aria/aria2/
+ * (f2c21de) Make bittorrent utility return native strings instead of byte strings. fix #2428
+ * (72853b8) Fix a unit test.
+ * (0021322) Make sure email plugin does not email on silent aborts.
+ * (8500514) Make task abort properties public, for plugins to view.
+ * (a01072b) imdb_lookup no longer tries to capitalize non-string errors. fix #2450
+
+=== 1.2.84 (2014.02.10) ===
+
+ * (f878117) Removed joinedload from imdb, improves performance. Refs #2364.
+ * (dfdd4b4) Tweak imdb joinedload query a bit.
+
+=== 1.2.83 (2014.02.08) ===
+
+ * (f027cb0) Merge pull request #210 from DColl/patch-1[[BR]]
+ Update plugin_transmission.py (base64encode & cli.add_torrent & cli.change_torrent) fix #2415
+ * (fab5866) Update plugin_transmission.py[[BR]]
+ corrected ommission, thanks Chase
+ * (1ed174a) Update plugin_transmission.py[[BR]]
+ Verified the access to the id with the return from the new add_torrent() function.[[BR]]
+ Valid
+ * (7cf4e3a) Update plugin_transmission.py[[BR]]
+ As of transmissionrpc-0.11-py2.7.egg/client.py[[BR]]
+ add() & add_uri() are deprecated.[[BR]]
+ Althought, I was getting transmissionError (Query failed with result:...) when trying to launch a new torrent. So I went in the rpc/client code and used the same syntax they use to base64 the data and everything'sback to normal working order ^^[[BR]]
+ Althought I suspect that line 339 (for id in r.keys(): ) won't work with the return from cli.add_torrent(), I'm not equipped to deal with that (don't know when it occurs)
+ * (ea538c3) Add description to default make_rss template
+
+=== 1.2.82 (2014.02.07) ===
+
+ * (518659a) Merge pull request #206 from tubedogg/aria_bugfix_1-2-81[[BR]]
+ aria2 Plugin - Better sample config; bug fixes
+ * (1224a71) Pythonic
+ * (b923891) Better sample config; bug fixes[[BR]]
+ Provide better sample configuration for cli[[BR]]
+ Catch additional render errors[[BR]]
+ Bug fix - use correct method of allowing aria2 to set gid
+ * (3a27003) Try to make download plugin failure reasons more descriptive.
+ * (e082ce5) Merge pull request #207 from tubedogg/prowl_bug_1-2-81[[BR]]
+ prowl Plugin - Change API URL
+ * (e386cac) Change API URL
+
+=== 1.2.81 (2014.02.06) ===
+
+ * (b188668) Make pylint be quiet
+ * (1304a5a) Add no_entries_ok plugin to silence nuisance warning messages
+
+=== 1.2.80 (2014.02.06) ^[wiki:UpgradeActions#a2014.2.61.2.80 upgrade actions]^ ===
+
+ * (5befcd7) Merge pull request #203 from tarzasai/trakt_submit[[BR]]
+ New trakt.tv add/remove plugins
+ * (2565a37) Small fixes
+ * (2b82d20) New trakt.tv acquire/remove plugins[[BR]]
+ Movies, series and episodes are automatically recognized and[[BR]]
+ added/removed to/from the trakt watchlists, collections, seen and custom[[BR]]
+ lists.
+
+=== 1.2.79 (2014.02.06) ===
+
+ * (e2e1626) Make sure find plugin doesn't crash with invalid timestamps. fix #2434
+ * (35a54ff) Work around encoding bug in tmdb3. refs #2392
+ * (4daebd3) Silence an ImportWarning from deluge plugin
+ * (8df3361) Add back --profile
+ * (0f4ab3d) Fix --explain-sql
+
+=== 1.2.78 (2014.02.05) ===
+
+ * (af72102) Make path encoding/decoding helpers a bit closer to python 3 ones
+ * (ad938d3) Find plugin handles filesystem encoding better. refs #2295, #2065, #989, #1347
+ * (6da03be) Cleanups
+ * (b296f22) Make sure imdb_id field is being used over imdb_url
+ * (fa3a5dc) Fix a bug in subtitles plugin
+ * (0fe2150) Remove broken imdb_rated plugin
+
+=== 1.2.77 (2014.02.04) ===
+
+ * (3ef8558) Let dump try converting field values to strings[[BR]]
+ Values in some fields can be objects, which may be able to produce[[BR]]
+ their own string representations. Give it a shot before outputting[[BR]]
+ 'not printable'. Mostly for series_parser.
+
+=== 1.2.76 (2014.02.04) ^[wiki:UpgradeActions#a2014.2.31.2.76 upgrade actions]^ ===
+
+ * (507a8b2) Fix archive plugin schema
+ * (864d051) Make sure __unicode__ method of PluginError always returns unicode
+ * (57e5f95) Update some more plugins to new schemas
+ * (3b33a68) Fix series assume_special test
+ * (4ec3718) apple_trailers plugin now raises a PluginError Disable apple_trailers test
+ * (fbe090d) Rename scenereleases plugin to sceper and update a bit. Fix the unit test for it.
+ * (683863b) Add python 2.7 check to subliminal plugin. fix #2420
+ * (9b76cc2) Expand default special identifiers
+
+=== 1.2.75 (2014.02.02) ===
+
+ * (7a2a6ce) Make --test mode work properly with a running daemon. fix #2376
+ * (b3c774e) Merge pull request #199 from tubedogg/develop[[BR]]
+ aria2 - PEP8 & cli documentation
+ * (ab28a49) Bug fixes
+ * (43892f6) cli documentation
+ * (dbc4a15) PEP8 compliance
+ * (32a0541) Make sure api_tvdb is supplying unicode text values, fixes some SQLAlchemy warnings
+ * (f04cf87) Better debug info for @internet decorator
+ * (3f83001) Raise all warnings in unit tests
+ * (9f9d7dc) Add --debug-warnings cli flag to raise warnings to errors Catch raised warnings and print traceback without exiting
+ * (9fa864a) Merge pull request #196 from tubedogg/develop[[BR]]
+ Handle error cases better in aria2 plugin
+ * (a6f98f4) Need to import the error class first.
+ * (d38dc35) Catch render errors.
+ * (b3993c6) Catch socket errors
+ * (612fbe4) configure_series now sets series options based on the series plugin schema
+ * (5c80625) Tests for assume_special
+ * (7f0ead8) Add assume_special support to series[[BR]]
+ Series now accepts option 'assume_special'. If true, will cause any[[BR]]
+ entries with no IDs found to be flagged and processed as specials.[[BR]]
+ Also adds support to configure_series and fixes a typo in[[BR]]
+ configure_series.
+ * (4e22c8d) assume_special support for SeriesParser[[BR]]
+ Flag which, if true, causes any entries with no IDs found to be[[BR]]
+ flagged as specials.
+ * (935ddac) Reinforce this is only remember_rejected[[BR]]
+ Remind users that only rejections known by remember_rejected are[[BR]]
+ listed or cleared.
+ * (e976c88) Rejected command[[BR]]
+ Rejected command, functions the same as failed. Allows rejected[[BR]]
+ entries to be listed or cleared.
+ * (f7b6c0e) Make some help text a little more dynamic
+ * (c575563) List available levels in --loglevel output[[BR]]
+ Fixes http://flexget.com/ticket/2421
+ * (91f5891) prefer_specials support for configure_series[[BR]]
+ Also allows plugin to accept list of special_ids
+ * (730b4b9) Add prefer_series support to series[[BR]]
+ Series now accepts an option 'prefer_specials'. If true, entries in[[BR]]
+ that series which parse as both a normal id type (ep, etc) and a[[BR]]
+ special will be flagged as specials. If false, they will be flagged as[[BR]]
+ the normal id type.
+ * (234b06b) Support for prefer_specials in SeriesParser[[BR]]
+ If prefer_specials is True, an entry matching both a normal id type[[BR]]
+ and special will be flagged as a special. If false, entry will be[[BR]]
+ flagged as the normal id type.[[BR]]
+ E.g.: title: the show s03e04 special[[BR]]
+ prefer_specials = True -> series_id_type: special[[BR]]
+ prefer_specials = False -> series_id_type: ep
+ * (421a52e) Tests for prefer_specials[[BR]]
+ Will ensure prefer_specials is being obeyed correctly.
+
+=== 1.2.74 (2014.01.31) ===
+
+ * (b5eda12) Fix archive plugin handling of task aborts
+ * (5e12001) Fix spy_headers plugin
+ * (782e595) Merge pull request #192 from tarzasai/find_filedate[[BR]]
+ Find include file timestamp
+ * (4a12aa6) Find include file timestamp
+ * (78505f8) Merge pull request #194 from tubedogg/aria2[[BR]]
+ aria2 plugin
+ * (c6e0d39) aria2 plugin[[BR]]
+ Plugin for aria2, the "ultra fast download utility".[[BR]]
+ Requires [aria2c](http://aria2.sourceforge.net) be installed and[[BR]]
+ running in [daemon[[BR]]
+ mode](http://aria2.sourceforge.net/manual/en/html/aria2c.html#cmdoption-[[BR]]
+ D) with[[BR]]
+ [XML-RPC](http://aria2.sourceforge.net/manual/en/html/aria2c.html#rpc-in[[BR]]
+ terface) enabled, which are both set in the aria2 config file.[[BR]]
+ Plugin documentation can be found[[BR]]
+ [here](https://github.com/tubedogg/.flexget/blob/master/plugins/README.m[[BR]]
+ d).[[BR]]
+ (Note I added as a plugin in the main plugins directory since it is[[BR]]
+ [eventually] intended to be both an input plugin and an output plugin.)
+ * (bca5255) Merge pull request #195 from tubedogg/develop[[BR]]
+ Expose full torrent directory structure in content_files
+ * (43b4b22) Expose full torrent directory structure in content_files
+ * (771b0e6) Work on the windows service installer a bit more
+ * (d85f30a) Merge pull request #193 from tarzasai/metainfo_subtitles[[BR]]
+ Local subtitles check
+ * (c17d6c0) Local subtitles check[[BR]]
+ A metainfo plugin to check local files for subtitles.
+
+=== 1.2.73 (2014.01.30) ===
+
+ * (c651d51) Make sure emit_movie_queue test doesn't go online
+ * (53104ef) Add 'special_ids' support to configure_series[[BR]]
+ Will now be set for generated series from entry['configure_series_special_ids']
+ * (72b5f01) Add ability to specify 'special_ids' to series[[BR]]
+ Allow list of identifiers which will cause entry to be id'd as a special[[BR]]
+ to be extended.
+ * (6d2aa87) Add 'special_ids' to seriesparser[[BR]]
+ Allow list of identifiers which will cause entry to be id'd as a special[[BR]]
+ to be extended.
+ * (8559326) Update usage[[BR]]
+ Also remove unneeded debug messages.
+ * (1d9eac1) Ability to specify entry states to dump[[BR]]
+ Dump now supports multiple arguments, adding 'accepted', 'rejected'[[BR]]
+ and/or 'undecided' will cause dump to only output entries with matching[[BR]]
+ state.
+ * (3806171) Don't notify on travis successes.
+ * (a7ae953) Remove pypy test again
+ * (7c4e36b) Try some new travis settings
+ * (93f7657) Merge pull request #190 from crawln45/dev[[BR]]
+ Fixed tests for trakt and thetvdb.
+ * (18ed4c3) Fixed tests for trakt and thetvdb. Replaced lookup runtime with status.
+
+=== 1.2.72 (2014.01.29) ===
+
+ * (d92c8c3) Merge pull request #186 from tarzasai/subliminal_fail2retry[[BR]]
+ subliminal plugin now fails entries like periscope does
+ * (878545e) To fails entries like periscope do
+ * (879b8d8) Merge pull request #185 from tarzasai/transmission_better_check[[BR]]
+ Completed check fixed github:179
+ * (972619f) Completed check fixed[[BR]]
+ Now we define a torrent "downloaded" if its total size is greater than 0[[BR]]
+ and all selected files are > 0 (and downloaded).
+ * (ae966c2) Allow configure_series to set anything series can[[BR]]
+ Also ensures values given match the restrictions in schema.
+
+=== 1.2.71 (2014.01.28) ===
+
+ * (9b168f5) Merge pull request #182 from crawln45/develop[[BR]]
+ fixing test_trakt
+ * (d925c45) fixed typo in test_trakt.py
+ * (824065f) fixing test_trakt
+ * (b413e65) Fix some issues with trakt plugin
+ * (fc14790) Fix a tvdb test
+ * (87c2535) Left wrong rottentomatoes key in
+
+=== 1.2.70 (2014.01.28) ^[wiki:UpgradeActions#a2014.1.281.2.70 upgrade actions]^ ===
+
+ * (36cff4c) Make a manager.initialize event
+ * (57318b7) Fix client daemon ipc version negotiation
+ * (71cbeb5) Bump ipc version
+ * (31602c9) Add a 'daemon reload' command to reload the daemon config from disk
+ * (e4099fc) Make manager events a bit more consistent Change config loading to not call sys.exit() Moved config pre-check code to the check plugin.
+ * (0feedaa) Prefix field name with plugin[[BR]]
+ Series alternate names are now loaded from[[BR]]
+ entry['configure_series_alternate_name']
+ * (5b37b48) Configure_series with alternate_name[[BR]]
+ Series output by configure_series will now have alternate_name set to[[BR]]
+ the contents of entry['alternate_name'].[[BR]]
+ This commit merges tests used in development into test_series.
+ * (66017cd) Ability to import single alternate name
+ * (bdadf9b) Test for series configure loading alternate name
+ * (c93292f) Fix some references to import_series
+ * (c3eac19) Don't break python 2.6 compatibility
+ * (3804ca7) Rename deluge `user` and `pass` options to `username` and `password` Deprecate old options
+ * (545dd7e) Fix some deprecated usage of Exception.message
+ * (d6d5238) Stop suppressing deprecation warnings Make unit tests fail due to deprecation warnings Fix a few instances of deprecated get_plugins functions
+ * (1d1a9ea) Make our logging capture python warnings
+
+=== 1.2.69 (2014.01.25) ===
+
+ * (a054e34) Revert multiple keys for now, may be against the terms
+ * (8978e63) Add a third api key to api_rottentomatoes
+ * (2836e52) Add a second api key to api_rottentomatoes
+ * (02935c0) Update rottentomatoes_lookup schema
+ * (f86ecdc) Put a rate limit on requests to api.rottentomatoes.com Couple other tweaks to rottentomatoes
+ * (4be3d82) Allow fractional intervals
+
+=== 1.2.68 (2014.01.25) ^[wiki:UpgradeActions#a2014.1.251.2.68 upgrade actions]^ ===
+
+ * (356c544) fix headers test when run with other tests
+ * (748ca8c) Make sure @cached decorator obeys --no-cache flag.
+ * (3babb4c) username and password are required with imdb_list now. refs #2377, #2382
+ * (4d0c077) Merge pull request #178 from crawln45/develop[[BR]]
+ Catch IOErrors in move plugin, fix #2403
+ * (aa0eab0) Added full Error output for IOError
+ * (e86c819) Fixed up the error Handling a bit. Added the entry as failed.
+ * (d3cc072) Added check for single file move
+ * (6a9d51f) Make config selected log message actually work
+
+=== 1.2.67 (2014.01.25) ===
+
+ * (66f64d3) Merge pull request #177 from scottwallacesh/revert_pull_request_171[[BR]]
+ Revert imdb_list back to using CSV data instead RSS feeds.
+ * (5c8d817) Revert "Merge pull request #171 from scottwallacesh/master"[[BR]]
+ This reverts commit 41fad297d98ed03534a230ef9b0f2dc9948c5b1f, reversing[[BR]]
+ changes made to 3d488fec9c70a45f76737caea69a761182304159.
+ * (f0accaa) Merge pull request #176 from theaquamarine/coverage[[BR]]
+ Add a nose config file to check coverage in tests
+ * (5942b73) Add a nose config file to check coverage in tests[[BR]]
+ Also adds appropriate files to .gitignore.
+
+=== 1.2.66 (2014.01.24) ^[wiki:UpgradeActions#a2014.1.241.2.66 upgrade actions]^ ===
+
+ * (c128dec) Periscope plugin now fails entries when subs cannot be found. refs #2398
+ * (1640a4b) Couple more tweaks for config loading
+ * (992dc9d) Make sure ~ is handled correctly with -c
+ * (2ae02d1) Few cleanups to config loading
+ * (52fa19f) Merge pull request #175 from crawln45/develop[[BR]]
+ Fix for ticket #2401, changed config options
+ * (6a666a8) Appeasing Gazpachoking
+ * (b6847aa) Fix for ticket #2401
+ * (321fab0) Added virutal Env check, added current path to config lookup
+
+=== 1.2.65 (2014.01.24) ===
+
+ * (0d12ee5) Merge branch 'master' into develop
+ * (5c96cfd) Re-wrote large portions of plex plugin, should be faster now.
+ * (e7c2a27) Update the internal timeout caching a bit. refs #2380
+ * (f6a95e8) Set site as unresponsive on requests.ConnectionError.[[BR]]
+ Log for this error: https://gist.github.com/Gargauth/b54298ca62119836ddec#file-flexget-log-L85
+
+=== 1.2.64 (2014.01.23) ===
+
+ * (c48f001) Merge branch 'master' of https://github.com/Flexget/Flexget into publichd_fix
+
+=== 1.2.63 (2014.01.23) ===
+
+ * (8c65fb1) Fix email plugin abort sending
+ * (a5b9ce2) Merge branch 'learn_phase'
+ * (4b4c8f6) Fix some log text
+ * (e5f8462) Switch some more plugins to learn phase
+ * (4d4c3a3) Add seen plugin test for --learn
+ * (b434e8a) Make a 'learn' phase, and move some plugins to use it.
+ * (727dd36) Fixed a crash that would occur when publichd found a torrent which size would contain decimal mark with colon (eg. 1,000.00-1024,00MB)
+
+=== 1.2.62 (2014.01.23) ===
+
+ * (2f1f5fa) Added entry statuses: seen, inprogress, unwatched.
+
+=== 1.2.61 (2014.01.21) ===
+
+ * (505cb35) Tweak rerun and discover logging.
+
+=== 1.2.60 (2014.01.21) ===
+
+ * (0271663) Merge remote-tracking branch 'origin/master'
+
+=== 1.2.59 (2014.01.21) ===
+
+ * (f5d31b2) Fix --learn in 1.2
+
+=== 1.2.58 (2014.01.20) ===
+
+ * (41fad29) Merge pull request #171 from scottwallacesh/master[[BR]]
+ Moved from CSV to RSS as a data transport for the 'imdb_list' plugin.
+ * (44de5cf) Used an already existing method to extract the IMDB ID from the provided URL.
+ * (f91ddc0) Moved from CSV to RSS as a data transport for the 'imdb_list' plugin.
+
+=== 1.2.57 (2014.01.20) ===
+
+ * (3d488fe) Merge pull request #113 from tarzasai/xmpp[[BR]]
+ Notifications via XMPP
+ * (1a24966) Switch to new plugin registration style
+ * (c4b084d) Correct import style for SleekXMPP
+ * (51d6ece) Notifications via XMPP
+
+=== 1.2.56 (2014.01.20) ===
+
+ * (157e157) Merge pull request #169 from tarzasai/torrentz_fallback[[BR]]
+ Alternate access to torrentz feeds
+ * (ffd8603) Alternate access to torrentz feeds[[BR]]
+ When the original torrentz domain .eu fails (usually for a 429: too many[[BR]]
+ requests) the urlrewriter falls back to the .me version.
+
+=== 1.2.55 (2014.01.20) ===
+
+ * (fe28af9) Move email plugin to output phase. refs #2390
+
+=== 1.2.54 (2014.01.19) ===
+
+ * (e43d61f) Merge pull request #168 from Gargauth/kat_search_tweaks[[BR]]
+ Tweaked Kat searching
+ * (8e08608) Tweaked search to allow for more meaningful search results, especially for older titles.
+
+=== 1.2.53 (2014.01.19) ===
+
+ * (9ad6a72) Merge pull request #158 from Gargauth/publichd[[BR]]
+ Adding PublicHD search plugin.
+ * (e880a86) - Fixed downloads failing Download url is now publichd's direct download url instead of torrent cache service - Fixed categories settings (can now set properly single or multiple categories as intended)
+ * (d180aaf) Adding PublicHD search plugin.
+
+=== 1.2.52 (2014.01.19) ===
+
+ * (a82c0bc) Catch error from tmdb3 library. fix #2368, #2377, #2298, #2287
+
+=== 1.2.51 (2014.01.19) ===
+
+ * (e643451) Merge pull request #166 from Gargauth/tvrage_fix_searchfail[[BR]]
+ Fix for errors caused when searching tvrage for release estimations
+ * (040153f) Fix for errors caused when searching tvrage for episodes release estimations.
+
+=== 1.2.50 (2014.01.19) ===
+
+ * (71ed1d2) Merge pull request #165 from tarzasai/clean_transmission-config-error[[BR]]
+ Forgotten prepare_config
+ * (6090e69) Forgotten prepare_config
+
+=== 1.2.49 (2014.01.18) ===
+
+ * (d86d63b) Merge pull request #164 from marcoacarvalho/patch-1[[BR]]
+ Cleanup entries
+ * (241a480) Cleanup entries[[BR]]
+ Parsing row returned in order to remove additional text and line feeds around show name returned by BeautyfulSoup
+
+=== 1.2.48 (2014.01.18) ===
+
+ * (85f37cf) Fix the webui (well, at least let it start again)
+
+=== 1.2.47 (2014.01.18) ===
+
+ * (4d45fc5) Merge pull request #163 from Gargauth/fix_ticket_2387[[BR]]
+ Fix for config errors not being reported
+ * (9ce0bc7) Fix for config errors not being reported (instead flexget crashes with traceback)[[BR]]
+ http://flexget.com/ticket/2387
+
+=== 1.2.46 (2014.01.18) ===
+
+ * (6587d00) Some cleanups for api_trakt
+ * (b3d71a5) Added support for movies (2356) Added support for downloading art.
+
+=== 1.2.45 (2014.01.17) ===
+
+ * (64a3d65) Merge pull request #161 from Gargauth/SearchKAT_Fix[[BR]]
+ Fix for certain TV shows not being discovered with KAT search plugin.
+ * (c1f2d64) Fix for certain TV shows not being discovered.
+
+=== 1.2.44 (2014.01.16) ===
+
+ * (0e2053d) Merge pull request #160 from asm0dey/master[[BR]]
+ Update template.py
+ * (123fe00) Update template.py[[BR]]
+ Added some useful custom filters
+
+=== 1.2.43 (2014.01.16) ===
+
+ * (f9abe68) Merge pull request #159 from marcoacarvalho/patch-1[[BR]]
+ Change in www.pogdesign.co.uk/cat/showselect.php
+ * (249f2df) Change in www.pogdesign.co.uk/cat/showselect.php
+
+=== 1.2.42 (2014.01.16) ===
+
+ * (a146fa4) Merge pull request #152 from tarzasai/move_with[[BR]]
+ Move support collecting and moving additional files like subtitles.
+ * (9e0e77b) Refining/2[[BR]]
+ (forgotten loop)
+ * (60039b7) Refining
+ * (4653e4c) Move with namesakes[[BR]]
+ Video and subtitles can be moved and eventually renamed together.
+
+=== 1.2.41 (2014.01.16) ===
+
+ * (9f2d27b) Merge pull request #156 from asm0dey/master[[BR]]
+ Fixes into rutracker plugin
+ * (eba0377) fixes error with follow_redirects in rutracker plugin.[[BR]]
+ Adds retry to rutracker plugin.
+
+=== 1.2.40 (2014.01.15) ===
+
+ * (5026949) Merge pull request #151 from crawln45/trakt[[BR]]
+ adding trakt_lookup
+ * (2c1cf46) fixed default.template to properly display trakt_series_banner_url
+ * (ad79194) Added nosetests fixed pep8 errors for paranoidi
+ * (b14b4a2) adding trakt_lookup api_trakt and adding trakt_* to default rss
+
+=== 1.2.39 (2014.01.15) ===
+
+ * (37bfd11) Switch find plugin from old validator to new schema
+
+=== 1.2.38 (2014.01.15) ===
+
+ * (48d218c) Merge pull request #154 from theaquamarine/failrewriter[[BR]]
+ Check entries being urlrewritten are accepted
+ * (97ad3b9) Check entries being urlrewritten are accepted[[BR]]
+ URLrewriters can now fail/reject entries properly. Previously, there[[BR]]
+ was no continued checking entries were accepted so failing/rejecting[[BR]]
+ would have no effect and url_rewrite would run in an infinite loop.
+
+=== 1.2.37 (2014.01.15) ===
+
+ * (9fb9c7d) Merge pull request #153 from theaquamarine/rtlookuptest[[BR]]
+ Fix test_rottentomatoes
+ * (9af310b) Changed test title in test_rottentomatoes[[BR]]
+ Dropped 'in' from 'Star Wars: Episode I - The Phantom Menace (in 3D)'[[BR]]
+ as parser was not able to strip this, causing rotten tomatoes to be[[BR]]
+ unable to find the movie. Test therefore now passes.[[BR]]
+ Maybe a relevant thing for parser testing, but the aim here is test[[BR]]
+ rt functionality rather than MovieParser so removed.
+ * (c86c70f) Switch api_rottentomatoes to use requests[[BR]]
+ Removes flexget.utils.urlopener and flexget.utils.json dependencies.[[BR]]
+ Appears to fix rottentomatoes api returning ids as either ints or[[BR]]
+ strings- all tests which were failing because of this now pass.
+
+=== 1.2.36 (2014.01.14) ===
+
+ * (7287ee8) Fix some issues where task priority plugin wouldn't work properly.
+
+=== 1.2.35 (2014.01.13) ===
+
+ * (4f50899) Merge pull request #146 from tarzasai/cleaning_transmission[[BR]]
+ Remove completed torrents from Transmission
+ * (18c98ef) Correct evaluation
+ * (6eaf5c2) Config defaults
+ * (d5ff497) Remove completed torrents from Transmission
+ * (29463f9) Merge pull request #147 from asm0dey/master[[BR]]
+ Create plugin_rutracker.py
+ * (b048233) Fixed Session and formatting
+ * (e420169) Create plugin_rutracker.py[[BR]]
+ Plugin, which supports authentication and automatic downloading from rutracker.[[BR]]
+ Usage: ```[[BR]]
+ rutracker_auth:[[BR]]
+ username:[[BR]]
+ password:
+
+=== 1.2.34 (2014.01.13) ^[wiki:UpgradeActions#a2014.1.21.2.34 upgrade actions]^ ===
+
+ * (50293ce) Merge pull request #149 from tarzasai/subliminal_region_error[[BR]]
+ RegionAlreadyConfigured fix
+ * (401df43) RegionAlreadyConfigured fix
+
+=== 1.2.33 (2014.01.12) ===
+
+ * (809b1a4) Remove use of deprecated sqlalchemy reflection
+ * (2ccd544) No more UserDict
+
+=== 1.2.32 (2014.01.12) ===
+
+ * (8ac232f) Merge pull request #144 from tarzasai/subtitles[[BR]]
+ Subtitles plugins
+ * (7d059d5) Subtitles plugins
+
+=== 1.2.31 (2014.01.11) ===
+
+ * (892807a) Fixed merge errors.
+ * (7444225) Cleanup of plex.py.
+ * (560eb42) Merge branch 'master' of https://github.com/Flexget/Flexget
+
+=== 1.2.30 (2014.01.10) ===
+
+ * (e77a750) Ensure schedules are not being executed faster than they can be run.
+ * (65dfaee) Merge branch 'planeturban'[[BR]]
+ Conflicts:[[BR]]
+ flexget/plugins/input/plex.py
+ * (feacbe9) More entries. Added: plex_duration - duration of media in seconds, as requested in #2357 plex_episode_thumb - url for episode thumbnail. plex_series_art - url for series cover art. plex_season_cover - url for season thumbnail. plex_episode_title - episode title as indexed. plex_episode_summary - episode sumamry as indexed. plex_url - original url to media.
+
+=== 1.2.29 (2014.01.10) ===
+
+ * (38fdb03) Fix some bugs introduced in latest torrentleech change. fix #2369
+
+=== 1.2.28 (2014.01.09) ===
+
+ * (7e60230) Merge pull request #138 from jawilson/tl_changes[[BR]]
+ Updated torrentleech plugin
+ * (5fc1ef1) Updated torrentleech plugin[[BR]]
+ Added TV categories[[BR]]
+ Allow searching of multiple categories
+ * (e1a1291) Merge pull request #140 from jawilson/rt_support[[BR]]
+ Add ability to config personal Rotten Tomatoes API key
+ * (1e3598c) Fix rottentomatoes boolean config checking
+ * (09b07df) Adding user api key ability into rotten tomatoes
+ * (032256d) Merge pull request #139 from jawilson/torrentz_changes[[BR]]
+ Torrentz improvements
+ * (5e33165) Typo in urlrewrite_torrentz.py
+ * (6ed2ea4) Allow user to specify extra search terms in torrentz (mostly for limiting feed)
+
+=== 1.2.27 (2014.01.08) ===
+
+ * (bb62b2f) Convert SimplePersistence to a MutableMapping
+ * (282d6ae) Add some more tests for simple_persistence
+ * (02748d9) Make sure simple_persistence never leaves a session it creates open
+ * (c69d1d2) Add download_auth entry field which can contain custom requests authentication handler for download plugin to use Switch rss plugin to use this field to pass auth info to download plugin
+ * (0bd0ddf) Interval plugin cleanups
+
+=== 1.2.26 (2014.01.08) ===
+
+ * (27a4621) Set isPermaLink = false in output rss
+ * (422d92c) Fix generate
+
+=== 1.2.25 (2014.01.08) ===
+
+ * (9692e0e) Add -L and -l short options for --loglevel and --logfile refs #2359
+
+=== 1.2.24 (2014.01.07) ===
+
+ * (281f50c) Fix error about sqlite thread access. fix #2352
+
+=== 1.2.23 (2014.01.07) ===
+
+ * (f3e8f19) Change back to if entry.get('blah')[[BR]]
+ Handles false-y non-None values in a more helpful manner.
+
+=== 1.2.22 (2014.01.07) ===
+
+ * (91f1ca9) Merge pull request #134 from theaquamarine/download[[BR]]
+ Download patches
+ * (08de18f) Requested tweaks
+ * (0bfabac) Implement TODO in download_entry() - filename from URL[[BR]]
+ If the end of download_entry() is reached and no filename is set,[[BR]]
+ get one from the URL.
+ * (6189135) Fix crash in download_entry()[[BR]]
+ download_entry() would crash when getting a file with no content-type[[BR]]
+ eg http://www.speedtest.qsc.de/1kB.qsc from the tests. Now defaults[[BR]]
+ to unknown/unknown
+
+=== 1.2.21 (2014.01.07) ===
+
+ * (993afd9) Fix "FutureWarning: The behavior of this method will change in future versions. Use specific 'len(elem)' or 'elem is not None' test instead." in api_tvdb
+
+=== 1.2.20 (2014.01.06) ===
+
+ * (98c8e5f) Merge pull request #133 from theaquamarine/test_aq[[BR]]
+ Unit tests for assume_quality
+ * (36d6280) Fix Python 2.6 compatibility[[BR]]
+ Use of assertRaises and therefore assert_raises as a context manager[[BR]]
+ was only enabled in Python 2.7 and never backported.[[BR]]
+ http://docs.python.org/2/library/unittest.html#unittest.TestCase.assertRaises
+ * (002125b) Unit tests for assume_quality
+
+=== 1.2.19 (2014.01.06) ===
+
+ * (5233a2c) Merge pull request #124 from tarzasai/transmission_filename[[BR]]
+ Transmission filename
+ * (3eb6553) correct path separator
+ * (6030026) some fixes
+ * (6dfb78e) location for transmission completed downloads[[BR]]
+ (untested)
+
+=== 1.2.18 (2014.01.06) ===
+
+ * (82bf581) Open up sqlalchemy requirements. fix gh#127
+ * (509a5db) Small optimizations to magnet_btih
+
+=== 1.2.17 (2014.01.05) ===
+
+ * (feb9805) Add magnet_info_hash plugin. Thanks lolilolicon. fix gh#132
+
+=== 1.2.16 (2014.01.04) ===
+
+ * (f0d6f04) Move some plugin methods to output phase from exit phase, to prevent problems with reruns
+
+=== 1.2.15 (2014.01.04) ===
+
+ * (83de8b5) Merge pull request #120 from theaquamarine/assumequality[[BR]]
+ AssumeQuality plugin - default quality for tasks
+ * (aa3bb37) Correct schema bug[[BR]]
+ Can't validate dict keys, so allow any.
+ * (61ae896) Update plugin to v1.2.0 compatibility
+ * (f787d21) Changed to using 'any' req instead of 'everything'[[BR]]
+ Switched to using the real quality component 'any', which allows the[[BR]]
+ removal of some special cases. Also tweaked precision().
+ * (9dd7269) Documentation updated[[BR]]
+ Applies quality components to entries that match specified quality[[BR]]
+ requirements.[[BR]]
+ When a quality is applied, any components which are unknown in the[[BR]]
+ entry are filled from the applied quality. Quality requirements are[[BR]]
+ tested in order of increasing precision (ie "720p h264" is more[[BR]]
+ precise than "1080p" so gets tested first), and applied as matches are[[BR]]
+ found. A pseudo-requirement "everything" is also supported, which will[[BR]]
+ match all qualities. Using the simple configuration is the same as[[BR]]
+ specifying an "everything" rule.
+ * (acb68a3) Improve precision calculation
+ * (eb42640) Added advanced usage example
+ * (3b1aa47) All rules now tested and applied
+ * (6ac5b65) Refactor 'everything' test
+ * (423839b) Store rules in sorted list[[BR]]
+ Rules are now stored as namedtuples in a sorted list (sorted by[[BR]]
+ precision of the rule, see precision()). This allows rules to have[[BR]]
+ priorities, currently more specific rule = higher priority.
+ * (47091b9) Rule matching now performed
+ * (d1a1bdb) Case insensitivity on 'everything'[[BR]]
+ Not sure why I wrote the if that way round.
+ * (98ac626) Advanced rules now used for default case[[BR]]
+ No other rule matching yet
+ * (18cf008) Advanced Configuration start[[BR]]
+ Plugin now understands advanced configuration in the form of quality[[BR]]
+ requirements and qualities to assume if the entry matches them. These[[BR]]
+ rules are not yet used for assuming, only tested and stored.[[BR]]
+ Also refactored the act of assuming an entry's quality into a separate[[BR]]
+ method.
+ * (df3eb4a) added underscores to filename & plugin name
+ * (481b441) moved to plugins/metainfo
+ * (d78aff4) Operate on individual quality components[[BR]]
+ Now applies defaults by quality component, so that defaults can be used even if other components are filled by the release.[[BR]]
+ For example: "assumequality: 1080p webdl 10bit truehd" and a release flagged 720p h264 is output with "720p webdl h264 truehd"[[BR]]
+ Should also handle the addition of more quality components as mentioned in https://github.com/Flexget/Flexget/pull/104#issuecomment-29127271
+ * (5d23b7a) AssumeQuality plugin - default quality for tasks[[BR]]
+ Many releases no longer explicitly flag 720p, breaking quality filters or requiring complex manipulate setups. This allows a default quality to be applied to entries when none is found.[[BR]]
+ http://flexget.com/ticket/1498
+
+=== 1.2.14 (2014.01.04) ===
+
+ * (f3ca1da) Make sure series plugin output handler runs at correct priority.
+
+=== 1.2.13 (2014.01.04) ===
+
+ * (8025897) Add a 'daemon status' command
+
+=== 1.2.12 (2014.01.04) ===
+
+ * (a909a7c) Hide the service plugin, it's not ready yet.
+
+=== 1.2.11 (2014.01.04) ===
+
+ * (95f26db) Update plugin registration in doc example
+ * (9c68758) Fix issue with deleting test database when --testing between client and daemon
+
+=== 1.2.10 (2014.01.04) ===
+
+ * (6f9f24b) Fix sending other options to running daemon using inject command. fix #2344 again
+
+=== 1.2.9 (2014.01.04) ===
+
+ * (47a0ebd) Fix an issue when sending some options via ipc to a running daemon. fix #2344
+
+=== 1.2.8 (2014.01.04) ===
+
+ * (7ec739e) Fix issues with series plugin recording downloads during reruns. fix #2345
+ * (3dd68da) Add mock_output plugin for debugging.
+
+=== 1.2.7 (2014.01.04) ===
+
+ * (d666f54) Merge pull request #131 from harywilke/patch-1[[BR]]
+ Update tdd.rst
+ * (c9a119b) Update tdd.rst[[BR]]
+ updated the warning. Ironically, the warning was missing 'an'
+
+=== 1.2.6 (2014.01.03) ===
+
+ * (91a4514) Fix imdb_list login issue. fix #2313
+ * (ed299b2) Remove bs3 stuff from change_warn
+
+=== 1.2.5 (2014.01.03) ===
+
+ * (ef3c76f) Fix some online unit tests
+ * (4a1152b) Futurize!
+
+=== 1.2.4 (2014.01.03) ===
+
+ * (8fdaae8) Make sure 'check' command handles non-ascii configs
+ * (4ab7700) Remove unused import
+ * (4bf3473) If statement errors now include the offending if statement.
+
+=== 1.2.3 (2014.01.03) ===
+
+ * (f85d00d) Fix download unit test url.
+ * (a78b0cb) Catch timeouts while downloading files. fix #1306, #645, #85
+
+=== 1.2.2 (2014.01.02) ===
+
+ * (2f434e0) Lower message about commits without db lock to debug log
+ * (17fb99e) Fix movie-queue add
+
+=== 1.2.1 (2014.01.02) ===
+
+ * (4c447b9) Only print bug message if actual changes are tried on db commit
+
+=== 1.2.0 (2014.01.02) ^[wiki:UpgradeActions#a2014.1.21.2.0 upgrade actions]^ ===
+
+ * (8afcbae) Fix locking in unit tests
+ * (55c0ad7) Make sure we have a db lock when updating the schema table
+ * (5025f18) Upgrade periscope plugin
+ * (7d4211d) Merge branch 'master2' into cli_subcommands[[BR]]
+ Conflicts:[[BR]]
+ flexget/plugins/output/ftp_download.py[[BR]]
+ flexget/plugins/urlrewrite_newpct.py
+
+=== 1.1.174 (2013.12.22) ===
+
+ * (39bb36b) Merge pull request #126 from foux/master[[BR]]
+ ftp_download plugin bugfixes
+ * (37da454) Bug fixes in ftp_download : - Plugin schema was wrong - When reconning, the wrong FTP instance was used
+ * (dc8e28b) Merge branch 'master' into develop
+
+=== 1.1.173 (2013.12.21) ===
+
+ * (930f04b) Merge pull request #125 from skasi7/plugin_newpct2[[BR]]
+ Updated plugin newpct to flexget.utils.requests
+ * (210fbc7) Updated plugin newpct to flexget.utils.requests
+
+=== 1.1.172 (2013.12.19) ===
+
+ * (688d12a) Update tpb domain (again)
+
+=== 1.1.171 (2013.12.16) ===
+
+ * (1e302cf) Merge pull request #119 from tarzasai/subtitles[[BR]]
+ Download subtitles with Periscope
+ * (ab24cb1) Download subtitles with Periscope
+ * (ff21a99) Merge pull request #121 from theaquamarine/plugin_warning[[BR]]
+ Change PluginDetails to output warning event
+ * (e821e53) Change PluginDetails to output warning event[[BR]]
+ Changes PluginDetails to output a warning log event rather than[[BR]]
+ verbose when a task with no_entries_ok == false produces no entries.[[BR]]
+ Brings it more in line with similar errors (no input plugins, etc) and[[BR]]
+ makes problem more obvious in logs.
+ * (9c64e3f) Merge branch 'master' into develop
+ * (b71d58d) Merge branch 'hotfix/ftp_list_verbosity' into develop
+ * (a3f10ff) Merge branch 'hotfix/ftp_download_fixes' into develop
+ * (8eb3640) Fix error handling in api_tvdb. fix #2320
+ * (145b92f) Upgrade trakt_remove plugin registration
+ * (79cb952) Merge branch 'master' into cli_subcommands
+
+=== 1.1.170 (2013.12.12) ===
+
+ * (d9fb337) Update tpb domain
+ * (888a9e9) Small cleanups to ftp_download plugin. upgrade plugin registration
+ * (938c4ea) Merge branch 'master' into cli_subcommands[[BR]]
+ Conflicts:[[BR]]
+ flexget/plugins/download/ftp_download.py[[BR]]
+ flexget/plugins/input/thetvdb_favorites.py[[BR]]
+ flexget/plugins/metainfo/imdb_lookup.py[[BR]]
+ flexget/plugins/plugin_change_warn.py
+
+=== 1.1.169 (2013.12.10) ===
+
+ * (e64a222) TPB rewriter: Make sure the current TLD is in the list of all TLDs
+
+=== 1.1.168 (2013.12.10) ===
+
+ * (c916f58) Merge pull request #117 from JimShoe/patch-1[[BR]]
+ updated CUR_TLD in urlrewrite_piratebay.py
+ * (d59f766) updated CUR_TLD in urlrewrite_piratebay.py[[BR]]
+ The Pirate Bay changed their TLD.
+
+=== 1.1.167 (2013.12.09) ===
+
+ * (4add74c) Merge pull request #116 from foux/master[[BR]]
+ Corrections on ftp_download plugin
+ * (9e5543c) Merge branch 'hotfix/ftp_list_verbosity'
+ * (68dc3b5) Changing verbosity of empty directory Adding log for accepted entries
+ * (5c6ae6a) Merge branch 'hotfix/ftp_download_fixes'
+ * (8977b6e) Adding schema validation
+ * (95f5731) Removing a test that might fail on OSX
+ * (5359b6a) Moving ftp_download to an output plugin
+
+=== 1.1.166 (2013.12.08) ===
+
+ * (03a51cc) Merge pull request #115 from foux/master[[BR]]
+ Corrections on ftp_download plugin
+ * (f7d18f6) Changing log levels
+ * (c270bd7) Deleting folders only if the config says so
+ * (f4628cf) Correction on folders deletion
+ * (0b27446) Functionnal version. Remains some fail test
+ * (c958bd3) Adding connexion status tests
+ * (c1444e9) Correcting recursion Allowing to resume
+
+=== 1.1.165 (2013.11.27) ===
+
+ * (3780566) Less verbosity for IMDB and TMDB lookups
+ * (cd5d5db) Change log levels in html input plugin
+
+=== 1.1.164 (2013.11.19) ===
+
+ * (9a3ccb8) Fix string formatting error
+
+=== 1.1.163 (2013.11.18) ===
+
+ * (256a4a9) Merge pull request #110 from Flexget/handle_no_firstaired[[BR]]
+ Handle cases where a series doesn't have a FirstAired date listed
+ * (14f442e) Handle cases where a series doesn't have a FirstAired date listed
+
+=== 1.1.162 (2013.11.18) ===
+
+ * (8b79e43) Fix possible crash when validating quality requirements.
+
+=== 1.1.161 (2013.11.18) ===
+
+ * (b67b962) Merge pull request #90 from niawag/patch-4[[BR]]
+ Create trakt_remove.py
+ * (636b6c0) Update trakt_remove.py
+ * (c413b0f) Update trakt_remove.py[[BR]]
+ Added watchlist movie support
+ * (9a54ca8) Update trakt_remove.py
+ * (e30c811) Create trakt_remove.py[[BR]]
+ I created trakt_remove.py as discussed here : https://github.com/Flexget/Flexget/pull/88[[BR]]
+ I've debugged and tested it and it's working fine for movies, I didn't developped it for TV Shows yet as it doesn't seems really necessary.[[BR]]
+ With this plugin you can ask trakt.tv to remove collected movies from a list (Watchlist or custom).[[BR]]
+ The code is practically entirely based on trakt_acquired, I just changed the post_url and change the JSON item to respect trakt.tv API : http://trakt.tv/api-docs/lists-items-delete[[BR]]
+ I hope you'll find this usefull!
+
+=== 1.1.160 (2013.11.17) ===
+
+ * (9109f21) Handle cases where a series doesn't have a FirstAired date listed. Fixes #2285
+
+=== 1.1.159 (2013.11.13) ===
+
+ * (579c8f3) Merge pull request #98 from Flexget/deprecate_bs3[[BR]]
+ Deprecate BeautifulSoup 3
+ * (cf80997) Remove BS3 from dependencies
+ * (4c5b8fb) Remove BeautifulStoneSoup from TVDB Favorites
+ * (47e3dd3) Remove BeautifulStoneSoup from TVDB API
+ * (6b2b2cc) Change imdb parsing utils to BS4
+ * (ea684e5) Make sure archive inject does not run scheduled tasks
+ * (238b8b8) Remove the lock_required option, commands must call manager.acquire_lock on their own now if needed.
+ * (fc10968) PEP8 cleanups
+ * (c6d19d5) Added deprecation docstrings to task entry properties.
+ * (eb6212c) Fix archive injection
+ * (9bdb7ef) Fix injection
+ * (422c467) Improved docstrings.
+ * (097d9c5) Work on windows service installer a bit more
+ * (855d59b) Remove --del-db argument
+ * (51c3ff4) Add some sanity testing to make sure we have a database lock when commiting
+ * (6cf061e) Ensure we are closing sessions properly in a bunch of places
+ * (6488bbd) Make sure series database updating happens even when config changes in daemon mode Make sure we don't leave the session open during series repair
+ * (f499257) Add wheel info to setup.cfg
+ * (6eb6f6b) Add a currently broken plugin to manager a windows service to run the daemon
+ * (f625b9d) Fix run_task plugin
+ * (85ca3a0) Make sure schedules are not run with execute command
+ * (48caf28) Actually fire the manager.lock-acquired event
+ * (e33ae6f) Start switching around manager events
+ * (adc4d4b) Convert urlrewrite_search to new schema
+ * (4366499) Convert queue_movies to new schema
+ * (eb23982) Fixed an issue with logging crashing.
+ * (3d06410) Merge branch 'master' into cli_subcommands
+
+=== 1.1.158 (2013.11.07) ===
+
+ * (58facf3) Add discovered_from and discovered_with fields to entries created by discover plugin
+
+=== 1.1.157 (2013.11.07) ===
+
+ * (c32e03d) Don't count 'already in queue' as a failure with queue_movies plugin.
+ * (f9d40b4) Don't count 'already in queue' as a failure with queue_movies plugin.
+ * (e3352a1) Make sure to close the session.
+ * (6c0cdb9) Only run the manager.upgrade event if needed. Make sure there is a database lock before running the upgrade event.
+ * (e7cd449) Make rpyc use our ipc logger
+ * (702808e) Add handler for SIGTERM in daemon mode
+ * (1cadd35) Add a version system to the ipc protocol
+ * (a16cd46) Oops, missed a spot
+ * (b85be0a) Finish implementing ipc auth
+ * (e025dab) Break IPC while I work on authentication.
+ * (dc282d2) Remove some broken code
+ * (2b69fd8) Deprecate api v1
+ * (ff8a394) est_released cleanups
+ * (93b15ee) Merge branch 'master' into cli_subcommands[[BR]]
+ Conflicts:[[BR]]
+ flexget/config_schema.py
+
+=== 1.1.156 (2013.11.04) ===
+
+ * (ccb95a0) jsonschema 2.3.0 support fix #105[[BR]]
+ See https://pypi.python.org/pypi/jsonschema/2.3.0, and how it is fixed for built in jsonschema formats https://github.com/Julian/jsonschema/commit/c763ab974c36891e2b8bcb6a6c1ebb1dd84009b6
+
+=== 1.1.155 (2013.11.02) ===
+
+ * (f88486f) Improved bootstrap error message.
+
+=== 1.1.154 (2013.11.02) ===
+
+ * (a347363) Fixes #2262. Crashed with input html plugin.
+ * (5f6d6b4) Make sure manual tasks are not run on a default schedule
+ * (3c38e51) Misc cleanups and TODO's
+ * (33e6e88) Improved bootstrap error message.
+ * (e8fa2d3) Fixes #2262. Crashed with input html plugin.
+ * (dc810ce) Make if plugin better. fix #1440
+ * (2eaa078) Convert all plugins to api v2 Convert a couple more plugins to use schemas
+ * (c41cf14) Remove old string replacement
+ * (d80fc82) Update betaseries_list to new api
+ * (f10f77d) Merge branch 'master' into cli_subcommands
+
+=== 1.1.153 (2013.11.01) ===
+
+ * (74717a1) Merge pull request #101 from thomasleveil/plugin_betaseries_list[[BR]]
+ [betaseries_list] add a plugin for querying the series from www.betaseri...
+ * (5ce6069) [betaseries_list] fix tests (better)
+ * (df6fb49) Merge remote-tracking branch 'flexget/master' into plugin_betaseries_list
+ * (cc4fcd4) [betaseries_list] fix tests[[BR]]
+ importing the flexget.plugins.filter.series in this module was making lots of other tests to fail
+ * (880c3fc) [betaseries_list] fix examples
+ * (afdd3d4) [betaseries_list] Sphinx compliant docstrings
+ * (2e5771b) [betaseries_list] anticipate Python 3 compatibility
+ * (fd9a961) [betaseries_list] remove the ability to define 'members' as null in the config
+ * (36a8a22) [betaseries_list] add a plugin for querying the series from www.betaseries.com[[BR]]
+ Api key can be requested at http://www.betaseries.com/api.[[BR]]
+ The plugin is meant to work with the import_series plugin as follow:[[BR]]
+ import_series:[[BR]]
+ from:[[BR]]
+ betaseries_list:[[BR]]
+ username: xxxxx[[BR]]
+ password: xxxxx[[BR]]
+ api_key: xxxxx
+ * (63ff831) Make ipc server choose any open port by default
+ * (c471abc) Merge branch 'req-fixes' into cli_subcommands[[BR]]
+ Conflicts:[[BR]]
+ pavement.py
+
+=== 1.1.152 (2013.11.01) ===
+
+ * (3394105) Merge pull request #102 from thomasleveil/patch-1[[BR]]
+ blacklist python-dateutil v2.2
+ * (7687a7a) blacklist python-dateutil v2.2 in pavement.py (again)
+ * (9d94d6d) sync rtd-requirements.txt with pavements.py
+ * (49117f7) blacklist python-dateutil v2.2 in pavement.py
+ * (d162973) blacklist python-dateutil v2.2[[BR]]
+ which suffers from a bug as described at https://gist.github.com/thomasleveil/7274698[[BR]]
+ Running the Flexget test suite with dateutil 2.2 produces 2 errors and 2 failures ; with 2.1, all pass[[BR]]
+ bug reported upstream by contacting the author by email
+
+=== 1.1.151 (2013.11.01) ===
+
+ * (cf67653) Merge pull request #100 from Flexget/tpb_tests[[BR]]
+ Add tests to urlrewrite_piratebay.py
+ * (cbcada1) Add more pirate bay tests
+ * (7d317f0) Fix URL in the pirate bay URL rewriter
+
+=== 1.1.150 (2013.10.29) ===
+
+ * (fe1e744) Restore better error handling to bootstrap.py for missing setuptools/pip Add message about how to fix missing setuptools/pip problem
+
+=== 1.1.149 (2013.10.29) ===
+
+ * (b561c54) Back to virtualenv 1.10.1 bootstrap :P
+ * (84b8631) Oops, we want virtualenv 1.9, not 0.9
+ * (ad94da7) Revert bootstrap.py to virtualenv 0.9.2 refs #2259
+ * (f3f2fd5) Merge pull request #97 from pR0Ps/master[[BR]]
+ Add old TLDs for the pirate bay url rewriter.
+ * (4046648) Add old TLDs for the pirate bay url rewriter
+ * (12270ed) Merge pull request #91 from Toilal/html_increment[[BR]]
+ Add incremented variable to support paginated pages
+ * (1ace161) Now using jinja2 templating library
+ * (b24ac46) increment {...} content is now evaluated only if required
+ * (ea1f9ed) Add incremented variable to support paginated pages
+ * (cc1841d) Merge pull request #96 from Toilal/build[[BR]]
+ Git ignore changes
+ * (70cc0df) eclipse configuration added to git ignore
+ * (1d37bfb) setuptools and pip added to git ignore
+ * (da6a355) Remove overridden bootstrap task in pavement, it is no longer needed Add a manual edit to bootstrap to make sure setuptools/pip missing errors are more clear
+
+=== 1.1.148 (2013.10.27) ===
+
+ * (91ba92e) Update README.rst[[BR]]
+ Added travis and download count badges
+
+=== 1.1.147 (2013.10.27) ===
+
+ * (df40aa0) Merge pull request #94 from bitdeli-chef/master[[BR]]
+ Add a Bitdeli Badge to README
+ * (89219b7) Add a Bitdeli badge to README
+ * (065b27e) Scheduler now runs all tasks on a 1 hour interval if no schedules are defined in config
+ * (2b66c2d) Fix issue with arg order in Task init make calls to it specify optional arguments explicitly
+ * (4509aab) Allow wildcards in schedule task specification Allow a single task instead of a list as task specification Refactor scheduler execute to not take task argument. Tasks can be specified in 'tasks' option Refactor how ipc sends text back to the client
+ * (35528a4) Add start and stop actions to `flexget daemon` command
+ * (6288777) Fix series begin test for new ep advancement behavior
+ * (1424e6d) Make sure series begin episode isn't blocked by episode advancement fix #2236
+ * (3fbb9d2) Make sure emit_series doesn't emit negative number sequence shows
+ * (95d2956) Fix template plugin working on reruns
+ * (229d2a4) Fix merge error in series plugin
+ * (8b12f8a) Make current directory config higher priority than home directory one for git installs
+ * (77032c1) Merge branch 'master' into cli_subcommands[[BR]]
+ Conflicts:[[BR]]
+ flexget/plugins/api_tmdb.py[[BR]]
+ flexget/plugins/cli/series.py[[BR]]
+ flexget/plugins/filter/movie_queue.py[[BR]]
+ flexget/plugins/output/pyload.py[[BR]]
+ flexget/plugins/output/rss.py[[BR]]
+ flexget/plugins/plugin_deluge.py[[BR]]
+ pavement.py
+
+=== 1.1.146 (2013.10.25) ===
+
+ * (e1c201c) Merge pull request #93 from Toilal/tmdb_v3[[BR]]
+ TMBD API updated. Fixes #92
+ * (03aaf11) Fixed TMDBContainer for empty constructor parameters
+ * (df12855) tmdb3 package is now available on PyPI
+ * (8363989) API Key fixed and better logging
+ * (dd140e2) bootstrap.py generated with paver 1.2.1
+ * (f605b86) tmdb3 dependency added to pavement
+ * (5fadf91) TMBD API updated. Fixes #92
+
+=== 1.1.145 (2013.10.22) ===
+
+ * (6bb3a43) Merge pull request #89 from pR0Ps/master[[BR]]
+ Fix bug in movie lookup code
+ * (8163d55) Fix bug in movie lookup code
+
+=== 1.1.144 (2013.10.23) ===
+
+ * (bdadf61) Make sure series episodes with lower case identifiers can be --series-forgotten
+
+=== 1.1.143 (2013.10.22) ===
+
+ * (64109db) Replace thepriratebay.se with thepiratebay.sx fix #2255
+
+=== 1.1.142 (2013.10.22) ===
+
+ * (02db53b) Better error messages for bad templates in make_rss
+
+=== 1.1.141 (2013.10.22) ===
+
+ * (2d2b87b) Fix make_rss to allow setting template for description
+
+=== 1.1.140 (2013.10.17) ===
+
+ * (388b1a6) Rename dts-hd quality to dtshd to not interfere with ranges
+
+=== 1.1.139 (2013.10.17) ===
+
+ * (4c02d34) Add dts-hd and truehd to audio qualities. fix #1716
+
+=== 1.1.138 (2013.10.15) ===
+
+ * (81998c0) Add a unit test for previously fixed issue.
+ * (4fdbf9a) Fix issue with series names containing parens which had alternate_name defined.
+
+=== 1.1.137 (2013.10.11) ===
+
+ * (a384187) Fix an issue with pathscrub utility erroring unnecessarily
+
+=== 1.1.134 (2013.10.11) ===
+
+ * (cc96ad9) Change default pushover task name
+
+=== 1.1.133 (2013.10.10) ===
+
+ * (198d6f7) Add more tests for pathscrub, make sure path components are not surrounded by spaces on any platform
+
+=== 1.1.132 (2013.10.10) ===
+
+ * (6804a24) Fix up some pathscrub behavior and add unit tests
+
+=== 1.1.131 (2013.10.09) ===
+
+ * (bf63d5e) Allow latest versions of beautifulsoup and requests
+
+=== 1.1.130 (2013.10.09) ===
+
+ * (bd9b9a2) Don't let series plugin ignore sequence shows with episode 0
+
+=== 1.1.129 (2013.10.07) ===
+
+ * (ee964e5) Catch distributionerrors from deluge on latest version
+ * (f57bdc6) Make series plugin populate 'path' and set plugin fields on metainfo phase
+
+=== 1.1.128 (2013.10.07) ===
+
+ * (923ca2f) Merge pull request #86 from miracle2k/patch-1[[BR]]
+ Make pyload plugin use requests
+ * (147d74f) Remove unused import.
+ * (3dc61fc) Assorted improvements.
+ * (8a7d7d5) Make pyload plugin use requests[[BR]]
+ This would fix #85 (pyLoad server requiring gzip).
+
+=== 1.1.127 (2013.10.06) ===
+
+ * (8c6de53) movie_queue will now use either imdb or tmdb automatically now, with no lookup plugins in the task
+
+=== 1.1.126 (2013.10.06) ===
+
+ * (304bc47) Switch imdb to be first priority with movie queue
+
+=== 1.1.125 (2013.10.06) ===
+
+ * (d2a0e4a) Make --movie-queue cli interface use tmdb and imdb
+ * (7a40bdb) Make sure imdb parser doesn't get false positives on rating ineligibility check. fix #2223
+
+=== 1.1.124 (2013.10.02) ===
+
+ * (a3079db) Merge pull request #84 from jgnog/patch-1[[BR]]
+ Fix little mistake in rottentomatoes.py docstring
+ * (31da4aa) Fix little mistake in rottentomatoes.py docstring
+
+=== 1.1.123 (2013.09.30) ===
+
+ * (441af56) Merge pull request #83 from Gyran/master[[BR]]
+ new url for myepisodes
+ * (00efab2) new url for myepisodes
+
+=== 1.1.122 (2013.09.21) ===
+
+ * (27559ff) Merge pull request #80 from skasi7/master[[BR]]
+ Fixes newpct page change.
+ * (f051b6f) Fixes newpct page change.
+ * (b37d853) Persist the last_run time of schedules
+ * (edeeba4) Add rpyc to pavement.py requirements
+ * (d7e8da8) Clean up done todo
+ * (3bcafad) Add some notes on current state of priority plugin
+ * (fd09ea6) Fix make_rss to work with new system
+ * (29c806f) Tweak how output is sent back over ipc
+ * (01c1ad5) Try out rpyc for ipc communication Make ScopedNamespaces iterable
+ * (7525bcc) Switch around a couple manager events for before config load and before validate Switch config pre-check to run only with check command
+ * (67a31ca) Fix options parsing for non-execute commands
+ * (26618d1) Make --help message a littel better for archive inject
+ * (a7ff4cf) Clean up some of the options code Add a custom action to parse remaining arguments with a different parser Allow execute options to be specified during archive inject
+ * (c56fc04) Upgrade ipc protocol to support multiple commands
+ * (aa3a350) Make sure include plugin validates included config before merging
+ * (ed1cea2) Restore root level email configuration for execute command
+ * (47e8da9) Switch to new way to handle sqlalchemy sessions in flask
+ * (cabcf30) Refactor cli series list a bit
+ * (636670d) Rename import_series to configure_series
+ * (ad1f8a8) Fix correct subparser help message to show at cli Add option to parse_args to raise instead of exiting
+ * (23b0877) Playing with ideas for json api
+ * (c66cdd2) Fix cli help messages with new defaults handling
+ * (b9b56a4) Fix schedules without at_time
+ * (ac0c8af) Fix at_time schedules
+ * (c60de1d) Rename some of the properties in the schedule config
+ * (72d513b) Fix running scheduled tasks at lower priority
+ * (3ec0c9a) Switch schedules to take a new config format
+ * (cac7a02) Increase cached_input to 5 minutes
+ * (c26ac39) Don't stream back remote log on --cron execution
+ * (476f638) Only write the ipc port to the lock file when the ipc server is actually running
+ * (e43f23b) Allow explicitly overriding loglevel with --cron
+ * (7faa34c) Switch ipc to use SocketServer Switch --ipc-port to be a root level option Better debug messages on task abort
+ * (c591e5b) Add 'always' mode to run_task
+ * (e82be8f) Add a bit of logging to run_task plugin
+ * (953579d) Add run_task plugin
+ * (1cb5a70) Move daemonize complete message before detatching from sys.stdout
+ * (b22955c) Remove some old code
+ * (6552e00) Log the new pid when daemonizing.
+ * (202e697) Small tweaks
+ * (d60f9e8) Fix cached_input accessing task options
+ * (6b0aaae) Make sure IPC is communicating in bytes
+ * (5d2eb26) Only bind to a socket once for ipc
+ * (39fe631) Improve the ipc loop a little bit
+ * (b8de367) small comment fix
+ * (ebce251) Fix task priority hack
+ * (971cda2) Fix daemonize option crashing on windows
+ * (a977f7a) Switch --task to --tasks and make it core option Add a hack to use old task priorities in execute command Actually call daemonize method
+ * (7d999a9) Fix --task with upper case task names
+ * (8e7a718) Fix the check command
+ * (ad2c949) More junk
+ * (3da445e) Add and clean up uTorrent plugin from tyjtyj refs #2205
+ * (021c601) Rename the preset module to template Fix a bug for tasks that did not define templates
+ * (cf3c47b) A bunch of unfinished crap which will eventually serve our schemas.
+ * (5aa3215) Fix the templates for blueprint system Start updating scheduler config
+ * (86bff47) Fix pavement.py Update webui plugin registration to use blueprints Remove some crap from webui schedule plugin
+ * (6acdccc) Tweak BufferQueue usage a bit
+ * (0369eeb) Continue work on webui
+ * (3ab21c0) Start converting webui to run on new system Webui is now started with `flexget webui`
+ * (3aaf64c) Start getting webui ready for 1.2 changes
+ * (8cd1ca6) Start fleshing out json api for config
+ * (0c89288) Fix default log levels for 'execute' and 'daemon' command
+ * (fd387c7) Fix log level with --debug flag
+ * (d47126d) Switch exists_movie to a timed cache
+ * (89c2414) Add an exception to raise when a plugin database needs reset to upgrade tvrage plugin now caches failed lookups and has less false matches
+ * (939eb4e) ctrl-c now schedules shutdown after task completion second ctrl-c aborts currently running task
+ * (68772eb) Ctrl-c now interrupts cli execution again
+ * (615d21d) Limit emit_series to only emitting missing sequence shows within last 10
+ * (5847186) Implement root level config validation Remove prepare phase from tasks Rename presets to templates
+ * (a7bff89) Make a manager.config.pre-process event Switch --cli-config to run on it
+ * (4b26c7d) Move some plugins using task prepare phase to start
+ * (e3cdb41) Fix plugins that modify the config after task start for reruns
+ * (6194631) Fix how cli execute command waits for shutdown Remove bits of change_warn that didn't do anything
+ * (8ae6bcc) Update metainfo content_size to api v2 and json schema
+ * (2c2a46d) Make task.aborted be true even if it was silent
+ * (db6ebca) Change --tasks and manual plugin to use task start instead of task prepare phase Change --task to use a space as delimeter instead of comma
+ * (2559315) Make sure plugins don't call manager.shutdown prematurely
+ * (331c89f) Change task_start and exit phases to only run once, even if the task is rerun multiple times Update the plugins dealing with reruns
+ * (85be94e) Fix manager.execute.started/completed events Add manager.daemon.started/completed events
+ * (ea2330e) Merge branch 'cli_subcommands' of github.com:Flexget/Flexget into cli_subcommands
+ * (d83fd71) Add some more metadata to preset plugin schema
+ * (ec1da5c) Refactor memusager and cron_env to use manager.execute.started/completed events
+ * (3ec4052) Restore manager.execute.started and completed events, now for cli execute command
+ * (c645499) Fix some download tests for python 2.6
+ * (1980f14) Fix a few more usages of process_start
+ * (1a7d6d0) Fix more plugins reference to backlog
+ * (e1f9199) Add a note in developer docs about the schema test in the suite
+ * (039d4f1) Switch a few more plugins to json schema
+ * (765864b) Fix rss unit test
+ * (deb27dc) Fix cookies plugin and switch it to using timed dict cache
+ * (c1106ef) Switch cached_input to use timed dict and fix tests for it
+ * (9465c17) Implement a timed dictionary to use in caches
+ * (5339ae8) Switch how series plugin stores reference to backlog plugin. fix #2207
+ * (a4f5844) Fix plugin api tests even better
+ * (be14c04) Fix plugin api tests
+ * (cf14f2c) Move plugin instantiation to after all plugins are registered
+ * (e50a633) Fix a bug in tvrage lookups
+ * (f5b61ca) Make sure plugins are only registered once Implement removal of event handlers
+ * (cdeb248) Refactor a bit how preparing a task works Handle task aborts better in unit tests
+ * (ecb48d3) Tasks now reset config on reruns
+ * (5d2cff4) Fix some invalid schemas
+ * (0c13007) Fix a couple issues with Manager
+ * (562b800) Bump version
+ * (acf3c33) TaskAbort is now raised all the way up to the calling scope of execute call Start fixing up a few tests
+ * (e00f676) Various fixes
+ * (b833a38) Tasks now commit session changes from on_task_abort
+ * (da41fdb) Make series plugin database helpers functions
+ * (1e95d02) Switch plugin registration to events in more plugins Switch some more plugins to json schema
+ * (5b28763) Switch plugin registration to events in plugins Switch some plugins to api v2 Switch some plugins to json schema
+ * (157727a) A few cleanups
+ * (74ccd91) Fix imdb_lookup plugin Fix manual plugin Remove no longer needed --tasks
+ * (de4e671) Add ipc
+ * (b819cc4) A few fixes and cleanups
+ * (04ed3da) Move --check to its own command
+ * (4a632bd) Some cleanups
+ * (aab1e48) Refactor --log-start into a plugin
+ * (65d67d4) Rename 'register_parser_arguments event' to 'options.register'. The event no longer passes the core parser. Switch all plugins to get the core parser using options.get_parser.
+ * (055225d) Rename subcommands to commands
+ * (74162ec) Tasks are now instantiated only when executed
+ * (062d0a0) Remove global form of email config
+ * (dfb596a) Convert --perf-tests to subcommand
+ * (c871f84) Switch scheduler shutdown to work with flags
+ * (547dec2) Fix a bug with running a schedule on a day
+ * (124aed5) Scheduler now runs with `flexget daemon`
+ * (81230b6) Make copies of tasks when adding to scheduler, so that changes in manager thread do not affect scheduler thread
+ * (d9eb3d3) Move register_config_key to config_schema.py Make ScopedNamespaces copy properly
+ * (3bbd072) Make plugins access execute options from task rather than from manager
+ * (f1c579c) Small tweaks to interval plugin Fix a couple hard coded phase names in task.py
+ * (2a6a6a4) Refactor --archive-inject into subcommand
+ * (236ed6e) Refactor some of the on_process_start usages Make scheduler deal directly with tasks
+ * (7a05b9c) Don't init plugins until they have all been loaded
+ * (09d7989) Get rid of process_start and _end Start factoring out manager.execute
+ * (1b1600e) Some refinements
+ * (b3db79a) Get the scheduler working enough to run cli execute through it
+ * (84f0ffd) Make sure deluge plugin doesn't add bad paths to sys.path
+ * (57040b4) Tweak schedule schema a bit
+ * (f1dab0a) More work on the core scheduler
+ * (f2af356) Start working on having the scheduler in the core
+ * (49712dd) Make disable_builtins schema a property
+ * (3d23db2) Simplify inject subcommand usage a bit
+ * (9f6c442) Remove all arguments to manager.execute except the options namespace Make an inject subcommand
+ * (4f6a4d7) Make the nested option namespaces scoped
+ * (b0bd820) Remove reference to --reset
+ * (844b150) 'exec' subcommand renamed to 'execute' Subcommands are allowed to be shortened non-ambiguously Subcommand options now go in their own namespace get_subparser now throws an ArgumentError if you ask for a parser that doesn't exist when default isn't set
+ * (99bf685) Implement filters for CLI series listing
+ * (899eb5e) Remove clear-backlog subcommand in favor of database reset-plugin backlog
+ * (b551946) Actually pass cli arguments to running webui
+ * (d8ee838) Exec calls from cli are now sent to running webui Add /api/ to webui for REST api endpoints
+ * (db05ed7) Add a new system for defining which subcommands need a db lock
+ * (49a83e4) Split archive CLI into archive subcommand and --archive-inject exec option
+ * (3b6d1b5) Small tweaks
+ * (b2271cb) Add a run_subcommand method to Manager
+ * (b9fbcdd) Switch to use events to register parser arguments and handle subcommands
+ * (84d1f6b) Switch to use events to register parser arguments and handle subcommands
+ * (159a349) Cleanups
+ * (c95ce03) Add some comments about the different parsers in options.py
+ * (aefbf31) Add some methods to our ArgumentParser class to deal with subparsers more easily Switch subcommands to use the event system
+ * (ea4bc0c) Remove force option of movie_queue
+ * (604cb12) Fix the unit testing framework for CLI changes
+ * (ec20557) Remove some references to --series
+ * (38bfe0b) Update webui to work with new CLI system
+ * (a22f296) Convert all seen plugin CLI to subcommand Remove old seen plugin migration
+ * (a115d4b) Convert --failed and --clear to 'failed' subcommand
+ * (1c24fd7) Convert --movie-queue to a subcommand
+ * (65d1533) Convert --history to subcommand, add search option
+ * (60eafd1) Remove hack to run plugin method as subcommand
+ * (94d2160) Some cleanups to the options file
+ * (426edec) Add a database manager for cli
+ * (d521699) Remove --reset
+ * (9626502) Lockfiles now ignored if the pid is no longer running Manager.acquire_lock is now a context manager
+ * (015f644) Fix all the series cli commands Subcommand entry points now get manager as an argument Fix db_cleanup
+ * (b7f4a2f) Show help text when there are errors parsing cli arguments
+ * (3db8726) Convert clear-backlog to subcommand
+ * (4cc2b6e) Make 'series show' command work
+ * (dff788c) Convert --plugins to subcommand
+ * (b76922b) Update doc, reset-plugin and series CLI interface to use subcommands
+ * (054a0d7) Disable some old CLI switches until they are converted
+ * (6b63cf4) Keep messing with cli subcommands
+ * (9fe65a5) Adjust manager to only load config and lock database when executing tasks
+ * (de0f788) Start hacking in subcommands to cli interface
+
+=== 1.1.121 (2013.09.13) ===
+
+ * (8641eb0) Fix some problems with movie-queue del and forget when deleting by movie id
+ * (9aa3dd6) More cleanup to include plugin
+
+=== 1.1.120 (2013.09.13) ===
+
+ * (a7cecba) Remove file existence validation from include plugin again, fix #2196 Include plugin fails more gracefully with an invalid file included
+
+=== 1.1.119 (2013.09.12) ===
+
+ * (9057175) Fix a crash in preset plugin when config was malformed
+ * (fb08c11) Prevent crash in include plugin when configured incorrectly Update include plugin to api 2 and new config schema
+
+=== 1.1.118 (2013.09.12) ===
+
+ * (68627a0) Make --movie-queue del and forget options better at matching movies in your queue Prevent extra lookups when editing movie queue
+
+=== 1.1.117 (2013.09.10) ===
+
+ * (4d63f49) Don't escape colons in download urls. fix #1804
+
+=== 1.1.116 (2013.09.10) ===
+
+ * (8754c34) Open the range of pack detection a bit. fix #1432
+
+=== 1.1.115 (2013.09.09) ===
+
+ * (4231740) Allow text plugin to work with url or filename. fix #1832 Catch an exception in text plugin when config regex didn't have a capture group.
+ * (71562e4) Finally get changelog->upgradeactions linking working properly. (hopefully)
+
+=== 1.1.114 (2013.09.09) ===
+
+ * (0a3d8fe) Allow task names to be numeric. fix #1961, ref #1763
+ * (a06d614) Stop false matches with changelog->upgradeactions linking
+
+=== 1.1.113 (2013.09.09) ===
+
+ * (e9915fe) Tweak changelog generator to not use flexget package
+
+=== 1.1.112 (2013.09.09) ===
+
+ * (4235543) Add links to upgrade actions in the change log
+
+=== 1.1.111 (2013.09.08) ===
+
+ * (270b6f2) Add allow_teasers option to series_premiere plugin
+
+=== 1.1.110 (2013.09.07) ===
+
+ * (f4de254) Convert trakt_acquired to use requests, add more debug output for failures.
+
+=== 1.1.109 (2013.09.07) ===
+
+ * (01ec40d) Tweak the changelog generator a bit
+
+=== 1.1.108 (2013.09.07) ===
+
+ * (42bb371) Add a helper script to generate a changelog from git log
+ * (6a13295) Make prowl debug output actually go to debug log
+
+=== 1.1.107 (2013.09.07) ===
+
+ * (76bcfe7) Add some debug output to prowl --test
+
+=== 1.1.106 (2013.09.06) ===
+
+ * (b720824) Improve schema for csv plugin. fix #2193
+
+=== 1.1.105 (2013.09.04) ===
+
+ * (6df6d28) Prevent recursive lazy lookups with imdb plugin.
+
+=== 1.1.104 (2013.09.04) ===
+
+ * (65aedc1) imdb_lookup will look up based on movie_name if available refs #2112
+
+=== 1.1.103 (2013.09.03) ===
+
+ * (a8bd46f) Clean up rapidpush plugin
+
+=== 1.1.102 (2013.09.03) ===
+
+ * (dc4bf4f) Clean up serienjunkies plugin
+
+=== 1.1.101 (2013.09.03) ===
+
+ * (d2c311d) Clean up torrent411 plugin
+
+=== 1.1.100 (2013.09.03) ===
+
+ * (18c881e) Cleanups for listdir plugin
+
+=== 1.1.99 (2013.08.31) ===
+
+ * (86cfc8a) Included torrent411 urlrewriter. Fixes #754.
+
+=== 1.1.98 (2013.08.31) ===
+
+ * (be97134) Added support for symbolic links to the other exists-plugins.
+
+=== 1.1.97 (2013.08.31) ===
+
+ * (70a6a6e) Removed dirs_only option since it broke the tests.
+ * (32d2645) Updated for exists_series dirs_only parameter, if entry is a dir, don't chop the last word from the name.
+ * (b59127f) Merge branch 'master' of https://github.com/Flexget/Flexget
+
+=== 1.1.96 (2013.08.28) ===
+
+ * (06c6a64) Refactor and fix content_filter require_all logic, add some unit tests.
+
+=== 1.1.95 (2013.08.28) ===
+
+ * (a5274e6) Catch potential exception in rss plugin. fix #1880
+ * (af7471e) Catch potential network exception in imdb_list. fix #1817
+ * (0cdb58f) Allow use of ~ in transmission netrc option. fix #1789
+
+=== 1.1.94 (2013.08.27) ===
+
+ * (3ebaad7) Clean up rtorrent_magnet plugin. refs #1994
+ * (2b32271) Add 'watched' option for trakt_list movies. fix #1966
+
+=== 1.1.93 (2013.08.27) ===
+
+ * (c280a8a) Give a proper error message when config is not utf8 encoded. fix #2121
+
+=== 1.1.92 (2013.08.26) ===
+
+ * (b9f0f43) Add 'webhd' as synonym for webdl quality.
+ * (a18ed42) Fix pogcal authentication issues. fix #2128
+
+=== 1.1.90 (2013.08.26) ===
+
+ * (2ab373a) Update apple_trailers docstring. fix #2167
+
+=== 1.1.89 (2013.08.26) ===
+
+ * (274aba2) Fix import problem with serienjunkies plugin. fix #2184
+
+=== 1.1.88 (2013.08.26) ===
+
+ * (3733c69) Merge branch 'serienjunkies'
+ * (b129840) Fix indentation in serienjunkies urlrewriter
+ * (ddc7469) Indention fixed
+ * (de7513d) Updated .gitignore
+ * (997c913) Final and working version serienjunkies.org urlrewriter
+ * (b198e50) Final version serienjunkies.org urlrewriter
+ * (7f64157) Update urlrewrite_serienjunkies.py
+ * (230aebf) code cleaning
+ * (e1bd888) hoster and language configuration
+ * (1243bb4) Create urlrewrite_serienjunkies.py
+
+=== 1.1.87 (2013.08.26) ===
+
+ * (9eca252) Merge branch 'tempdir'
+ * (e2ddabd) Small cleanups to download tests
+ * (0b8b725) chmod -x'ed tests/test_download.py back to normal
+ * (b3f7e80) Some cross-platform and regular bugs
+ * (db5f874) Download plugin: bugfixes and a bit of PEP8
+ * (9a56d35) no idea why that was missing O_o
+ * (fd1ee47) download plugin: temp directory and test cases
+
+=== 1.1.86 (2013.08.19) ===
+
+ * (96b9218) Make sure explicitly configured series can never be hidden in a --series summary.
+
+=== 1.1.85 (2013.08.19) ===
+
+ * (30d77bb) Fix --series further so that all series are queryable.
+
+=== 1.1.84 (2013.08.19) ===
+
+ * (78efdf2) Improve --series behavior for shows with similar names. fix #2149
+
+=== 1.1.83 (2013.08.04) ===
+
+ * (473b084) Merge pull request #71 from rpatterson/log-torrentz-request-errors[[BR]]
+ Log specific HTTP error messages when searching torrentz
+ * (01cc833) Log specific HTTP error messages when searching torrentz
+
+=== 1.1.82 (2013.07.30) ===
+
+ * (b3dcbb4) Add loose matching support for --series NAME
+
+=== 1.1.81 (2013.07.21) ===
+
+ * (51c6d36) Remove invalid rows in series_tasks fix #2115
+
+=== 1.1.80 (2013.07.21) ===
+
+ * (5be2d86) Series db cleanup now no longer messes up relationships
+ * (23ad9a4) config_modified flag is now set after a database cleanup
+ * (2c716f9) Include quality info in btn search result titles
+
+=== 1.1.79 (2013.07.19) ===
+
+ * (9e9fb96) Disable notify_osd when config is False
+
+=== 1.1.78 (2013.07.18) ===
+
+ * (6d77428) Torrentleech sizes can, surprisingly, be in Bytes
+ * (a326b39) Added distribute tarball and man/ to gitignore
+
+=== 1.1.77 (2013.07.16) ===
+
+ * (dfc0cae) Workaround for paver bug with missing module 'version'
+ * (2cee8a7) exists_series will now follow symbolic links dirs_only False/True has been added to allow searching for directories only, default: False
+
+=== 1.1.76 (2013.07.16) ===
+
+ * (0662ee9) Merge branch 'master' of https://github.com/Flexget/Flexget
+
+=== 1.1.75 (2013.07.15) ===
+
+ * (0d7b468) Upgrade bootstrap.py to new version
+
+=== 1.1.74 (2013.07.12) ===
+
+ * (0afc219) Make sure movie title parser cuts at "director's"
+
+=== 1.1.73 (2013.07.10) ===
+
+ * (b7a7066) Fix missing space in verbose accept/reject messages
+ * (417b76e) Fix cascade not deleting episodes when doing --series-forget for whole series
+
+=== 1.1.72 (2013.07.10) ===
+
+ * (cd93524) Make sure identified_by is not overridden to auto when explicitly specified for series groups
+
+=== 1.1.71 (2013.07.08) ===
+
+ * (e10964e) Allow setting --series-begin for shows not yet in the database
+
+=== 1.1.70 (2013.07.08) ===
+
+ * (9e3bb09) Add from_start option to emit_series
+ * (50df981) Make sure no reruns are requested for next season with a non-ep based show
+
+=== 1.1.69 (2013.07.08) ===
+
+ * (aa28cab) Fix --series-begin for sequence identifiers
+
+=== 1.1.68 (2013.07.08) ===
+
+ * (ab26eb4) Make sure series plugin get_latest_download helper only returns episodes that match the identified_by type for the series
+
+=== 1.1.67 (2013.07.08) ===
+
+ * (9a3e6a9) Fix issue with webui series query. fix #2101
+
+=== 1.1.66 (2013.07.05) ===
+
+ * (ee5dc8e) Update beautifulsoup requirements
+
+=== 1.1.65 (2013.07.05) ===
+
+ * (5287ad4) Make previous emit_series fix a bit cleaner.
+
+=== 1.1.64 (2013.07.05) ===
+
+ * (cc2163e) Catch an error with python tvrage api
+ * (252c2e0) Fix crash in emit_series
+
+=== 1.1.63 (2013.07.02) ===
+
+ * (9dc2783) Prevent a crash in imdb parser. refs #2091
+
+=== 1.1.62 (2013.06.30) ===
+
+ * (3ded33f) Add some more fields to entries created by apple_trailers
+
+=== 1.1.61 (2013.06.30) ===
+
+ * (4280c93) Fix apple_trailers test
+
+=== 1.1.60 (2013.06.30) ^[wiki:UpgradeActions#a2013.6.301.1.60 upgrade actions]^ ===
+
+ * (300f0b0) Fix apple_trailers plugin
+
+=== 1.1.59 (2013.06.30) ===
+
+ * (1075e83) Fix imdb mpaa test
+ * (67c7605) Strip quotes from imdb_original_name
+
+=== 1.1.58 (2013.06.30) ===
+
+ * (1a69757) Add 'remux' as a valid source
+ * (015d546) Fix forgotten comma
+
+=== 1.1.57 (2013.06.26) ===
+
+ * (1fd54dc) Try to make sure more specific series name is parsed first in case of ambiguity.
+
+=== 1.1.56 (2013.06.26) ===
+
+ * (36cb425) Fix api_tvrage for shows with non-ascii characters
+
+=== 1.1.55 (2013.06.26) ===
+
+ * (30f6c9b) Fix bug with newtorrents search plugin
+
+=== 1.1.54 (2013.06.25) ===
+
+ * (b0d4387) Fix api_tvrage database caching
+
+=== 1.1.53 (2013.06.25) ===
+
+ * (2aa9eb6) Catch timeouts properly in api_tvrage, prevent task aborts
+
+=== 1.1.52 (2013.06.24) ===
+
+ * (d965def) Reduce log spam when using discover plugin.
+
+=== 1.1.51 (2013.06.24) ===
+
+ * (4e5c811) Small typo in readme
+
+=== 1.1.50 (2013.06.23) ===
+
+ * (77b34e7) Small typo + level logging
+
+=== 1.1.49 (2013.06.23) ^[wiki:UpgradeActions#a2013.6.231.1.49 upgrade actions]^ ===
+
+ * (c429829) if the source extension isn't already present in the destination add source extension to destination when moving.
+ * (2feaea4) Merge branch 'planeturban'
+ * (e7d602d) Added support for unwatched media only. Fixed naming of some entries.
+
+=== 1.1.48 (2013.06.23) ===
+
+ * (45a6bcf) Merge branch 'planeturban'
+ * (4bfb556) Removed some debugging.
+
+=== 1.1.47 (2013.06.22) ===
+
+ * (9679aee) Make sure series_premiere doesn't do anything with shows configured in series plugin. fix #2082
+
+=== 1.1.46 (2013.06.22) ===
+
+ * (0fc2ec9) Jack up the timeout for disconnecting from deluge daemon
+
+=== 1.1.45 (2013.06.22) ===
+
+ * (057222f) Minor improvements to docstrings and log messages.
+
+=== 1.1.44 (2013.06.22) ===
+
+ * (6f570ca) Fix bug with series CircularDependencyError
+ * (c84105f) Only log first request for rerun within a task
+
+=== 1.1.43 (2013.06.21) ===
+
+ * (5304505) Episodes that tvrage doesn't know about are now considered unreleased in est_released_series
+ * (1f1d3bb) Fix search count in discover plugin
+ * (b1243c9) Fix bug in btn plugin when no results
+
+=== 1.1.42 (2013.06.21) ===
+
+ * (bd84698) Fix bug with api_tvrage and None genres Improve how tvrage genres are stored in the database a bit
+ * (55b74e4) Fix max_reruns plugin
+
+=== 1.1.41 (2013.06.21) ===
+
+ * (08fa7da) Better log messages for emit_series about shows not being emitted
+
+=== 1.1.40 (2013.06.21) ===
+
+ * (8ac8e54) Removed wait parameter, let's be bursty if we need a more complex system we'll implement it another way.
+
+=== 1.1.39 (2013.06.21) ===
+
+ * (10b414c) Add alternate_name option to series plugin
+
+=== 1.1.38 (2013.06.21) ===
+
+ * (9adeb0d) Add better debug logging if trakt_list fails to decode response from trakt. refs #2083
+
+=== 1.1.37 (2013.06.20) ^[wiki:UpgradeActions#a2013.6.201.1.37 upgrade actions]^ ===
+
+ * (9443993) Merge branch 'emit_series'[[BR]]
+ Conflicts:[[BR]]
+ flexget/plugins/generic/archive.py[[BR]]
+ flexget/plugins/search_kat.py
+ * (2b8afdd) Cleanups for newznab plugin
+ * (6b98975) Cleanups
+ * (da521c3) Remove task level entry hooks for now
+ * (6ecd020) Add a method to Task to add hooks on all entries added to that task
+ * (4831b53) More tweaks to series database updating
+ * (d581639) Explicitly set identified_by to ep for all_series and series_premiere
+ * (8b2d1d3) Allow ep identifiers to be lower case with 'begin' option
+ * (311c323) Combine est_released_tvrage and est_released_series Catch some errors better for shows not in tvrage
+ * (82dc2ae) Make sure --series summary never hides series in config
+ * (1759260) import_series keeps track if config has changed Fix series db updates to work properly
+ * (c84c9fa) Make sure Episode.first_seen doesn't crash when there aren't releases
+ * (424f49f) Add docstrings for entry hooks
+ * (ffabeb9) pep8 + cleanup
+ * (8482bf1) Added DB cleanup, to clean data not updated for 30 days. If tvrage data are more than 7 days old, refetch them from tvrage (purge db for that show and reinsert).
+ * (b8833b1) Removed Season utility class in profit of an episode method. Changed test & est_Released_tvrage accordingly
+ * (446c62c) Helper functions, comments and cascade relation
+ * (bca7069) Useless var for the test (copy / paste is bad)
+ * (1b682a1) First persistence changes for tvrage api
+ * (0c7cae0) New url rewrite for newznab engines.
+ * (a89caec) Support sequence based episodes in emit_series, est_released_tvrage and btn plugins
+ * (53cae6b) emit_series now tries to fill in any undownloaded episodes from current season
+ * (e472524) Fix grace for large episode batches in series episode advancement Fix small issue with setting series begin
+ * (1320a28) Implement super cool auto retry with emit_series for next episode or season
+ * (5beb54d) Make --series-begin work with lower case ep identifiers
+ * (d34d606) Make --series-begin actually work
+ * (1842e56) Start implementing --series-begin. Probably broke some stuff, commiting before I go home.
+ * (37e82ab) Merge branch 'emit_series' of https://github.com/Flexget/Flexget into emit_series
+ * (6e27b6c) functools.total_ordering is not available in 2.6
+ * (a52d8f7) emit_series now starts at 'begin' if specified
+ * (54a58ef) Update task.undecided
+ * (8b3ade8) Remove some todos about entry phases
+ * (caa7e3f) If successful, emit_series tries rerun to get next ep More fixes
+ * (047ca23) Add entry.task back More tweaks to the new entry phases
+ * (05906c2) --dump now prints title and url above other fields
+ * (7049a42) Start refactoring entry phases
+ * (31fc167) Merge branch 'emit_series' of https://github.com/Flexget/Flexget into emit_series
+ * (59c1fa6) Remove series 'watched' option in favor of 'begin' option, which is now stored in the database.
+ * (7d33ec6) Series plugin now accepts any missing episodes from the current season
+ * (cf611f8) Update all search plugins to use search_strings
+ * (f87b4f1) Fix est_released_series, add a season break estimator
+ * (c1406b7) Update some search plugins to use search_strings field
+ * (9e1f79b) Make sure urlrewrite_search iterates results in sorted order
+ * (fa9a72f) Movie estimator falls back to movie_year
+ * (83a6149) More est_released tweaks
+ * (2da56c5) Raise DependencyError when series plugin is missing
+ * (c15d4c2) Add release estimator based on series history Tweaks to est_released plugins
+ * (5958d30) Refactor emit_series a bit
+ * (ddce719) Series plugin now unmarks the database when tasks are removed
+ * (ca9ceee) Fix btn plugin with no results
+ * (424bd70) If any series are configured in tasks, --series will only print the summary for them
+ * (e3c7a80) Add info into db for which series are configured in which task emit_series now only emits series from that task
+ * (1f6c0d8) Start emit_series branch
+ * (c78f306) Start emit_series branch
+
+=== 1.1.36 (2013.06.17) ===
+
+ * (a3b4215) Changed old kat.ph to new kickass.to domain.
+
+=== 1.1.35 (2013.06.13) ===
+
+ * (32028e2) Don't import jsonify from flask.helpers fix #2078
+
+=== 1.1.34 (2013.06.13) ===
+
+ * (8ff63e9) Make sure auto identified by works properly with all_series
+
+=== 1.1.33 (2013.06.12) ===
+
+ * (dea8e78) Some doc updates
+
+=== 1.1.32 (2013.06.11) ===
+
+ * (ffa4b01) Update version number in sphinx documentation
+ * (715bb94) Fix imdb parser for movies with no plot. fix #2042, #2071
+ * (34af346) fix #2075
+
+=== 1.1.31 (2013.06.10) ===
+
+ * (8ee56df) Merge branch 'ftp'
+ * (191b01f) Some ftp plugin cleanups
+ * (7bef6bb) bugfixes and suggestions added
+ * (57d9a84) first version from ftp_download plugin
+ * (ee61b60) Fixed commentaries
+ * (b6390ed) First version from ftp_list plugin
+
+=== 1.1.30 (2013.06.08) ===
+
+ * (89fd4aa) Add docs for 'interval' values in schemas
+
+=== 1.1.29 (2013.06.08) ===
+
+ * (b48860a) Merge pull request #57 from andir/invalid_port[[BR]]
+ Fixed some issues with torrent_alive related to invalid ports.
+ * (0209264) Fixed some issues with torrent_alive related to invalid ports.
+
+=== 1.1.28 (2013.06.05) ===
+
+ * (a3bc27f) Search plugin flexget_archive now produces sensible results.[[BR]]
+ - Does not create None fields, Fixes #2069
+ * (54c30ac) Increased discover verbosity level on search.
+ * (c7ce11b) Entry update_using_map now has ignore_none kwarg.
+
+=== 1.1.27 (2013.06.05) ===
+
+ * (d56b4e5) Fixes make_rss guid failure with unicode.[[BR]]
+ - Fixes #2068
+
+=== 1.1.26 (2013.06.02) ===
+
+ * (ece3493) Fix merge problem. fix #2064
+
+=== 1.1.25 (2013.06.01) ===
+
+ * (2760f21) csv plugin now handles unicode input. (hopefully correctly) Also add csv plugin schema and switch to requests
+
+=== 1.1.24 (2013.05.31) ^[wiki:UpgradeActions#a2013.5.301.1.24 upgrade actions]^ ===
+
+ * (55b9516) Find and listdir plugins now strip extension from created entry titles.
+
+=== 1.1.23 (2013.05.31) ===
+
+ * (3070895) Add --clear-backlog option
+
+=== 1.1.22 (2013.05.31) ===
+
+ * (e7adbe7) ascii option to rss plugin now converts whole feed before parsing. can help parse bad feeds. refs #1637
+
+=== 1.1.21 (2013.05.29) ===
+
+ * (d919e67) Re-implement deleting of non-accepted entries after task execution to reduce memory usage. ref #1652
+ * (4b76408) Update readme with links to website
+
+=== 1.1.20 (2013.05.27) ===
+
+ * (4532ad1) Don't let strings have u'' representation in config error messages
+ * (303bc74) Add imdb_list schema
+ * (a3ec316) Import cleanups
+ * (49828e7) More schemas
+
+=== 1.1.19 (2013.05.27) ===
+
+ * (861503a) More schemas
+ * (79196bf) More schemas
+ * (59ebacb) Convert more plugins to use new schemas
+
+=== 1.1.18 (2013.05.27) ===
+
+ * (5b586a1) Require series titles to end at word borders. fix #1949
+ * (d26c642) Increase download chunk size to 150kB fix #1622
+
+=== 1.1.17 (2013.05.27) ===
+
+ * (0415501) Fix make_rss schema
+ * (91eb66f) Hopefully fix series db cleanup. refs #2034
+ * (430c2ed) Convert rss plugin to schema
+ * (53ab874) Remove old lazy validator code, issue error if any plugins try to use it.
+ * (ab4dea3) Add schema docs on format keyword
+ * (3db11c0) Convert cookies to schema
+ * (736cc2a) Add download url into package metadata
+
+=== 1.1.16 (2013.05.27) ===
+
+ * (294f1f4) Start some documentation on the new schema system
+
+=== 1.1.15 (2013.05.27) ===
+
+ * (7799d35) Convert regexp plugin to new schema
+ * (3b1219e) Remove unused import
+ * (9a0a95e) Fix some config error messages not printing
+ * (d00100b) Remove add_plugin_validators function
+ * (3e42447) Clean up a few TODOs
+
+=== 1.1.14 (2013.05.27) ===
+
+ * (d20705e) Refactor how series plugins share the series settings schema
+
+=== 1.1.13 (2013.05.26) ===
+
+ * (d651d26) Series plugin 'path' option allows any path. fixes #2057
+
+=== 1.1.12 (2013.05.26) ===
+
+ * (2d3b02a) Fix series_premiere validator so allow_seasonless works again. refs #2057
+
+=== 1.1.11 (2013.05.26) ===
+
+ * (a92f3db) Removed tvtorrents input (unmaintained and broken)
+
+=== 1.1.10 (2013.05.26) ===
+
+ * (a11048f) Merge pull request #55 from docpaul/master[[BR]]
+ from_transmission input mods
+ * (37ddd1f) Update plugin_transmission.py[[BR]]
+ Added additional keys (content_size, transmission_comment, transmission_downloadDir, transmission_isFinished, transmission_isPrivate) to from_transmission input entry
+
+=== 1.1.9 (2013.05.26) ===
+
+ * (6ffb5c9) Catch RenderErrors in exists_series
+ * (711812e) Don't bother converting movie release estimate to date
+
+=== 1.1.8 (2013.05.25) ===
+
+ * (c18c3e2) Allow jinja replacement in exist_series paths in order to optimize number of files scanned
+ * (b905115) Avoid string replacement in a bunch of logging calls when not enabled for that level
+
+=== 1.1.7 (2013.05.25) ===
+
+ * (1177c25) Make sure 'auto' series identifier mode doesn't overwrite learned one
+ * (d419562) Update some more plugins with schemas
+ * (5362190) More readme formatting
+
+=== 1.1.6 (2013.05.25) ===
+
+ * (b08e84c) Update README some more
+
+=== 1.1.5 (2013.05.25) ===
+
+ * (fa4d1b2) Update README to use rst Add classifiers and long_description to our setup
+
+=== 1.1.4 (2013.05.25) ===
+
+ * (6e78c9e) Fix --ver-file option for release task
+
+=== 1.1.3 (2013.05.24) ===
+
+ * (4f5dcb2) fix #2055
+
+=== 1.1.2 (2013.05.24) ===
+
+ * (6e9a698) Merge branch 'planeturban'
+ * (1d45f05) More pep8 fixes. Added skip if episode not could be determined.
+ * (352c897) Merge branch 'planeturban'
+ * (a0ecb89) New enteties. plex_server unresolved server name plex_server_ip resolved server ip plex_port PMS port plex_section section number plex_section_name section name e.g. TV Shows plex_path path to media on server e.g. /library/parts/44695/file.mkv[[BR]]
+ Smarter check if section is TV or not.
+ * (98da9d5) Removed temporary debug information.
+
+=== 1.1.1 (2013.05.24) ===
+
+ * (3a0028d) Add jsonschema to technologies used in dev docs
+
+=== 1.1.0 (2013.05.24) ^[wiki:UpgradeActions#a2013.5.241.1.0 upgrade actions]^ ===
+
+ * (3932fe0) Bump version number
+ * (43a476e) Fix small merge problem with discover plugin
+ * (3f6727d) Merge branch 'jsonschema'[[BR]]
+ Conflicts:[[BR]]
+ flexget/plugins/filter/content_filter.py[[BR]]
+ flexget/plugins/filter/queue_base.py[[BR]]
+ flexget/plugins/input/discover.py[[BR]]
+ flexget/plugins/input/mock.py[[BR]]
+ pavement.py
+ * (7acf825) Fix backwards compatible validator test
+ * (0c3d823) Refactor some schema validator stuff
+ * (a1b9c8d) Update jsonary style to be more like yaml
+ * (b545911) Tweak getset_item
+ * (7a88356) Fix up discover and inputs schemas
+ * (4190285) Update jsonary again
+ * (20c5596) Update jsonary again
+ * (be88238) Tweak series schemas
+ * (c442eef) Clean up listing of available keys in editor
+ * (5b9ff3a) Switch to yes/no for booleans in editor Clean up some of the style in editor
+ * (f018d9c) Fix quotes in schemas
+ * (1fb6174) Tweak trakt_list schema
+ * (d6c67d4) quotes fix
+ * (5b21274) Update jsonary
+ * (d485d32) Make sure oneOf validator also chooses our custom child errors
+ * (0b50b22) Tweak some schemas for better jsonary representation
+ * (d99fab4) Make /configure/jsonary sorta less broken
+ * (f3adba6) Add sorta broken /configure/jsonary to webui
+ * (0eb1f4a) Add jsonary files to configure plugin static folder
+ * (cb6797a) Register root config schema at /schema/root Temporarily hard code some Content-Type headers to test jsonary
+ * (2f7cd95) Add RESTful endpoint for config json to webui
+ * (6b79938) Reverse order in one_or_more, so that array comes first
+ * (286283b) Fill the 'id' keyword in all plugin schemas
+ * (b33078b) Make setting defaults when validating a separate method
+ * (d5a1642) Only set defaults when validator is called with set_defaults
+ * (f17fec3) Mark some required properties in schemas Add some defaults to schemas
+ * (a41edae) Mark required fields in crossmatch schema
+ * (b8abf61) Add support in for filling default values
+ * (cfed56b) Improve error messages from some of our format checkers
+ * (3f710cf) Clean up the type error message
+ * (21f1dda) Convert apple_trailers to new schema (config is now case sensitive)
+ * (02da432) Improve schema for legacy choice validators with ignore_case
+ * (8979c3a) validate_config methods now returns a list of ValidationErrors
+ * (76b72e2) Clean up any_schema
+ * (0d11d7a) Improve error message for enum Simplify one_or_more now that errors are better for anyOf
+ * (63f532d) Custom errors are now included in schemas generated from old validators
+ * (a7a2bbb) Improve error message for extra keys
+ * (8dbc4fe) Make virtual type error test more robust
+ * (eed0166) Smarter error behavior for anyOf schemas
+ * (c3afa66) Add some notes about deprecated validator testing stuff
+ * (cd36bbe) Clean up unit tests for custom validation messages
+ * (4a285e9) Fix path validator for paths with jinja
+ * (f4d5a11) Make errors raised by format checkers be the validation error
+ * (fc0e833) anyOf validator sometimes guesses a branch to give errors from
+ * (f2699dc) Convert sequence plugin to json schema
+ * (eb9ac01) Fix and refactor how paths are added to error messages Add a custom message for the interval format validator
+ * (93303a9) Add the path of the error to the beginning of error messages
+ * (693e6df) Add system for creating custom validation error messages Add generic render function to utils.template
+ * (a2dbc25) Fix an issue with a series_premiere test
+ * (a118f7a) Fix an issue with the pluginapi tests
+ * (32a7479) Disable validator tests which we can't support with json schema
+ * (db3678b) Add back validate method to old validators to allow unit tests to run Fix choice validator with ignore_case flag Fix path validator with allow_missing flag
+ * (e3986d9) Add 'path' format checker
+ * (6fb0a18) Convert if plugin to json schema
+ * (150a13e) Fix imdb min_score schema to allow numbers
+ * (4edb19c) Require jsonschema >= 1.2
+ * (7d68681) Add interval format validator
+ * (b5656a0) More config schema updates
+ * (dd9e847) Convert more config schemas
+ * (9f0076b) Convert exists config schema
+ * (8598466) Add some forgotten additionalProperties: False
+ * (a6f83e3) Convert crossmatch config schema
+ * (c46fc7f) Convert content_size config schema
+ * (d907a84) Improve the ref validation test. It checks all refs and fragments now.
+ * (c76cf7c) Add a unit test to make sure refs in schemas are valid
+ * (2ceab4e) Convert download plugin schema
+ * (7587732) Convert search_rss plugin schema
+ * (da8b7a5) Convert trakt_list plugin schema
+ * (1deffb2) Convert rss plugin schema
+ * (83a16ba) Convert unit test to test all registered schemas instead of plugins directly.
+ * (a9af3ca) Cleanups for jsonschema stuff
+ * (ca5755d) Return 404s when schemas are not found
+ * (0e1142d) Make schemas available from the webui
+ * (1e8fc00) Convert series plugins to use new config schemas
+ * (c4df5ca) Optimize one_or_more for better error messages
+ * (6973d5d) Add one_or_more helper to generate schemas
+ * (b2b6058) Add a few comments.
+ * (304acd1) Convert content_filter plugin to use new config schema
+ * (9b5ce1d) Convert accept_all plugin to use new config schema
+ * (195b154) Convert mock plugin to use new config schema
+ * (08dd6f8) Remove some unused imports in inputs plugin.
+ * (461062a) Restore 'limit' option to discover plugin.
+ * (1d764c1) Re-implement /schema/plugins refs
+ * (af68b51) Fix mock validator.
+ * (8fa2f5c) Separated new config validation from old validator.py Use new validator to do validation. (unfinished and a bit messy)
+ * (a4dd0ab) Rename schema.py to db_schema.py
+ * (1c36548) More work on jsonschema validation
+ * (0d83edc) Start implementing jsonschema validation
+
+=== 1.0.3414 (2013.05.24) ^[wiki:UpgradeActions#a2013.5.241.0.3414 upgrade actions]^ ===
+
+ * (acd1f17) Merge branch 'discover_refactor'
+ * (f7c2d38) Add preliminary btn search plugin
+ * (306d557) Move est_released plugins out of metainfo package
+ * (cd56331) Implement close matching in urlrewrite_search
+ * (5ebc5aa) Change tpb search behavior with dashes
+ * (dd9dab2) Few fixes since we have change entry type
+ * (02230cb) Few fixes since we have change entry type
+ * (814c11e) Refactor interval_expired a bit
+ * (4554d4f) Axe comparators!
+ * (4aaab5a) Fix for days interval (using a method to have a cleaner code)
+ * (30ab992) Addressing "Automatic staggering of search intervals to avoid many searches all in one run", we use the random algorithm.
+ * (3b57bea) Add discover test for release estimates
+ * (c8a6e4b) Fix test name
+ * (be3e5a2) Add some simple test cases for discover
+ * (8a5563d) Add index for title and task on discover table Make discover release entries that no estimate could be found
+ * (2b5fb02) Merge branch 'master' of https://github.com/Flexget/Flexget into discover_refactor
+ * (0b3617a) pep8 spaces
+ * (057a0ec) Fixed a "normal" exception in the log that may raise unnecessary questions
+ * (2a88b82) Merge branch 'discover_refactor' of https://github.com/Flexget/Flexget into discover_refactor[[BR]]
+ Conflicts:[[BR]]
+ flexget/plugins/input/discover.py[[BR]]
+ flexget/plugins/urlrewrite_torrentz.py
+ * (2ae0404) Discover refactoring[[BR]]
+ - Reduced logging[[BR]]
+ - Emit series does now 1x01 format
+ * (834a6a6) Fix estimator loop, consider rest plugins as well.
+ * (80bf16c) Discover refactoring mayhem.[[BR]]
+ - Various tweaks and fixes
+ * (29c5925) Compatibility fix for some search plugins with the new discover refactor Added a log when movie is not available yet.
+ * (94ba663) Changed from simple_persistence to a Base
+ * (70133a4) Simplifications and correction from comments (est_released is no longer a plugins)
+ * (ea42e75) Est_released now returns only the estimated date of release for the movies, leaving other plugins to decide what to do with it.
+ * (de7c61a) est_released : Renamed function and accept only one entry + fix to the filter + return estimate date of release discover: added a configuration entry so the estimate function can be disabled est_released_movies / series : return estimated date of released for the entry
+ * (ed14a7c) Added an interval parameter : for each entry provided by entry an internal interval is created so the same entry won't be search before next interval.
+ * (0ae4da3) estimate_released plugin for movies
+ * (3869836) Static Cache for api_tvrage in order to speed up multiple query for the same TV Show
+ * (5f043ae) Created a filter plugin for est released, with an helper function called by discover Change emit_series to output only one title per series with meta data from the episode two syntax is not useful Added debug information to est_released_series
+ * (73a8ccc) Added release estimation for tv series
+ * (ef4955e) emit_series now add meta data within the entry serie_name, serie_season, serie_episode
+ * (132c6e6) Discover now provide an entry instead of just a title
+
+=== 1.0.3413 (2013.05.24) ===
+
+ * (97c928a) Fix issue with our file:// support on newer requests. fix #2054
+
+=== 1.0.3412 (2013.05.23) ===
+
+ * (8e92072) Add --ver-file option to release task, so jenkins can read version number
+
+=== 1.0.3411 (2013.05.20) ===
+
+ * (e0c2f3f) Fixed issue where all qualities would not be stripped from series names before parsing. fix #2049
+ * (982a7c9) Update logo for webui header
+
+=== 1.0.3410 (2013.05.20) ===
+
+ * (ad886df) Merge branch 'plex'
+ * (7814e9f) Added support for named sections. Added checks to only allow TV sections.
+
+=== 1.0.3409 (2013.05.19) ===
+
+ * (3440c6e) Fix rejection messages for content_size
+
+=== 1.0.3408 (2013.05.18) ===
+
+ * (a31c83a) Let --test test a bit more in make_rss Fix an issue with non-ascii strings in make_rss
+
+=== 1.0.3407 (2013.05.18) ===
+
+ * (635d974) Merge branch 'plex'
+ * (290d7be) Fix for date based series.
+
+=== 1.0.3406 (2013.05.18) ===
+
+ * (8de49d7) Removed test code from previous commit.
+ * (38274db) Added more detailed information to seen plugin reject message.
+
+=== 1.0.3405 (2013.05.18) ===
+
+ * (c7c850c) Plugin make_rss now writes guid[[BR]]
+ - Fixes #2045
+
+=== 1.0.3404 (2013.05.18) ===
+
+ * (4587f16) Removed IP-only server configuration. Added "original_filename" configuration parameter. Moved resolution in filename to it's "correct" place.
+
+=== 1.0.3403 (2013.05.17) ===
+
+ * (a0bc62d) Add links to some git tutorials to developer docs
+ * (71c8f43) Fixed indentation.
+
+=== 1.0.3402 (2013.05.15) ===
+
+ * (a56a8c1) Merge branch 'master' of https://github.com/Flexget/Flexget
+ * (df11efb) Merge branch 'plex'
+ * (3cf8637) New 'title' and some new configuration parameters: Added video codec, audio codec, video resolution to filename. New configuration parameters: 'lowercase_title' Convert filename (title) to lower case. 'strip_year' Remove year from title, ex: Show Name (2012) 01x01 => Show Name 01x01
+
+=== 1.0.3401 (2013.05.15) ===
+
+ * (0b6a18e) New configguration parameters: 'lowercase_title' Convert filename (title) to lower case. 'strip_year' Remove year from title, ex: Show Name (2012) 01x01 => Show Name 01x01
+ * (f1207dd) New 'title' and some new configuration parameters: Added video codec, audio codec, video resolution to filename. New configuration parameters: 'lowercase_title' Convert filename (title) to lower case. 'strip_year' Remove year from title, ex: Show Name (2012) 01x01 => Show Name 01x01
+
+=== 1.0.3400 (2013.05.14) ===
+
+ * (af6bbdb) Add new logo as windows tasktray icon
+
+=== 1.0.3399 (2013.05.15) ===
+
+ * (afe5231) Added myplex and selection support, for real this time.
+
+=== 1.0.3398 (2013.05.14) ===
+
+ * (266a2d8) Revert "Added myplex and selection support"[[BR]]
+ This reverts commit afa739fae2b2931ee4dc68d5bed8e3f70565e8e7.
+
+=== 1.0.3397 (2013.05.13) ===
+
+ * (afa739f) Added myplex and selection support
+
+=== 1.0.3396 (2013.05.13) ===
+
+ * (5c280d8) Merge branch 'master' of https://github.com/Flexget/Flexget
+
+=== 1.0.3395 (2013.05.12) ===
+
+ * (26a0c2c) Merge pull request #47 from planeturban/plex[[BR]]
+ Plex
+ * (56a6d02) Nicer looking urlopen
+ * (e0a4d7e) PEP8
+ * (19315da) Added plex.py[[BR]]
+ Added Plex input plugin. Uses a Plex media server tv-section as input.
+
+=== 1.0.3394 (2013.05.12) ===
+
+ * (0b4560a) Merge pull request #48 from floppym/master[[BR]]
+ Include test data in tarballs
+ * (0507ecf) Include test data in tarballs
+ * (3ee7511) Readthedocs fixes.
+
+=== 1.0.3393 (2013.05.13) ===
+
+ * (c769b90) Added developer database documentation to Sphinx.
+
+=== 1.0.3392 (2013.05.11) ===
+
+ * (4bd9a89) Enable sphinx doctest extension and fix rendering of TDD docs page
+
+=== 1.0.3391 (2013.05.07) ===
+
+ * (2c836c7) Merge pull request #46 from Nemesis7/patch-1[[BR]]
+ prowl plugin now supports jinja in 'event' option
+ * (930abc0) Update prowl.py
+ * (a2a965d) Update prowl.py
+ * (3c32df9) Update prowl.py[[BR]]
+ This allows for showing the entry metadata in the 'event' part of a push notification.
+
+=== 1.0.3390 (2013.05.06) ===
+
+ * (2bb3b9a) Revert try_every option to emit_movie_queue, replacement will be implemented in discover plugin
+
+=== 1.0.3389 (2013.05.05) ===
+
+ * (d9b3d31) Add some unit tests for emit_movie_queue
+ * (887452f) Add try_every option to emit_movie_queue
+ * (77446d0) Be even more helpful if encountering tabs in config.
+ * (5f31bec) Removed torrage.ws[[BR]]
+ - Fixes #2029
+
+=== 1.0.3388 (2013.04.28) ===
+
+ * (02ab856) Developer documentation.
+
+=== 1.0.3387 (2013.04.27) ===
+
+ * (44c16a8) Series plugin logs verbose when quality requirements are not met.
+ * (8526ecf) Added developer instructions to Sphinx documentation.
+
+=== 1.0.3386 (2013.04.15) ===
+
+ * (91cbb28) Fix our requests session to properly hand off non http schemas to urllib
+
+=== 1.0.3385 (2013.04.11) ===
+
+ * (47043e5) Make rtorrent_magnet count as an output plugin Make rtorrent_magnet support ~ in paths
+
+=== 1.0.3384 (2013.04.10) ===
+
+ * (a725754) Merge pull request #40 from tpolich/master[[BR]]
+ New regex input plugin
+ * (3817e25) Update regexp_parse.py[[BR]]
+ added some more detail to the description
+ * (4f054f8) fixed pep8 errors
+ * (0a225e6) more documenting and added some idea for later work
+ * (287a122) fixed some docstrings and added class docstring
+ * (a208d72) removed debugging print
+ * (ebad7af) fixed more issues with changing regex to regexp
+ * (891202e) fixed variable name
+ * (d25b07b) added a lot of docstrings and removed special handling code for url and title entry fields
+ * (1a8e545) changed config format to differ less between flexget (url and title field) and custom fields
+ * (aa73783) renamed to regexp_parse.py
+ * (4a7b62a) new regex based input plugin[[BR]]
+ added regex input plugin. A more complete offering of what the text plugin currently does.
+
+=== 1.0.3383 (2013.04.09) ===
+
+ * (4760947) add require_all to content_filter validator
+
+=== 1.0.3382 (2013.04.09) ===
+
+ * (f4840d5) add require_all option to content_filter
+
+=== 1.0.3381 (2013.04.07) ===
+
+ * (e11d394) Plugin torrent_alive no longer mangles hostnames with announce[[BR]]
+ - Fixes #2013
+
+=== 1.0.3380 (2013.04.04) ===
+
+ * (6766b1c) Remove extra tvdb_ from tvdb_ep_air_date entry field name. fix #2011
+
+=== 1.0.3379 (2013.04.03) ===
+
+ * (0eef2ea) Add a default timeout for our requests sessions
+
+=== 1.0.3378 (2013.04.01) ===
+
+ * (b52942d) Update kat search plugin for changes they made to fields. Thanks flexam
+
+=== 1.0.3377 (2013.04.01) ===
+
+ * (c0cceb2) Make sure from_transmission doesn't crash when no username/password is provided.
+
+=== 1.0.3376 (2013.03.31) ===
+
+ * (f46050d) Merge pull request #38 from TMaYaD/patch-1[[BR]]
+ Workaround for http://flexget.com/ticket/2002, http://flexget.com/ticket/1954, http://flexget.com/ticket/1315
+ * (ca57933) Workaround for http://flexget.com/ticket/2002
+
+=== 1.0.3375 (2013.03.29) ===
+
+ * (b167e0c) Move webrip quality above sdtv
+
+=== 1.0.3374 (2013.03.28) ^[wiki:UpgradeActions#a2013.3.291.0.3374 upgrade actions]^ ===
+
+ * (3417c7b) Use with statement for a bunch of file handling
+
+=== 1.0.3373 (2013.03.28) ===
+
+ * (dd45c29) Make exec plugin tests run using sys.executable
+ * (e6fe1aa) Make sure config_hash is consistent for same config across runs
+ * (ae3997f) Make sure rtorrent magnet test closes files
+ * (869ba4f) Fix if plugin to work on pypy
+ * (d733754) Make sure rss plugin closes files
+
+=== 1.0.3372 (2013.03.22) ===
+
+ * (95dce6f) Only run set plugin on accepted entries
+
+=== 1.0.3371 (2013.03.20) ===
+
+ * (04833c5) Merge branch 'master' of https://github.com/Flexget/Flexget
+
+=== 1.0.3370 (2013.03.18) ===
+
+ * (ba72fb6) Merge pull request #37 from prdatur/master[[BR]]
+ RapidPush: Update with new channel feature
+ * (0016ade) Merge branch 'master' of github.com:prdatur/Flexget
+ * (bf456aa) RapidPush: implemented new broadcast channel feature
+ * (737d983) RapidPush: implemented new broadcast channel feature
+ * (48b45d1) Added error checking to notify.show and set timeout to 4 seconds instead of the default of 10[[BR]]
+ - Added timeout option for setting how long Notifcation lasts
+
+=== 1.0.3369 (2013.03.14) ===
+
+ * (db51cc6) Better error catching, ref #1978
+
+=== 1.0.3368 (2013.02.25) ===
+
+ * (4b2063c) Make torrentz search fill torrent_info_hash field in created entries
+ * (a4e7656) Re-enable torcache.net in torrent_cache plugin
+
+=== 1.0.3367 (2013.02.26) ===
+
+ * (d6d158f) Disable zoink.it from torrent_cache
+
+=== 1.0.3366 (2013.02.26) ===
+
+ * (e759127) PEP8 cleanups
+
+=== 1.0.3365 (2013.02.25) ===
+
+ * (a806492) Merge pull request #35 from Redsandro/rewritefix[[BR]]
+ Torrentz rewriter fixed
+ * (69a62f8) https removes nag-screen
+ * (ae38c5b) Torrentz rewriter fixed
+
+=== 1.0.3364 (2013.02.22) ===
+
+ * (61a6229) Add unit tests for series parser with apostrophe & escaping[[BR]]
+ - Refs #1605
+
+=== 1.0.3363 (2013.02.22) ===
+
+ * (3334499) Fixes imdb title parsing, online unit tests.
+
+=== 1.0.3362 (2013.02.22) ===
+
+ * (99b663a) Convert html plugin to use requests. refs #1958
+
+=== 1.0.3361 (2013.02.22) ===
+
+ * (54d502e) Merge branch 'master' of https://github.com/Flexget/Flexget
+
+=== 1.0.3360 (2013.02.21) ===
+
+ * (2417dff) fix #1955
+
+=== 1.0.3359 (2013.02.21) ===
+
+ * (5a7168d) Convert api_tmdb to requests. May help #1908
+ * (bf51e8c) Reminder for SQLAlchemy debugging.
+ * (dde5be7) Minor transmission plugin cleanups.
+ * (51fa543) JSON editor changes. Refs #1855.
+
+=== 1.0.3358 (2013.02.19) ===
+
+ * (6077c21) Merge branch 'master' of https://github.com/Flexget/Flexget
+
+=== 1.0.3357 (2013.02.18) ===
+
+ * (12f2c5f) Merge pull request #33 from prdatur/master[[BR]]
+ Updated output plugin: RapidPush
+ * (5a48e55) RapidPush: Allow selecting which task states should be notified, changed version, removed test code
+ * (130f3d4) RapidPush: Allow selecting which task states should be notified
+ * (dcd36de) RapidPush: Allow selecting which task states should be notified
+ * (a3487e7) Fixes #1952. Series plugin API method crashed with certain data.
+ * (3319369) Movie queue cleanups, fixes #1819.
+ * (dcde891) PEP8 cleanups.
+
+=== 1.0.3356 (2013.02.18) ===
+
+ * (39db723) Plugin `--cli-config` improvements. Fixes #1951.
+
+=== 1.0.3355 (2013.02.18) ===
+
+ * (64e54a6) Merge branch 'master' of https://github.com/Flexget/Flexget
+
+=== 1.0.3354 (2013.02.15) ===
+
+ * (00fbdb5) Merge pull request #32 from dickoff/pushover-multiuser[[BR]]
+ Add multi-userkey support to pushover plugin
+ * (0424027) Revert userkeys to userkey, remove excess logging.
+ * (2370841) Pushover API plugin improvements.[[BR]]
+ multiple userkey support[[BR]]
+ custom sound support[[BR]]
+ better error handling
+ * (240f37c) Add multi-userkey support to pushover plugin
+ * (363c97d) Argument --reset-plugin alone will now list all known schemas with details.
+ * (6ab2caf) Docstring cleanup.
+ * (449434b) Don't verbose about skipped db cleanup if not executing tasks (ie. cli commands).
+
+=== 1.0.3353 (2013.02.15) ===
+
+ * (471ec5b) SeriesParser unit tests. PEP8 cleanups.
+
+=== 1.0.3352 (2013.02.14) ===
+
+ * (9bca7ab) Update flexget/templates/rss/default.template[[BR]]
+ Fix rss template for tvdb field name changes.
+
+=== 1.0.3351 (2013.02.14) ===
+
+ * (b844821) Adjustment to --series new_episodes_after to hopefully prevent crash when series or episode is None.
+
+=== 1.0.3350 (2013.02.13) ===
+
+ * (8902002) Some updates to validators to produce better schemas that comply with jsonschema draft 4
+
+=== 1.0.3349 (2013.02.14) ===
+
+ * (ff2ac60) Bugfix for unconfigured `disable_urlrewriters`.
+ * (b356536) Merge branch 'master' of https://github.com/Flexget/Flexget
+
+=== 1.0.3348 (2013.02.12) ^[wiki:UpgradeActions#a2013.2.121.0.3348 upgrade actions]^ ===
+
+ * (83cce6b) Remove space from between api keys in rapidpush
+ * (6e97450) Standardize all tvdb entry fields to start with tvdb_
+
+=== 1.0.3347 (2013.02.12) ===
+
+ * (f7ddeaa) Make rapidpush plugin accept multiple apikeys as a list
+
+=== 1.0.3346 (2013.02.12) ===
+
+ * (4bd7af9) Merge pull request #31 from prdatur/master[[BR]]
+ Updated output plugin: RapidPush
+ * (d701cfc) Merge remote-tracking branch 'fork/master'[[BR]]
+ Conflicts:[[BR]]
+ flexget/plugins/output/rapidpush.py
+ * (2ce6d8f) RapidPush: enhanced code, removed debug stuff
+ * (f4d017e) RapidPush: implemented support for multiple api keys
+ * (8aeb9e7) Add new plugin `disable_urlrewriters`.[[BR]]
+ - This plugin can be used to disable certain urlrewriters,[[BR]]
+ thus stopping them being considered as viable urlrewrite result.
+ * (5f7b856) Add new urlrewriter for google results.
+ * (0ca111a) Fixes RlsLog parsing.[[BR]]
+ - Results are now google urls, which cannot be used for anything relevant yet.
+ * (b0d2dab) Hides imdb warning about original title not being found.
+ * (347cd3c) Fixes torrent_alive unit tests.
+ * (118d444) Remove imdb_id support from rottentomatoes_lookup.[[BR]]
+ - Fixes unit tests[[BR]]
+ - Using imdb_id might have worked with api_key
+ * (3295961) PEP8 cleanups
+ * (93dcc4d) Disabled test_myepisodes.py - test account blocked?
+ * (95000a7) Fixes to imdb uni tests and imdb_lookup enhancements.[[BR]]
+ - Populates new field `imdb_original_name`[[BR]]
+ - Database migration
+ * (4fb5f4b) Add verbose message when creating new database, it takes a while.
+ * (64d1b19) Minor Sphinx tweak, too long chapter name.
+ * (317d3dc) PyLint fixes. Use explicitly logger in torrent_scrub, etc
+
+=== 1.0.3345 (2013.02.10) ===
+
+ * (0477be9) PEP8 fixes
+ * (c7cebc9) Added bunch of git ignores.
+
+=== 1.0.3344 (2013.02.10) ===
+
+ * (2169c1e) PEP8 fixes
+
+=== 1.0.3343 (2013.02.08) ===
+
+ * (f50883f) Add site domain to rss plugin saved error pages. refs #1929
+
+=== 1.0.3342 (2013.02.08) ===
+
+ * (0aa6db9) Transmission pathscrub crash, encode to UTF-8 later.[[BR]]
+ - Refs #1935
+ * (e7f8f93) PEP8 fixes
+
+=== 1.0.3341 (2013.02.07) ===
+
+ * (30355ee) Use tmdb posters in rss feed if possible
+
+=== 1.0.3340 (2013.02.07) ===
+
+ * (1aad79d) Actually render the fallback description...
+
+=== 1.0.3339 (2013.02.06) ===
+
+ * (a512d4f) trying to fix notify exit code
+
+=== 1.0.3338 (2013.02.06) ===
+
+ * (3b165d6) Update README[[BR]]
+ Remove reference to svn.[[BR]]
+ Update Windows config location.
+
+=== 1.0.3337 (2013.02.06) ===
+
+ * (16e7ee0) Use <p> and <strong> instead of <br> and <b> for rss templating
+
+=== 1.0.3336 (2013.02.06) ===
+
+ * (9f443a5) Add Notify-osd option for linux based systems
+
+=== 1.0.3335 (2013.02.04) ===
+
+ * (455a03a) Allow new plugins to be loaded after manager has started. Fix external plugin loading unit test.
+ * (ee27329) Add a unit test for plugin loading from external directories.
+
+=== 1.0.3334 (2013.02.04) ^[wiki:UpgradeActions#a2013.2.41.0.3334 upgrade actions]^ ===
+
+ * (576d820) Set default for rss plugin all_entries option to true.
+
+=== 1.0.3333 (2013.02.04) ===
+
+ * (46974fc) Merge branch 'master' of https://github.com/Flexget/Flexget
+
+=== 1.0.3332 (2013.02.04) ===
+
+ * (fa11740) Move priority of all notification outputs to last.
+ * (828c90f) History plugin enhancements.[[BR]]
+ - Argument --history now accepts optional number of entries to show. Fixes #1272[[BR]]
+ - History plugin can now be disabled with 'history: no'
+
+=== 1.0.3331 (2013.02.04) ===
+
+ * (c79e8b2) Normalize line endings.
+
+=== 1.0.3330 (2013.02.04) ===
+
+ * (c27e924) Added .gitattributes to deal with line endings.[[BR]]
+ - https://help.github.com/articles/dealing-with-line-endings
+
+=== 1.0.3329 (2013.02.04) ===
+
+ * (1e88d82) Fix priority on pushover
+
+=== 1.0.3328 (2013.02.04) ===
+
+ * (5a10a23) Cleanups for plugin.py
+ * (a5b60fa) Minor improvements for rss template.
+
+=== 1.0.3327 (2013.02.04) ===
+
+ * (ffec699) Change pushover priority to last to prevent repeated messages due to failing plugins
+
+=== 1.0.3326 (2013.02.04) ===
+
+ * (cd4f492) Add error handling to description rendering
+
+=== 1.0.3325 (2013.02.03) ===
+
+ * (e407000) Fix torrent_scrub dependency loading
+ * (48830f5) Refactor plugin loading code.
+
+=== 1.0.3324 (2013.02.03) ===
+
+ * (f452f4e) Removed a bunch of import *
+
+=== 1.0.3323 (2013.02.02) ===
+
+ * (a727d3e) Add filename argument to pathscrub utility. Move plugin now replaces path separators from filenames. fix #1911
+
+=== 1.0.3322 (2013.02.02) ===
+
+ * (5af06c2) Remove git calls in --version
+
+=== 1.0.3321 (2013.02.02) ===
+
+ * (c0450c4) Minor tweaks to imdb_list and make_rss.
+
+=== 1.0.3320 (2013.02.02) ===
+
+ * (9fa8f93) Cleanups to failed preset merging.
+ * (2d8d1f9) Fixing issues with make_rss[[BR]]
+ - Restore configuration 'title' default back to using 'task' variable as string.[[BR]]
+ - Renamed metainfo feed to task
+ * (5ef9b86) Merge branch 'master' of https://github.com/Flexget/Flexget
+
+=== 1.0.3319 (2013.02.02) ===
+
+ * (b5f3a98) Switch to a cleaner method of getting version number from server.
+
+=== 1.0.3318 (2013.02.01) ===
+
+ * (11ca52c) Tweak --version a bit more.
+
+=== 1.0.3317 (2013.02.01) ===
+
+ * (7e463d2) Fix bug with {{task}} in jinja templates.
+
+=== 1.0.3316 (2013.02.01) ===
+
+ * (fbedb3b) Merge --check-version into --version
+
+=== 1.0.3315 (2013.02.01) ===
+
+ * (fa954e8) Add note to run git fetch when using --version from a git clone.
+ * (ae580fb) Add --check-version to see if you are on latest release.
+
+=== 1.0.3314 (2013.02.01) ===
+
+ * (0a9914e) Merge pull request #28 from prdatur/master[[BR]]
+ Added output plugin: RapidPush
+ * (a722648) Plugin RapidPush: Fixed invalid tabs, shorten line
+ * (1a76aad) Add output plugin: RapidPush
+ * (0e823a2) Let requests do the decoding of imdb pages.
+ * (40c651b) PEP8 cleanups
+
+=== 1.0.3313 (2013.02.01) ===
+
+ * (ae55b77) Fixes crash with imdb mpaa rating parsing.[[BR]]
+ - Fixes #1919
+
+=== 1.0.3312 (2013.02.01) ===
+
+ * (817f81d) Merge branch 'master' of https://github.com/Flexget/Flexget
+ * (81e335d) Merge pull request #27 from crawln45/master[[BR]]
+ pep8 errors
+ * (c2e89a5) Merge branch 'fixing'
+ * (9462676) pep8 corrections
+ * (a90db70) Fixes crash in make_rss, minor cleanups.
+ * (f65d703) Create build directories in paver docs task.
+
+=== 1.0.3311 (2013.01.31) ===
+
+ * (9203cbc) Add some better failure messages for online tests.
+
+=== 1.0.3310 (2013.01.31) ===
+
+ * (6dcfdba) Update the test torrent. Enable remove_trackers test.
+
+=== 1.0.3309 (2013.01.31) ===
+
+ * (093cfc8) Merge pull request #26 from crawln45/master[[BR]]
+ code cleanup
+ * (5ef2f20) Merge remote-tracking branch 'flexget/master'
+
+=== 1.0.3308 (2013.01.31) ===
+
+ * (82e7be2) Disable online tests for travis
+ * (606a42d) Merge remote-tracking branch 'flexget/master'
+
+=== 1.0.3307 (2013.01.31) ===
+
+ * (7aed491) Mark imdb parser test as online.
+ * (9fe7b76) Fix imdb director and mpaa rating parsing. Add a separate test for imdb parser.
+ * (3699e20) Remove !online parameter for nosetests in setup.cfg
+ * (b589ba0) Code Cleanup
+ * (03b4c48) pep8 error
+
+=== 1.0.3306 (2013.01.31) ===
+
+ * (b400d1a) Merge pull request #25 from crawln45/master2[[BR]]
+ Added rtorrent_magnet and tests
+ * (4263d09) Added rtorrent_magnet and tests
+
+=== 1.0.3305 (2013.01.31) ===
+
+ * (cc59f6d) Merge pull request #24 from shockwaver/imdb[[BR]]
+ update for MPAA scraping, remove test in test_imdb
+ * (7e3802e) fix missing MPAA and update test_imdb.py[[BR]]
+ fixes MPAA scraping and removes invalid test from test_imdb.py language[[BR]]
+ test
+ * (58e9c4f) Added Scripts/ to .gitignore
+ * (2b88fb5) Merge remote-tracking branch 'upstream/master'
+
+=== 1.0.3304 (2013.01.31) ===
+
+ * (8bad5a4) Fix imdb parsing for genres and actors.
+
+=== 1.0.3303 (2013.01.31) ===
+
+ * (73627a7) Few more pep8 cleanups.
+
+=== 1.0.3302 (2013.01.31) ===
+
+ * (8f69706) Removed couple accidentally added files.
+
+=== 1.0.3301 (2013.01.30) ===
+
+ * (0f402e2) Merge pull request #22 from crawln45/master[[BR]]
+ code cleanup
+ * (551cbbb) removing autogenerated folder
+ * (a2205ac) Removed Logs
+ * (de05e49) PEP8 errors just for Paranoidi
+
+=== 1.0.3300 (2013.01.30) ===
+
+ * (47f2ea1) Merge pull request #21 from StunMan/master[[BR]]
+ Added nzbget output plugin
+ * (bc8d119) nzbget output plugin with category, priority and add to top functionality
+
+=== 1.0.3299 (2013.01.30) ===
+
+ * (1580fbe) Small cleanups to torrent_alive
+
+=== 1.0.3298 (2013.01.30) ===
+
+ * (18ce131) Merge pull request #19 from crawln45/master[[BR]]
+ adding UDP scraping to torrent_alive
+ * (08f7698) fixed pep8 errors
+ * (ec39dda) fixed pep8 errors
+ * (83aff47) Removed unnecessary comments
+ * (7eb58b4) Added parsing for announcement set for http only
+ * (22dd546) added udp scraping to tracker_alive
+
+=== 1.0.3297 (2013.01.30) ===
+
+ * (e3815dc) Merge pull request #20 from shockwaver/master[[BR]]
+ update parsing for rating and language from IMDB. Fixes #1853
+ * (428ed96) Few more pep8 cleanups.
+ * (7495247) Removed couple accidentally added files.
+ * (1136280) removing autogenerated folder
+ * (2dfa1cf) Removed Logs
+ * (37b8908) PEP8 errors just for Paranoidi
+ * (cb9cdad) nzbget output plugin with category, priority and add to top functionality
+ * (3bdd365) Small cleanups to torrent_alive
+ * (7aeed7f) fixed pep8 errors
+ * (5e24f42) fixed pep8 errors
+ * (a135308) Removed unnecessary comments
+ * (8f75182) Added parsing for announcement set for http only
+ * (ef99012) added udp scraping to tracker_alive
+ * (913dce2) fix parsing for rating and language on IMDB - fixes #1853
+
+=== 1.0.3296 (2013.01.29) ===
+
+ * (c0bbe79) Merge branch 'master' of https://github.com/Flexget/Flexget
+
+=== 1.0.3295 (2013.01.28) ===
+
+ * (791344d) Merge pull request #18 from shockwaver/urlrewrite_torrentleech[[BR]]
+ added urlrewrite_torrentleech
+ * (e76bf18) removed boolean root validator, pep8 formatting
+ * (a1c388d) added urlrewrite_torrentleech[[BR]]
+ Allows the use of torrentleech as a search engine in discover/search
+ * (0113a74) Fix template
+
+=== 1.0.3294 (2013.01.28) ===
+
+ * (a3ec0e5) add db-config.sqlite, flexget.log and flexget.log.offset to .gitignore
+
+=== 1.0.3293 (2013.01.28) ===
+
+ * (bfab0c6) Use join to merge genres, actors and guest stars Don't add entry title to series by default, it's in the feed title anyway
+
+=== 1.0.3292 (2013.01.26) ===
+
+ * (5369b0e) Merge branch 'master' of https://github.com/Flexget/Flexget
+
+=== 1.0.3291 (2013.01.25) ===
+
+ * (131d05f) Fix response status code reason for spy_headers from last commit.
+
+=== 1.0.3290 (2013.01.25) ===
+
+ * (02fb343) Add requests support to spy_headers plugin.
+ * (9496455) Show entry title always, more IMDb info, add line change after series/movie title
+ * (1097941) Fix extraneous newlines in pushover plugin output
+
+=== 1.0.3289 (2013.01.25) ===
+
+ * (62c8064) Use an external, configurable, template file for rss description
+ * (28ba9e0) Use a smarter way of figuring out the best title for pushover and rss
+
+=== 1.0.3288 (2013.01.24) ===
+
+ * (bab1509) Use Jinja templates for rss output Improved default title and description
+
+=== 1.0.3287 (2013.01.24) ===
+
+ * (3c39171) Better default templates for pushover
+
+=== 1.0.3286 (2013.01.23) ===
+
+ * (ae1d1cb) Fix webui issue with unicode literals.
+ * (da10b31) Fix systray icon creation on windows webui.
+
+=== 1.0.3285 (2013.01.22) ===
+
+ * (cd48d42) Handle HTTP errors (mostly 404) when fetching trailer pages
+
+=== 1.0.3284 (2013.01.18) ===
+
+ * (53f1a6c) Add config.yml to gitignore
+ * (71a25df) Fix mpaa rating scraping for imdb. Add unit tests for imdb mpaa scraping. Re-enable imdb directors test.
+
+=== 1.0.3283 (2013.01.18) ===
+
+ * (99d1467) Replace reference to subversion with git. Attempt to get current checkout version with -V when on git install.
+
+=== 1.0.3282 (2013.01.17) ===
+
+ * (6f32040) Merge pull request #16 from shtimn/master[[BR]]
+ Correct checking config file with non ascii chars.
+ * (07f52db) Patched only Instance, not class.
+ * (bdef843) Revamp test for finding loading and pre checking config file.
+ * (15ebc54) Merge remote-tracking branch 'upstream/master'[[BR]]
+ Conflicts:[[BR]]
+ flexget/manager.py
+ * (773ff95) Relative import ui plugins.
+ * (a692aff) Correct checking config file with non ascii chars.
+ * (b63a718) Write test for capability to check config file with non ascii chars.
+ * (307d31b) Fix setting config_name when init MockManager.
+
+=== 1.0.3281 (2013.01.16) ===
+
+ * (dbb4066) Movie parser works with releases with leading junk in brackets. fix #1893, #1781
+ * (e1f7561) Add .idea/ to gitignore
diff --git a/abs/extra/flexget/PKGBUILD b/abs/extra/flexget/PKGBUILD
new file mode 100644
index 0000000..6c31358
--- /dev/null
+++ b/abs/extra/flexget/PKGBUILD
@@ -0,0 +1,93 @@
+# Maintainer: S. Leduc <sebastien@sleduc.fr>
+# Contributor: Amr Hassan <amr.hassan@gmail.com>
+# Contributor: Nathan Owe <ndowens.aur at gmail dot com>
+# Contributor: G. Richard Bellamy <rbellamy@pteradigm.com>
+
+pkgname=flexget
+_pkgname=Flexget
+pkgver=2.10.48
+pkgrel=1
+
+pkgdesc="Automate downloading or processing content (torrents, podcasts, etc.) from different sources like RSS-feeds, html-pages, various sites and more."
+
+arch=('any')
+url="http://flexget.com/"
+license=('MIT')
+
+depends=('python2'
+ # documented in FlexGet.egg-info/requires.txt
+ 'python2-feedparser'
+ 'python2-sqlalchemy'
+ 'python2-yaml'
+ 'python2-beautifulsoup4'
+ 'python2-html5lib'
+ 'python2-pyrss2gen' #AUR#
+ 'python2-pynzb' #AUR#
+ 'python2-rpyc' #AUR#
+ 'python2-jinja'
+ 'python2-requests'
+ 'python2-dateutil'
+ 'python2-jsonschema'
+ 'python2-path' #AUR#
+ 'python2-guessit>=2.1.2'
+ 'python2-apscheduler>=3.2.0' #AUR#
+ 'python2-terminaltables'
+ 'python2-colorclass'
+ 'python2-pytvmaze>=1.4.8' #AUR#
+ 'python2-ordereddict'
+ 'python2-cherrypy>=3.7.0'
+ 'python2-flask'
+ 'python2-flask-restful' #AUR#
+ 'python2-flask-restplus086' #AUR#
+ 'python2-flask-compress'
+ 'python2-flask-login>=0.3.2'
+ 'python2-flask-cors>=2.1.2'
+ 'python2-pyparsing>=2.0.3'
+ 'python2-future'
+ 'python2-zxcvbn'
+ )
+optdepends=('python2-guppy: for memusage plugin' #AUR#
+ 'python2-transmissionrpc: Transmission support' #AUR#
+ 'python2-rarfile: decompress plugin' #AUR#
+ )
+makedepends=('python2-paver'
+ 'python2-setuptools'
+ )
+
+source=("https://github.com/Flexget/Flexget/archive/${pkgver}.tar.gz"
+ 'flexget.service'
+ "http://download.flexget.com/ChangeLog"
+ "fix_guessit_2.1.2.patch"
+ )
+
+changelog=ChangeLog
+
+sha256sums=('fe7024b516030f869189ff87afcaee09b31c34516c44346514715bf41e988f6f'
+ 'e2c3a958ed0c286337cd37fba1d6cbdf4306c57fcddf2b9cc43615ce80ae83aa'
+ 'dcc1bc676b8c2b798fa9a7e0ed2b6853323e9e9d8ff696696dddeaf29cbc13d6'
+ '8246a4cbdb902d41379c8c4e6045da349c98428adefaf682aff0413b8b8969f7')
+
+prepare() {
+ cd "${_pkgname}"-"${pkgver}"
+
+ msg "Patching shebangs to point to python2"
+ sed -i 's/\(python\)/\12/' flexget{,/ui}/__init__.py
+
+ patch -p0 < ${srcdir}/fix_guessit_2.1.2.patch
+
+}
+
+package() {
+ cd "${_pkgname}"-"${pkgver}"
+
+ # Python setup
+ python2 setup.py install --root="${pkgdir}"/ --prefix=/usr --optimize=1
+
+ # License
+ install -Dm644 LICENSE "${pkgdir}"/usr/share/licenses/"${pkgname}"/LICENSE
+
+ # install systemd user unit
+ install -Dm644 ../flexget.service "${pkgdir}"/usr/lib/systemd/user/flexget.service
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/abs/extra/flexget/fix_guessit_2.1.2.patch b/abs/extra/flexget/fix_guessit_2.1.2.patch
new file mode 100644
index 0000000..52b4aa6
--- /dev/null
+++ b/abs/extra/flexget/fix_guessit_2.1.2.patch
@@ -0,0 +1,11 @@
+--- requirements.txt 2016-06-14 08:12:16.000000000 +0200
++++ requirements.txt.new 2017-05-21 11:24:39.718303562 +0200
+@@ -17,7 +17,7 @@
+ jsonschema>=2.0
+ path.py>=8.1.1
+ pathlib>=1.0
+-guessit<=2.0.4
++guessit>=2.1.2
+ apscheduler>=3.2.0
+ # WebUI Requirements
+ cherrypy>=3.7.0
diff --git a/abs/extra/flexget/flexget.service b/abs/extra/flexget/flexget.service
new file mode 100644
index 0000000..924e0aa
--- /dev/null
+++ b/abs/extra/flexget/flexget.service
@@ -0,0 +1,14 @@
+[Unit]
+Description = FlexGet Daemon
+After = network.target
+
+[Service]
+Type=simple
+RemainAfterExit=yes
+ExecStart = /usr/bin/flexget daemon start
+ExecStop = /usr/bin/flexget daemon stop
+ExecReload = /usr/bin/flexget daemon reload
+KillMode=process
+
+[Install]
+WantedBy = default.target
diff --git a/abs/extra/google-chrome/PKGBUILD b/abs/extra/google-chrome/PKGBUILD
index dd41c55..e7d9eb5 100644
--- a/abs/extra/google-chrome/PKGBUILD
+++ b/abs/extra/google-chrome/PKGBUILD
@@ -5,7 +5,7 @@
# or use: $ curl -s https://dl.google.com/linux/chrome/rpm/stable/x86_64/repodata/other.xml.gz | gzip -df | awk -F\" '/pkgid/{ sub(".*-","",$4); print $4": "$10 }'
pkgname=google-chrome
-pkgver=59.0.3071.86
+pkgver=62.0.3202.75
pkgrel=1
pkgdesc="An attempt at creating a safer, faster, and more stable browser (Stable Channel)"
arch=('x86_64')
@@ -53,6 +53,6 @@ package() {
rm -r "$pkgdir"/etc/cron.daily/ "$pkgdir"/opt/google/chrome/cron/
rm "$pkgdir"/opt/google/chrome/product_logo_*.png
}
-md5sums=('686ea970b43c71f4cff37cf58d9c7738'
- 'da54da9383ddffa44c5db45513239da2'
+md5sums=('dde31453425d80944f304ed84746dbab'
+ 'd50d8f0a6940791eabc41c4f64e6a3cf'
'ed4cf73982461af7d0d944c1cbf9f4e8')
diff --git a/abs/extra/google-chrome/eula_text.html b/abs/extra/google-chrome/eula_text.html
new file mode 100644
index 0000000..ca402cb
--- /dev/null
+++ b/abs/extra/google-chrome/eula_text.html
@@ -0,0 +1,901 @@
+<!DOCTYPE html>
+<html class="no-js consumer" data-country="us" lang="en">
+ <head>
+
+ <script>
+ var a=location.href.match(/platform=(win8|win|mac|linux|cros|ios)/),b=window.navigator.userAgent;document.documentElement.id=a&&a[1]||(-1<b.indexOf("Windows NT 6.2")?"win8":-1<b.indexOf("iPad")?"ios":-1<b.indexOf("Windows")?"win":-1<b.indexOf("Mac")?"mac":-1<b.indexOf("CrOS")?"cros":"linux");
+if(-1<b.indexOf("MSIE")){var c=-1<b.indexOf("MSIE 6")?" lt-ie10 lt-ie9 lt-ie8 lt-ie7 ie6":-1<b.indexOf("MSIE 7")?" lt-ie10 lt-ie9 lt-ie8 ie7":-1<b.indexOf("MSIE 8")?" lt-ie10 lt-ie9 ie8":-1<b.indexOf("MSIE 9")?" lt-ie10 ie9":-1<b.indexOf("MSIE 10")?" ie10":"";""!==c&&(document.documentElement.className+=c)}if(-1<b.indexOf("Windows NT 5.1")||-1<b.indexOf("Windows NT 5.2"))document.documentElement.className+=" winXP";
+ </script>
+ <script src="//www.gstatic.com/external_hosted/modernizr/modernizr.js">
+ </script>
+ <meta charset="utf-8">
+ <meta content="initial-scale=1, minimum-scale=1, width=device-width" name="viewport">
+ <meta content="View the full Terms of Service agreement for Google Chrome" name="description">
+ <title>
+ Google Chrome Terms of Service
+ </title>
+ <link href="https://plus.google.com/100585555255542998765" rel="publisher">
+ <link href="//www.google.com/images/icons/product/chrome-32.png" rel="icon" type="image/ico">
+ <link href="https://www.google.com/chrome/browser/privacy/eula_text.html" rel="canonical">
+ <style>
+ body {
+ font-family: Arial;
+ font-size: 13px;
+ }
+ </style>
+ <script src="//www.google.com/js/gweb/analytics/autotrack.js">
+ </script>
+ <script>
+ new gweb.analytics.AutoTrack({
+ profile: 'UA-26908291-1'
+ });
+ </script>
+ </head>
+ <body class="" id="grid">
+ <div class="browser-eula" id="main">
+ <div class="compact">
+ <h2>
+ Google Chrome Terms of Service
+ </h2>
+ <p>
+ These Terms of Service apply to the executable code version of Google Chrome. Source code
+ for Google Chrome is available free of charge under open source software license
+ agreements at http://code.google.com/chromium/terms.html.
+ </p>
+ <p>
+ <strong>1. Your relationship with Google</strong>
+ </p>
+ <p>
+ 1.1 Your use of Google’s products, software, services and web sites (referred to
+ collectively as the “Services” in this document and excluding any services provided to
+ you by Google under a separate written agreement) is subject to the terms of a legal
+ agreement between you and Google. “Google” means Google Inc., whose principal place of
+ business is at 1600 Amphitheatre Parkway, Mountain View, CA 94043, United States. This
+ document explains how the agreement is made up, and sets out some of the terms of that
+ agreement.
+ </p>
+ <p>
+ 1.2 Unless otherwise agreed in writing with Google, your agreement with Google will
+ always include, at a minimum, the terms and conditions set out in this document. These
+ are referred to below as the “Universal Terms”. Open source software licenses for Google
+ Chrome source code constitute separate written agreements. To the limited extent that the
+ open source software licenses expressly supersede these Universal Terms, the open source
+ licenses govern your agreement with Google for the use of Google Chrome or specific
+ included components of Google Chrome.
+ </p>
+ <p>
+ 1.3 Your agreement with Google will also include the terms set forth below in the Google
+ Chrome Additional Terms of Service and terms of any Legal Notices applicable to the
+ Services, in addition to the Universal Terms. All of these are referred to below as the
+ “Additional Terms”. Where Additional Terms apply to a Service, these will be accessible
+ for you to read either within, or through your use of, that Service.
+ </p>
+ <p>
+ 1.4 The Universal Terms, together with the Additional Terms, form a legally binding
+ agreement between you and Google in relation to your use of the Services. It is important
+ that you take the time to read them carefully. Collectively, this legal agreement is
+ referred to below as the “Terms”.
+ </p>
+ <p>
+ 1.5 If there is any contradiction between what the Additional Terms say and what the
+ Universal Terms say, then the Additional Terms shall take precedence in relation to that
+ Service.
+ </p>
+ <p>
+ <strong>2. Accepting the Terms</strong>
+ </p>
+ <p>
+ 2.1 In order to use the Services, you must first agree to the Terms. You may not use the
+ Services if you do not accept the Terms.
+ </p>
+ <p>
+ 2.2 You can accept the Terms by:
+ </p>
+ <p>
+ (A) clicking to accept or agree to the Terms, where this option is made available to you
+ by Google in the user interface for any Service; or
+ </p>
+ <p>
+ (B) by actually using the Services. In this case, you understand and agree that Google
+ will treat your use of the Services as acceptance of the Terms from that point onwards.
+ </p>
+ <p>
+ <strong>3. Language of the Terms</strong>
+ </p>
+ <p>
+ 3.1 Where Google has provided you with a translation of the English language version of
+ the Terms, then you agree that the translation is provided for your convenience only and
+ that the English language versions of the Terms will govern your relationship with
+ Google.
+ </p>
+ <p>
+ 3.2 If there is any contradiction between what the English language version of the Terms
+ says and what a translation says, then the English language version shall take
+ precedence.
+ </p>
+ <p>
+ <strong>4. Provision of the Services by Google</strong>
+ </p>
+ <p>
+ 4.1 Google has subsidiaries and affiliated legal entities around the world (“Subsidiaries
+ and Affiliates”). Sometimes, these companies will be providing the Services to you on
+ behalf of Google itself. You acknowledge and agree that Subsidiaries and Affiliates will
+ be entitled to provide the Services to you.
+ </p>
+ <p>
+ 4.2 Google is constantly innovating in order to provide the best possible experience for
+ its users. You acknowledge and agree that the form and nature of the Services which
+ Google provides may change from time to time without prior notice to you.
+ </p>
+ <p>
+ 4.3 As part of this continuing innovation, you acknowledge and agree that Google may stop
+ (permanently or temporarily) providing the Services (or any features within the Services)
+ to you or to users generally at Google’s sole discretion, without prior notice to you.
+ You may stop using the Services at any time. You do not need to specifically inform
+ Google when you stop using the Services.
+ </p>
+ <p>
+ 4.4 You acknowledge and agree that if Google disables access to your account, you may be
+ prevented from accessing the Services, your account details or any files or other content
+ which is contained in your account.
+ </p>
+ <p>
+ <strong>5. Use of the Services by you</strong>
+ </p>
+ <p>
+ 5.1 You agree to use the Services only for purposes that are permitted by (a) the Terms
+ and (b) any applicable law, regulation or generally accepted practices or guidelines in
+ the relevant jurisdictions (including any laws regarding the export of data or software
+ to and from the United States or other relevant countries).
+ </p>
+ <p>
+ 5.2 You agree that you will not engage in any activity that interferes with or disrupts
+ the Services (or the servers and networks which are connected to the Services).
+ </p>
+ <p>
+ 5.3 Unless you have been specifically permitted to do so in a separate agreement with
+ Google, you agree that you will not reproduce, duplicate, copy, sell, trade or resell the
+ Services for any purpose.
+ </p>
+ <p>
+ 5.4 You agree that you are solely responsible for (and that Google has no responsibility
+ to you or to any third party for) any breach of your obligations under the Terms and for
+ the consequences (including any loss or damage which Google may suffer) of any such
+ breach.
+ </p>
+ <p>
+ <strong>6. Privacy and your personal information</strong>
+ </p>
+ <p>
+ 6.1 For information about Google’s data protection practices, please read Google’s
+ privacy policy at http://www.google.com/privacy.html and at
+ http://www.google.com/chrome/intl/en/privacy.html. This policy explains how Google treats
+ your personal information, and protects your privacy, when you use the Services.
+ </p>
+ <p>
+ 6.2 You agree to the use of your data in accordance with Google’s privacy policies.
+ </p>
+ <p>
+ <strong>7. Content in the Services</strong>
+ </p>
+ <p>
+ 7.1 You understand that all information (such as data files, written text, computer
+ software, music, audio files or other sounds, photographs, videos or other images) which
+ you may have access to as part of, or through your use of, the Services are the sole
+ responsibility of the person from which such content originated. All such information is
+ referred to below as the “Content.”
+ </p>
+ <p>
+ 7.2 You should be aware that Content presented to you as part of the Services, including
+ but not limited to advertisements in the Services and sponsored Content within the
+ Services may be protected by intellectual property rights which are owned by the sponsors
+ or advertisers who provide that Content to Google (or by other persons or companies on
+ their behalf). You may not modify, rent, lease, loan, sell, distribute or create
+ derivative works based on this Content (either in whole or in part) unless you have been
+ specifically told that you may do so by Google or by the owners of that Content, in a
+ separate agreement.
+ </p>
+ <p>
+ 7.3 Google reserves the right (but shall have no obligation) to pre-screen, review, flag,
+ filter, modify, refuse or remove any or all Content from any Service. For some of the
+ Services, Google may provide tools to filter out explicit sexual content. These tools
+ include the SafeSearch preference settings (see
+ https://support.google.com/websearch/answer/510?hl=en). In addition, there are
+ commercially available services and software to limit access to material that you may
+ find objectionable.
+ </p>
+ <p>
+ 7.4 You understand that by using the Services you may be exposed to Content that you may
+ find offensive, indecent or objectionable and that, in this respect, you use the Services
+ at your own risk.
+ </p>
+ <p>
+ 7.5 You agree that you are solely responsible for (and that Google has no responsibility
+ to you or to any third party for) any Content that you create, transmit or display while
+ using the Services and for the consequences of your actions (including any loss or damage
+ which Google may suffer) by doing so.
+ </p>
+ <p>
+ <strong>8. Proprietary rights</strong>
+ </p>
+ <p>
+ 8.1 You acknowledge and agree that Google (or Google’s licensors) own all legal right,
+ title and interest in and to the Services, including any intellectual property rights
+ which subsist in the Services (whether those rights happen to be registered or not, and
+ wherever in the world those rights may exist).
+ </p>
+ <p>
+ 8.2 Unless you have agreed otherwise in writing with Google, nothing in the Terms gives
+ you a right to use any of Google’s trade names, trade marks, service marks, logos, domain
+ names, and other distinctive brand features.
+ </p>
+ <p>
+ 8.3 If you have been given an explicit right to use any of these brand features in a
+ separate written agreement with Google, then you agree that your use of such features
+ shall be in compliance with that agreement, any applicable provisions of the Terms, and
+ Google's brand feature use guidelines as updated from time to time. These guidelines can
+ be viewed online at http://www.google.com/permissions/guidelines.html (or such other URL
+ as Google may provide for this purpose from time to time).
+ </p>
+ <p>
+ 8.4 Google acknowledges and agrees that it obtains no right, title or interest from you
+ (or your licensors) under these Terms in or to any Content that you submit, post,
+ transmit or display on, or through, the Services, including any intellectual property
+ rights which subsist in that Content (whether those rights happen to be registered or
+ not, and wherever in the world those rights may exist). Unless you have agreed otherwise
+ in writing with Google, you agree that you are responsible for protecting and enforcing
+ those rights and that Google has no obligation to do so on your behalf.
+ </p>
+ <p>
+ 8.5 You agree that you shall not remove, obscure, or alter any proprietary rights notices
+ (including copyright and trade mark notices) which may be affixed to or contained within
+ the Services.
+ </p>
+ <p>
+ 8.6 Unless you have been expressly authorized to do so in writing by Google, you agree
+ that in using the Services, you will not use any trade mark, service mark, trade name,
+ logo of any company or organization in a way that is likely or intended to cause
+ confusion about the owner or authorized user of such marks, names or logos.
+ </p>
+ <p>
+ <strong>9. License from Google</strong>
+ </p>
+ <p>
+ 9.1 Google gives you a personal, worldwide, royalty-free, non-assignable and
+ non-exclusive license to use the software provided to you by Google as part of the
+ Services as provided to you by Google (referred to as the “Software” below). This license
+ is for the sole purpose of enabling you to use and enjoy the benefit of the Services as
+ provided by Google, in the manner permitted by the Terms.
+ </p>
+ <p>
+ 9.2 Subject to section 1.2, you may not (and you may not permit anyone else to) copy,
+ modify, create a derivative work of, reverse engineer, decompile or otherwise attempt to
+ extract the source code of the Software or any part thereof, unless this is expressly
+ permitted or required by law, or unless you have been specifically told that you may do
+ so by Google, in writing.
+ </p>
+ <p>
+ 9.3 Subject to section 1.2, unless Google has given you specific written permission to do
+ so, you may not assign (or grant a sub-license of) your rights to use the Software, grant
+ a security interest in or over your rights to use the Software, or otherwise transfer any
+ part of your rights to use the Software.
+ </p>
+ <p>
+ <strong>10. Content license from you</strong>
+ </p>
+ <p>
+ 10.1 You retain copyright and any other rights you already hold in Content which you
+ submit, post or display on or through, the Services.
+ </p>
+ <p>
+ <strong>11. Software updates</strong>
+ </p>
+ <p>
+ 11.1 The Software which you use may automatically download and install updates from time
+ to time from Google. These updates are designed to improve, enhance and further develop
+ the Services and may take the form of bug fixes, enhanced functions, new software modules
+ and completely new versions. You agree to receive such updates (and permit Google to
+ deliver these to you) as part of your use of the Services.
+ </p>
+ <p>
+ <strong>12. Ending your relationship with Google</strong>
+ </p>
+ <p>
+ 12.1 The Terms will continue to apply until terminated by either you or Google as set out
+ below.
+ </p>
+ <p>
+ 12.2 Google may at any time, terminate its legal agreement with you if:
+ </p>
+ <p>
+ (A) you have breached any provision of the Terms (or have acted in manner which clearly
+ shows that you do not intend to, or are unable to comply with the provisions of the
+ Terms); or
+ </p>
+ <p>
+ (B) Google is required to do so by law (for example, where the provision of the Services
+ to you is, or becomes, unlawful); or
+ </p>
+ <p>
+ (C) the partner with whom Google offered the Services to you has terminated its
+ relationship with Google or ceased to offer the Services to you; or
+ </p>
+ <p>
+ (D) Google is transitioning to no longer providing the Services to users in the country
+ in which you are resident or from which you use the service; or
+ </p>
+ <p>
+ (E) the provision of the Services to you by Google is, in Google’s opinion, no longer
+ commercially viable.
+ </p>
+ <p>
+ 12.3 Nothing in this Section shall affect Google’s rights regarding provision of Services
+ under Section 4 of the Terms.
+ </p>
+ <p>
+ 12.4 When these Terms come to an end, all of the legal rights, obligations and
+ liabilities that you and Google have benefited from, been subject to (or which have
+ accrued over time whilst the Terms have been in force) or which are expressed to continue
+ indefinitely, shall be unaffected by this cessation, and the provisions of paragraph 19.7
+ shall continue to apply to such rights, obligations and liabilities indefinitely.
+ </p>
+ <p>
+ <strong>13. EXCLUSION OF WARRANTIES</strong>
+ </p>
+ <p>
+ 13.1 NOTHING IN THESE TERMS, INCLUDING SECTIONS 13 AND 14, SHALL EXCLUDE OR LIMIT
+ GOOGLE’S WARRANTY OR LIABILITY FOR LOSSES WHICH MAY NOT BE LAWFULLY EXCLUDED OR LIMITED
+ BY APPLICABLE LAW. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF CERTAIN WARRANTIES OR
+ CONDITIONS OR THE LIMITATION OR EXCLUSION OF LIABILITY FOR LOSS OR DAMAGE CAUSED BY
+ NEGLIGENCE, BREACH OF CONTRACT OR BREACH OF IMPLIED TERMS, OR INCIDENTAL OR CONSEQUENTIAL
+ DAMAGES. ACCORDINGLY, ONLY THE LIMITATIONS WHICH ARE LAWFUL IN YOUR JURISDICTION WILL
+ APPLY TO YOU AND OUR LIABILITY WILL BE LIMITED TO THE MAXIMUM EXTENT PERMITTED BY LAW.
+ </p>
+ <p>
+ 13.2 YOU EXPRESSLY UNDERSTAND AND AGREE THAT YOUR USE OF THE SERVICES IS AT YOUR SOLE
+ RISK AND THAT THE SERVICES ARE PROVIDED "AS IS" AND “AS AVAILABLE.”
+ </p>
+ <p>
+ 13.3 IN PARTICULAR, GOOGLE, ITS SUBSIDIARIES AND AFFILIATES, AND ITS LICENSORS DO NOT
+ REPRESENT OR WARRANT TO YOU THAT:
+ </p>
+ <p>
+ (A) YOUR USE OF THE SERVICES WILL MEET YOUR REQUIREMENTS,
+ </p>
+ <p>
+ (B) YOUR USE OF THE SERVICES WILL BE UNINTERRUPTED, TIMELY, SECURE OR FREE FROM ERROR,
+ </p>
+ <p>
+ (C) ANY INFORMATION OBTAINED BY YOU AS A RESULT OF YOUR USE OF THE SERVICES WILL BE
+ ACCURATE OR RELIABLE, AND
+ </p>
+ <p>
+ (D) THAT DEFECTS IN THE OPERATION OR FUNCTIONALITY OF ANY SOFTWARE PROVIDED TO YOU AS
+ PART OF THE SERVICES WILL BE CORRECTED.
+ </p>
+ <p>
+ 13.4 ANY MATERIAL DOWNLOADED OR OTHERWISE OBTAINED THROUGH THE USE OF THE SERVICES IS
+ DONE AT YOUR OWN DISCRETION AND RISK AND THAT YOU WILL BE SOLELY RESPONSIBLE FOR ANY
+ DAMAGE TO YOUR COMPUTER SYSTEM OR OTHER DEVICE OR LOSS OF DATA THAT RESULTS FROM THE
+ DOWNLOAD OF ANY SUCH MATERIAL.
+ </p>
+ <p>
+ 13.5 NO ADVICE OR INFORMATION, WHETHER ORAL OR WRITTEN, OBTAINED BY YOU FROM GOOGLE OR
+ THROUGH OR FROM THE SERVICES SHALL CREATE ANY WARRANTY NOT EXPRESSLY STATED IN THE TERMS.
+ </p>
+ <p>
+ 13.6 GOOGLE FURTHER EXPRESSLY DISCLAIMS ALL WARRANTIES AND CONDITIONS OF ANY KIND,
+ WHETHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO THE IMPLIED WARRANTIES AND
+ CONDITIONS OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
+ </p>
+ <p>
+ <strong>14. LIMITATION OF LIABILITY</strong>
+ </p>
+ <p>
+ 14.1 SUBJECT TO OVERALL PROVISION IN PARAGRAPH 13.1 ABOVE, YOU EXPRESSLY UNDERSTAND AND
+ AGREE THAT GOOGLE, ITS SUBSIDIARIES AND AFFILIATES, AND ITS LICENSORS SHALL NOT BE LIABLE
+ TO YOU FOR:
+ </p>
+ <p>
+ (A) ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL CONSEQUENTIAL OR EXEMPLARY DAMAGES WHICH
+ MAY BE INCURRED BY YOU, HOWEVER CAUSED AND UNDER ANY THEORY OF LIABILITY.. THIS SHALL
+ INCLUDE, BUT NOT BE LIMITED TO, ANY LOSS OF PROFIT (WHETHER INCURRED DIRECTLY OR
+ INDIRECTLY), ANY LOSS OF GOODWILL OR BUSINESS REPUTATION, ANY LOSS OF DATA SUFFERED, COST
+ OF PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, OR OTHER INTANGIBLE LOSS;
+ </p>
+ <p>
+ (B) ANY LOSS OR DAMAGE WHICH MAY BE INCURRED BY YOU, INCLUDING BUT NOT LIMITED TO LOSS OR
+ DAMAGE AS A RESULT OF:
+ </p>
+ <p>
+ (I) ANY RELIANCE PLACED BY YOU ON THE COMPLETENESS, ACCURACY OR EXISTENCE OF ANY
+ ADVERTISING, OR AS A RESULT OF ANY RELATIONSHIP OR TRANSACTION BETWEEN YOU AND ANY
+ ADVERTISER OR SPONSOR WHOSE ADVERTISING APPEARS ON THE SERVICES;
+ </p>
+ <p>
+ (II) ANY CHANGES WHICH GOOGLE MAY MAKE TO THE SERVICES, OR FOR ANY PERMANENT OR TEMPORARY
+ CESSATION IN THE PROVISION OF THE SERVICES (OR ANY FEATURES WITHIN THE SERVICES);
+ </p>
+ <p>
+ (III) THE DELETION OF, CORRUPTION OF, OR FAILURE TO STORE, ANY CONTENT AND OTHER
+ COMMUNICATIONS DATA MAINTAINED OR TRANSMITTED BY OR THROUGH YOUR USE OF THE SERVICES;
+ </p>
+ <p>
+ (IV) YOUR FAILURE TO PROVIDE GOOGLE WITH ACCURATE ACCOUNT INFORMATION;
+ </p>
+ <p>
+ (V) YOUR FAILURE TO KEEP YOUR PASSWORD OR ACCOUNT DETAILS SECURE AND CONFIDENTIAL;
+ </p>
+ <p>
+ 14.2 THE LIMITATIONS ON GOOGLE’S LIABILITY TO YOU IN PARAGRAPH 14.1 ABOVE SHALL APPLY
+ WHETHER OR NOT GOOGLE HAS BEEN ADVISED OF OR SHOULD HAVE BEEN AWARE OF THE POSSIBILITY OF
+ ANY SUCH LOSSES ARISING.
+ </p>
+ <p>
+ <strong>15. Copyright and trade mark policies</strong>
+ </p>
+ <p>
+ 15.1 It is Google’s policy to respond to notices of alleged copyright infringement that
+ comply with applicable international intellectual property law (including, in the United
+ States, the Digital Millennium Copyright Act) and to terminating the accounts of repeat
+ infringers. Details of Google’s policy can be found at http://www.google.com/dmca.html.
+ </p>
+ <p>
+ 15.2 Google operates a trade mark complaints procedure in respect of Google’s advertising
+ business, details of which can be found at http://www.google.com/tm_complaint.html.
+ </p>
+ <p>
+ <strong>16. Advertisements</strong>
+ </p>
+ <p>
+ 16.1 Some of the Services are supported by advertising revenue and may display
+ advertisements and promotions. These advertisements may be targeted to the content of
+ information stored on the Services, queries made through the Services or other
+ information.
+ </p>
+ <p>
+ 16.2 The manner, mode and extent of advertising by Google on the Services are subject to
+ change without specific notice to you.
+ </p>
+ <p>
+ 16.3 In consideration for Google granting you access to and use of the Services, you
+ agree that Google may place such advertising on the Services.
+ </p>
+ <p>
+ <strong>17. Other content</strong>
+ </p>
+ <p>
+ 17.1 The Services may include hyperlinks to other web sites or content or resources.
+ Google may have no control over any web sites or resources which are provided by
+ companies or persons other than Google.
+ </p>
+ <p>
+ 17.2 You acknowledge and agree that Google is not responsible for the availability of any
+ such external sites or resources, and does not endorse any advertising, products or other
+ materials on or available from such web sites or resources.
+ </p>
+ <p>
+ 17.3 You acknowledge and agree that Google is not liable for any loss or damage which may
+ be incurred by you as a result of the availability of those external sites or resources,
+ or as a result of any reliance placed by you on the completeness, accuracy or existence
+ of any advertising, products or other materials on, or available from, such web sites or
+ resources.
+ </p>
+ <p>
+ <strong>18. Changes to the Terms</strong>
+ </p>
+ <p>
+ 18.1 Google may make changes to the Universal Terms or Additional Terms from time to
+ time. When these changes are made, Google will make a new copy of the Universal Terms
+ available at http://www.google.com/chrome/intl/en/eula_text.html and any new Additional
+ Terms will be made available to you from within, or through, the affected Services.
+ </p>
+ <p>
+ 18.2 You understand and agree that if you use the Services after the date on which the
+ Universal Terms or Additional Terms have changed, Google will treat your use as
+ acceptance of the updated Universal Terms or Additional Terms.
+ </p>
+ <p>
+ <strong>19. General legal terms</strong>
+ </p>
+ <p>
+ 19.1 Sometimes when you use the Services, you may (as a result of, or in connection with
+ your use of the Services) use a service or download a piece of software, or purchase
+ goods, which are provided by another person or company. Your use of these other services,
+ software or goods may be subject to separate terms between you and the company or person
+ concerned. If so, the Terms do not affect your legal relationship with these other
+ companies or individuals.
+ </p>
+ <p>
+ 19.2 The Terms constitute the whole legal agreement between you and Google and govern
+ your use of the Services (but excluding any services which Google may provide to you
+ under a separate written agreement), and completely replace any prior agreements between
+ you and Google in relation to the Services.
+ </p>
+ <p>
+ 19.3 You agree that Google may provide you with notices, including those regarding
+ changes to the Terms, by email, regular mail, or postings on the Services.
+ </p>
+ <p>
+ 19.4 You agree that if Google does not exercise or enforce any legal right or remedy
+ which is contained in the Terms (or which Google has the benefit of under any applicable
+ law), this will not be taken to be a formal waiver of Google’s rights and that those
+ rights or remedies will still be available to Google.
+ </p>
+ <p>
+ 19.5 If any court of law, having the jurisdiction to decide on this matter, rules that
+ any provision of these Terms is invalid, then that provision will be removed from the
+ Terms without affecting the rest of the Terms. The remaining provisions of the Terms will
+ continue to be valid and enforceable.
+ </p>
+ <p>
+ 19.6 You acknowledge and agree that each member of the group of companies of which Google
+ is the parent shall be third party beneficiaries to the Terms and that such other
+ companies shall be entitled to directly enforce, and rely upon, any provision of the
+ Terms which confers a benefit on (or rights in favor of) them. Other than this, no other
+ person or company shall be third party beneficiaries to the Terms.
+ </p>
+ <p>
+ 19.7 The Terms, and your relationship with Google under the Terms, shall be governed by
+ the laws of the State of California without regard to its conflict of laws provisions.
+ You and Google agree to submit to the exclusive jurisdiction of the courts located within
+ the county of Santa Clara, California to resolve any legal matter arising from the Terms.
+ Notwithstanding this, you agree that Google shall still be allowed to apply for
+ injunctive remedies (or an equivalent type of urgent legal relief) in any jurisdiction.
+ </p>
+ <p>
+ <strong>20. Additional Terms for Extensions for Google Chrome</strong>
+ </p>
+ <p>
+ 20.1 These terms in this section apply if you install extensions on your copy of Google
+ Chrome. Extensions are small software programs, developed by Google or third parties,
+ that can modify and enhance the functionality of Google Chrome. Extensions may have
+ greater privileges to access your browser or your computer than regular webpages,
+ including the ability to read and modify your private data.
+ </p>
+ <p>
+ 20.2 From time to time, Google Chrome may check with remote servers (hosted by Google or
+ by third parties) for available updates to extensions, including but not limited to bug
+ fixes or enhanced functionality. You agree that such updates will be automatically
+ requested, downloaded, and installed without further notice to you.
+ </p>
+ <p>
+ 20.3 From time to time, Google may discover an extension that violates Google developer
+ terms or other legal agreements, laws, regulations or policies. Google Chrome will
+ periodically download a list of such extensions from Google’s servers. You agree that
+ Google may remotely disable or remove any such extension from user systems in its sole
+ discretion.
+ </p>
+ <p>
+ <strong>21. Additional Terms for Enterprise Use</strong>
+ </p>
+ <p>
+ 21.1 If you are a business entity, then the individual accepting on behalf of the entity
+ (for the avoidance of doubt, for business entities, in these Terms, "you" means the
+ entity) represents and warrants that he or she has the authority to act on your behalf,
+ that you represent that you are duly authorized to do business in the country or
+ countries where you operate, and that your employees, officers, representatives, and
+ other agents accessing the Service are duly authorized to access Google Chrome and to
+ legally bind you to these Terms.
+ </p>
+ <p>
+ 21.2 Subject to the Terms, and in addition to the license grant in Section 9, Google
+ grants you a non-exclusive, non-transferable license to reproduce, distribute, install,
+ and use Google Chrome solely on machines intended for use by your employees, officers,
+ representatives, and agents in connection with your business entity, and provided that
+ their use of Google Chrome will be subject to the Terms.
+ </p>
+ <p>
+ August 12, 2010
+ </p><br>
+ <hr>
+ <br>
+ <h2>
+ Google Chrome Additional Terms of Service
+ </h2>
+ <p>
+ <strong>MPEGLA</strong>
+ </p>
+ <p>
+ THIS PRODUCT IS LICENSED UNDER THE AVC PATENT PORTFOLIO LICENSE FOR THE PERSONAL AND
+ NON-COMMERCIAL USE OF A CONSUMER TO (i) ENCODE VIDEO IN COMPLIANCE WITH THE AVC STANDARD
+ ( “AVC VIDEO”) AND/OR (ii) DECODE AVC VIDEO THAT WAS ENCODED BY A CONSUMER ENGAGED IN A
+ PERSONAL AND NON-COMMERCIAL ACTIVITY AND/OR WAS OBTAINED FROM A VIDEO PARTNER LICENSED TO
+ PROVIDE AVC VIDEO. NO LICENSE IS GRANTED OR SHALL BE IMPLIED FOR ANY OTHER USE.
+ ADDITIONAL INFORMATION MAY BE OBTAINED FROM MPEG LA, L.L.C. SEE HTTP://WWW.MPEGLA.COM.
+ </p>
+ <p>
+ <strong>Adobe</strong>
+ </p>
+ <p>
+ Google Chrome may include one or more components provided by Adobe Systems Incorporated
+ and Adobe Software Ireland Limited (collectively “Adobe”). Your use of the Adobe software
+ as provided by Google (“Adobe Software”) is subject to the following additional terms
+ (the “Adobe Terms”). You, the entity receiving the Adobe Software, will be hereinafter
+ referred to as “Sublicensee.”
+ </p>
+ <p>
+ 1. License Restrictions.
+ </p>
+ <p>
+ (a) Flash Player, Version 10.x is designed only as a browser plug-in. Sublicensee may not
+ modify or distribute this Adobe Software for use as anything but a browser plug-in for
+ playing back content on a web page. For example, Sublicensee will not modify this Adobe
+ Software in order to allow interoperation with applications that run outside of the
+ browser (e.g., standalone applications, widgets, device UI).
+ </p>
+ <p>
+ (b) Sublicensee will not expose any APIs of the Flash Player, Version 10.x through a
+ browser plug-in interface in such a way that allows such extension to be used to playback
+ content from a web page as a stand-alone application.
+ </p>
+ <p>
+ (c) The Chrome-Reader Software may not be used to render any PDF or EPUB documents that
+ utilize digital rights management protocols or systems other than Adobe DRM.
+ </p>
+ <p>
+ (d) Adobe DRM must be enabled in the Chrome-Reader Software for all Adobe DRM protected
+ PDF and EPUB documents.
+ </p>
+ <p>
+ (e) The Chrome-Reader Software may not, other than as explicitly permitted by the
+ technical specifications, disable any capabilities provided by Adobe in the Adobe
+ Software, including but not limited to, support for PDF and EPUB formats and Adobe DRM.
+ </p>
+ <p>
+ 2. Electronic Transmission. Sublicensee may allow the download of the Adobe Software from
+ a web site, the Internet, an intranet, or similar technology (an, “Electronic
+ Transmissions”) provided that Sublicensee agrees that any distributions of the Adobe
+ Software by Sublicensee, including those on CD-ROM, DVD-ROM or other storage media and
+ Electronic Transmissions, if expressly permitted, shall be subject to reasonable security
+ measures to prevent unauthorized use. With relation to Electronic Transmissions approved
+ hereunder, Sublicensee agrees to employ any reasonable use restrictions set by Adobe,
+ including those related to security and/or the restriction of distribution to end users
+ of the Sublicensee Product.
+ </p>
+ <p>
+ 3. EULA and Distribution Terms.
+ </p>
+ <p>
+ (a) Sublicensee shall ensure that the Adobe Software is distributed to end users under an
+ enforceable end user license agreement, in favor of Sublicensee and its suppliers
+ containing at least each of the following minimum terms (the “End-User License”): (i) a
+ prohibition against distribution and copying, (ii) a prohibition against modifications
+ and derivative works, (iii) a prohibition against decompiling, reverse engineering,
+ disassembling, and otherwise reducing the Adobe Software to a human-perceivable form,
+ (iv) a provision indicating ownership of Sublicensee Product (as defined in Section 8) by
+ Sublicensee and its licensors, (v) a disclaimer of indirect, special, incidental,
+ punitive, and consequential damages, and (vi) other industry standard disclaimers and
+ limitations, including, as applicable: a disclaimer of all applicable statutory
+ warranties, to the full extent allowed by law.
+ </p>
+ <p>
+ (b) Sublicensee shall ensure that the Adobe Software is distributed to Sublicensee’s
+ distributors under an enforceable distribution license agreement, in favor of Sublicensee
+ and its suppliers containing terms as protective of Adobe as the Adobe Terms.
+ </p>
+ <p>
+ 4. Opensource. Sublicensee will not directly or indirectly grant, or purport to grant, to
+ any third party any rights or immunities under Adobe’s intellectual property or
+ proprietary rights that will subject such intellectual property to an open source license
+ or scheme in which there is or could be interpreted to be a requirement that as a
+ condition of use, modification and/or distribution, the Adobe Software be: (i) disclosed
+ or distributed in source code form; (ii) licensed for the purpose of making derivative
+ works; or (iii) redistributable at no charge. For clarification purposes, the foregoing
+ restriction does not preclude Sublicensee from distributing, and Sublicensee will
+ distribute the Adobe Software as bundled with the Google Software, without charge.
+ </p>
+ <p>
+ 5. Additional Terms. With respect to any update, upgrade, new versions of the Adobe
+ Software (collectively “Upgrades”) provided to Sublicenses, Adobe reserves the right to
+ require additional terms and conditions applicable solely to the Upgrade and future
+ versions thereof, and solely to the extent that such restrictions are imposed by Adobe on
+ all licensees of such Upgrade. If Sublicensee does not agree to such additional terms or
+ conditions, Sublicensee will have no license rights with respect to such Upgrade, and
+ Sublicensee’s license rights with respect to the Adobe Software will terminate
+ automatically on the 90th day from the date such additional terms are made available to
+ Sublicensee.
+ </p>
+ <p>
+ 6. Proprietary Rights Notices. Sublicensee shall not, and shall require its distributors
+ not to, delete or in any manner alter the copyright notices, trademarks, logos or related
+ notices, or other proprietary rights notices of Adobe (and its licensors, if any)
+ appearing on or within the Adobe Software or accompanying materials.
+ </p>
+ <p>
+ 7. Technical Requirements. Sublicensee and its distributors may only distribute Adobe
+ Software and/or Upgrade on devices that (i) meet the technical specifications posted on
+ http://www.adobe.com/mobile/licensees, (or a successor web site thereto), and (ii) has
+ been verified by Adobe as set forth below.
+ </p>
+ <p>
+ 8. Verification and Update. Sublicensee must submit to Adobe each Sublicensee product
+ (and each version thereof) containing the Adobe Software and/or Upgrade (“Sublicensee
+ Product”) that do not meet the Device Verification exemption criteria to be communicated
+ by Google, for Adobe to verify. Sublicensee shall pay for each submission made by
+ Sublicensee by procuring verification packages at Adobe’s then-current terms set forth at
+ http://flashmobile.adobe.com/. Sublicensee Product that has not passed verification may
+ not be distributed. Verification will be accomplished in accordance with Adobe’s
+ then-current process described at http://flashmobile.adobe.com/ (“Verification”).
+ </p>
+ <p>
+ 9. Profiles and Device Central. Sublicensee will be prompted to enter certain profile
+ information about the Sublicensee Products either as part of the Verification process or
+ some other method, and Sublicensee will provide such information, to Adobe. Adobe may (i)
+ use such profile information as reasonably necessary to verify the Sublicensee Product
+ (if such product is subject to Verification), and (ii) display such profile information
+ in “Adobe Device Intelligence system,” located at
+ https://devices.adobe.com/partnerportal/, and made available through Adobe’s authoring
+ and development tools and services to enable developers and end users to see how content
+ or applications are displayed in Sublicensee Products (e.g. how video images appear in
+ certain phones).
+ </p>
+ <p>
+ 10. Export. Sublicensee acknowledges that the laws and regulations of the United States
+ restrict the export and re-export of commodities and technical data of United States
+ origin, which may include the Adobe Software. Sublicensee agrees that it will not export
+ or re-export the Adobe Software, without the appropriate United States and foreign
+ governmental clearances, if any.
+ </p>
+ <p>
+ 11. Technology Pass-through Terms.
+ </p>
+ <p>
+ (a) Except pursuant to applicable permissions or agreements therefor, from or with the
+ applicable parties, Sublicensees shall not use and shall not allow the use of, the Adobe
+ Software for the encoding or decoding of mp3 audio only (.mp3) data on any non-pc device
+ (e.g., mobile phone or set-top box), nor may the mp3 encoders or decoders contained in
+ the Adobe Software be used or accessed by any product other than the Adobe Software. The
+ Adobe Software may be used for the encoding or decoding of MP3 data contained within a
+ swf or flv file, which contains video, picture or other data. Sublicensee shall
+ acknowledge that use of the Adobe Software for non-PC devices, as described in the
+ prohibitions in this section, may require the payment of licensing royalties or other
+ amounts to third parties who may hold intellectual property rights related to the MP3
+ technology and that Adobe nor Sublicensee has not paid any royalties or other amounts on
+ account of third party intellectual property rights for such use. If Sublicensee requires
+ an MP3 encoder or decoder for such use, Sublicensee is responsible for obtaining the
+ necessary intellectual property license, including any applicable patent rights.
+ </p>
+ <p>
+ (b) Sublicensee will not use, copy, reproduce and modify (i) the On2 source code
+ (provided hereunder as a component of the Source Code) as necessary to enable the Adobe
+ Software to decode video in the Flash video file format (.flv or .f4v), and (ii) the
+ Sorenson Spark source code (provided hereunder as a component of the Source Code) for the
+ limited purpose of making bug fixes and performance enhancements to the Adobe Software.
+ All codecs provided with the Adobe Software may only be used and distributed as an
+ integrated part of the Adobe Software and may not be accessed by any other application,
+ including other Google applications.
+ </p>
+ <p>
+ (c) The Source Code may be provided with an AAC codec and/or HE-AAC codec (“the AAC
+ Codec”). Use of the AAC Codec is conditioned on Sublicensee obtaining a proper patent
+ license covering necessary patents as provided by VIA Licensing, for end products on or
+ in which the AAC Codec will be used. Sublicensee acknowledges and agrees that Adobe is
+ not providing a patent license for an AAC Codec under this Agreement to Sublicensee or
+ its sublicensees.
+ </p>
+ <p>
+ (d) THE SOURCE CODE MAY CONTAIN CODE LICENSED UNDER THE AVC PATENT PORTFOLIO LICENSE FOR
+ THE PERSONAL NON-COMMERCIAL USE OF A CONSUMER TO (i) ENCODE VIDEO IN COMPLIANCE WITH THE
+ AVC STANDARD ("AVC VIDEO") AND/OR (ii) DECODE AVC VIDEO THAT WAS ENCODED BY A CONSUMER
+ ENGAGED IN A PERSONAL NON-COMMERCIAL ACTIVITY AND/OR WAS OBTAINED FROM A VIDEO PROVIDER
+ LICENSED TO PROVIDE AVC VIDEO. NO LICENSE IS GRANTED OR WILL BE IMPLIED FOR ANY OTHER
+ USE. ADDITIONAL INFORMATION MAY BE OBTAINED FROM MPEG LA, L.L.C. See
+ http://www.mpegla.com
+ </p>
+ <p>
+ 12. Update. Sublicensee will not circumvent Google’s or Adobe’s efforts to update the
+ Adobe Software in all Sublicensee’s products incorporating the Adobe Software as bundled
+ with the Google Software (“Sublicensee Products”).
+ </p>
+ <p>
+ 13. Attribution and Proprietary Notices. Sublicensee will list the Adobe Software in
+ publicly available Sublicensee Product specifications and include appropriate Adobe
+ Software branding (specifically excluding the Adobe corporate logo) on the Sublicensee
+ Product packaging or marketing materials in a manner consistent with branding of other
+ third party products contained within the Sublicensee Product.
+ </p>
+ <p>
+ 14. No Warranty. THE ADOBE SOFTWARE IS MADE AVAILABLE TO SUBLICENSEE FOR USE AND
+ REPRODUCTION “AS IS” AND ADOBE MAKES NO WARRANTY AS TO ITS USE OR PERFORMANCE. ADOBE AND
+ ITS SUPPLIERS DO NOT AND CANNOT WARRANT THE PERFORMANCE OR RESULTS OBTAINED BY USING THE
+ ADOBE SOFTWARE. EXCEPT FOR ANY WARRANTY, CONDITION, REPRESENTATION OR TERM TO THE EXTENT
+ TO WHICH THE SAME CANNOT OR MAY NOT BE EXCLUDED OR LIMITED BY LAW APPLICABLE TO
+ SUBLICENSEEIN SUBLICENSEE’S JURISDICTION, ADOBE AND ITS SUPPLIERS MAKE NO WARRANTIES,
+ CONDITIONS, REPRESENTATIONS, OR TERMS (EXPRESS OR IMPLIED WHETHER BY STATUTE, COMMON LAW,
+ CUSTOM, USAGE OR OTHERWISE) AS TO ANY MATTER INCLUDING WITHOUT LIMITATION NONINFRINGEMENT
+ OF THIRD PARTY RIGHTS, MERCHANTABILITY, INTEGRATION, SATISFACTORY QUALITY, OR FITNESS FOR
+ ANY PARTICULAR PURPOSE. SUBLICENSEE AGREES THAT SUBLICENSEE SHALL NOT MAKE ANY WARRANTY,
+ EXPRESS OR IMPLIED, ON BEHALF OF ADOBE.
+ </p>
+ <p>
+ 15. Limitation of Liability. IN NO EVENT WILL ADOBE OR ITS SUPPLIERS BE LIABLE TO
+ SUBLICENSEE FOR ANY DAMAGES, CLAIMS OR COSTS WHATSOEVER OR ANY CONSEQUENTIAL, INDIRECT,
+ OR INCIDENTAL DAMAGES, OR ANY LOST PROFITS OR LOST SAVINGS, EVEN IF AN ADOBE
+ REPRESENTATIVE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH LOSS, DAMAGES, CLAIMS OR COSTS
+ OR FOR ANY CLAIM BY ANY THIRD PARTY. THE FOREGOING LIMITATIONS AND EXCLUSIONS APPLY TO
+ THE EXTENT PERMITTED BY APPLICABLE LAW IN SUBLICENSEE’S JURISDICTION. ADOBE’S AGGREGATE
+ LIABILITY AND THAT OF ITS SUPPLIERS UNDER OR IN CONNECTION WITH THIS AGREEMENT SHALL BE
+ LIMITED TO ONE THOUSAND DOLLARS (US$1,000). Nothing contained in this Agreement limits
+ Adobe’s liability to Sublicensee in the event of death or personal injury resulting from
+ Adobe’s negligence or for the tort of deceit (fraud). Adobe is acting on behalf of its
+ suppliers for the purpose of disclaiming, excluding and/or limiting obligations,
+ warranties and liability as provided in this Agreement, but in no other respects and for
+ no other purpose.
+ </p>
+ <p>
+ 16. Content Protection Terms
+ </p>
+ <p>
+ (a) Definitions.
+ </p>
+ <p>
+ “Compliance and Robustness Rules” means the document setting forth compliance and
+ robustness rules for the Adobe Software located at http://www.adobe.com/mobile/licensees,
+ or a successor web site thereto.
+ </p>
+ <p>
+ “Content Protection Functions” means those aspects of the Adobe Software that are
+ designed to ensure compliance with the Compliance and Robustness Rules, and to prevent
+ playback, copying, modification, redistribution or other actions with respect to digital
+ content distributed for consumption by users of the Adobe Software when such actions are
+ not authorized by the owners of such digital content or its licensed distributors.
+ </p>
+ <p>
+ “Content Protection Code” means code within certain designated versions of the Adobe
+ Software that enables certain Content Protection Functions.
+ </p>
+ <p>
+ “Key” means a cryptographic value contained in the Adobe Software for use in decrypting
+ digital content.
+ </p>
+ <p>
+ (b) License Restrictions. Sublicensee’s right to exercise the licenses with respect to
+ the Adobe Software is subject to the following additional restrictions and obligations.
+ Sublicensee will ensure that Sublicensee’s customers comply with these restrictions and
+ obligations to the same extent imposed on Sublicensee with respect to the Adobe Software;
+ any failure by Sublicensee’s customers to comply with these additional restrictions and
+ obligations shall be treated as a material breach by Sublicensee.
+ </p>
+ <p>
+ b.1. Sublicensee and customers may only distribute the Adobe Software that meets the
+ Robustness and Compliance Rules as so confirmed by Sublicensee during the verification
+ process described above in the Adobe Terms.
+ </p>
+ <p>
+ b.2. Sublicensee shall not (i) circumvent the Content Protection Functions of either the
+ Adobe Software or any related Adobe Software that is used to encrypt or decrypt digital
+ content for authorized consumption by users of the Adobe Software, or (ii) develop or
+ distribute products that are designed to circumvent the Content Protection Functions of
+ either the Adobe Software or any Adobe Software that is used to encrypt or decrypt
+ digital content for authorized consumption by users of the Adobe Software.
+ </p>
+ <p>
+ (c) The Keys are hereby designated as Adobe’s Confidential Information, and Sublicensee
+ will, with respect to the Keys, adhere to Adobe’s Source Code Handling Procedure (to be
+ provided by Adobe upon request).
+ </p>
+ <p>
+ (d) Injunctive Relief. Sublicensee agrees that a breach of this Agreement may compromise
+ the Content Protection Functions of the Adobe Software and may cause unique and lasting
+ harm to the interests of Adobe and owners of digital content that rely on such Content
+ Protection Functions, and that monetary damages may be inadequate to compensate fully for
+ such harm. Therefore, Sublicensee further agrees that Adobe may be entitled to seek
+ injunctive relief to prevent or limit the harm caused by any such breach, in addition to
+ monetary damages.
+ </p>
+ <p>
+ 17. Intended Third-party Beneficiary. Adobe Systems Incorporated and Adobe Software
+ Ireland Limited are the intended third-party beneficiaries of Google’s agreement with
+ Sublicensee with respect to the Adobe Software, including but not limited to, the Adobe
+ Terms. Sublicensee agrees, notwithstanding anything to the contrary in its agreement with
+ Google, that Google may disclose Sublicensee’s identity to Adobe and certify in writing
+ that Sublicensee has entered into a license agreement with Google which includes the
+ Adobe Terms. Sublicensee must have an agreement with each of its licensees, and if such
+ licensees are allowed to redistribute the Adobe Software, such agreement will include the
+ Adobe Terms.
+ </p>
+ </div>
+ </div>
+ </body>
+</html> \ No newline at end of file
diff --git a/abs/extra/gyp/PKGBUILD b/abs/extra/gyp/PKGBUILD
new file mode 100644
index 0000000..02bad2d
--- /dev/null
+++ b/abs/extra/gyp/PKGBUILD
@@ -0,0 +1,26 @@
+# $Id$
+# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
+
+pkgname=gyp
+pkgver=20170609
+pkgrel=2
+pkgdesc='"Generate Your Projects" Meta-Build system'
+arch=(any)
+url="https://gyp.gsrc.io/"
+license=(custom:BSD)
+depends=(python2-setuptools ninja)
+makedepends=(git)
+_commit=a478c1ab51ea3e04e79791ac3d1dad01b3f57434 # changes/21/487521/4
+source=("git+https://chromium.googlesource.com/external/gyp#commit=$_commit")
+sha256sums=('SKIP')
+
+build() {
+ cd $pkgname
+ python2 setup.py build
+}
+
+package() {
+ cd $pkgname
+ python2 setup.py install --root="$pkgdir" --optimize=1 --skip-build
+ install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
diff --git a/abs/extra/libglvnd/PKGBUILD b/abs/extra/libglvnd/PKGBUILD
index a667e63..e589b42 100644
--- a/abs/extra/libglvnd/PKGBUILD
+++ b/abs/extra/libglvnd/PKGBUILD
@@ -2,23 +2,21 @@
# Maintainer: Felix Yan <felixonmars@archlinux.org>
pkgname=libglvnd
-pkgver=0.2.999+g4ba53457
-_commit=4ba5345742d6c98b528ac28fb7127006d2cc3f75
-pkgrel=2
+pkgver=1.0.0
+pkgrel=1
pkgdesc="The GL Vendor-Neutral Dispatch library"
-arch=('i686' 'x86_64')
+arch=('x86_64')
url="https://github.com/NVIDIA/libglvnd"
license=('custom:BSD-like')
-makedepends=('libxext' 'libx11' 'glproto' 'git' 'python2')
+makedepends=('libxext' 'libx11' 'glproto' 'python2')
provides=('libgl' 'libegl' 'libgles')
-#source=("git+https://github.com/NVIDIA/libglvnd.git#tag=v$pkgver"
-source=("git+https://github.com/NVIDIA/libglvnd.git#commit=$_commit"
+source=("$pkgname-$pkgver.tar.gz::https://github.com/NVIDIA/libglvnd/archive/v$pkgver.tar.gz"
LICENSE)
-sha256sums=('SKIP'
- '1a99f7487849c41fc3520e0af3dfcf28a0df05e78956d9ec58c2c52b1f20a77d')
+sha512sums=('c6040b0a508a6b74d7113f8e375fcaf93ec6f2875504953f30e2882e58e22f954bd4027a7d9ab8ac41abef266039e5834fdaf4ce2a69d5d98acf3bbdd54f04b6'
+ 'bf0f4a7e04220a407400f89226ecc1f798cc43035f2538cc8860e5088e1f84140baf0d4b0b28f66e4b802d4d6925769a1297c24e1ba39c1c093902b2931781a5')
build() {
- cd $pkgname
+ cd $pkgname-$pkgver
./autogen.sh
./configure --prefix=/usr
make
@@ -27,8 +25,9 @@ build() {
package() {
# libglvnd needs mesa for indirect rendering
depends=('libxext' 'mesa' 'opengl-driver')
- cd $pkgname
- make DESTDIR="${pkgdir}" install
- install -Dm644 ../LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+ cd $pkgname-$pkgver
+ make DESTDIR="$pkgdir" install
+
+ install -Dm644 ../LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
}
diff --git a/abs/extra/ninja/PKGBUILD b/abs/extra/ninja/PKGBUILD
new file mode 100644
index 0000000..ba37b3f
--- /dev/null
+++ b/abs/extra/ninja/PKGBUILD
@@ -0,0 +1,47 @@
+# $Id$
+# Maintainer: Anatol Pomozov <anatol.pomozov@gmail.com>
+# Contributor: Filip Brcic <brcha@gna.org>
+# Contributor: Mika Fischer <mika.fischer@zoopnet.de>
+# Contributor: Gergely Imreh <imrehgATgmailDOTcom>
+
+pkgname=ninja
+pkgver=1.8.2
+pkgrel=1
+pkgdesc='Small build system with a focus on speed'
+arch=(i686 x86_64)
+url='https://ninja-build.org/'
+license=(Apache)
+depends=(gcc-libs)
+makedepends=(python2 re2c emacs)
+source=($pkgname-$pkgver.zip::https://github.com/martine/ninja/archive/v$pkgver.zip)
+sha1sums=('7d252d8deeefd6972080f146a528fad76698616c')
+
+build() {
+ cd ninja-$pkgver
+
+ python2 configure.py --bootstrap
+ emacs -Q --batch -f batch-byte-compile misc/ninja-mode.el
+}
+
+check() {
+ cd ninja-$pkgver
+
+ python2 ./configure.py
+ ./ninja ninja_test
+ ./ninja_test --gtest_filter=-SubprocessTest.SetWithLots
+}
+
+package() {
+ cd ninja-$pkgver
+
+ install -m755 -D ninja "$pkgdir/usr/bin/ninja"
+ install -m644 -D doc/manual.asciidoc "$pkgdir/usr/share/doc/ninja/manual.asciidoc"
+ install -Dm644 COPYING "$pkgdir/usr/share/licenses/$pkgname/COPYING"
+
+ install -m644 -D misc/ninja-mode.el "$pkgdir/usr/share/emacs/site-lisp/ninja-mode.el"
+ install -m644 -D misc/ninja-mode.elc "$pkgdir/usr/share/emacs/site-lisp/ninja-mode.elc"
+ install -m644 -D misc/ninja.vim "$pkgdir/usr/share/vim/vimfiles/syntax/ninja.vim"
+
+ install -m644 -D misc/bash-completion "$pkgdir/usr/share/bash-completion/completions/ninja"
+ install -m644 -D misc/zsh-completion "$pkgdir/usr/share/zsh/site-functions/_ninja"
+}
diff --git a/abs/extra/nspr/PKGBUILD b/abs/extra/nspr/PKGBUILD
index e60f6ab..a6a91c8 100644
--- a/abs/extra/nspr/PKGBUILD
+++ b/abs/extra/nspr/PKGBUILD
@@ -3,42 +3,38 @@
# Contributor: Alexander Baldeck <alexander@archlinux.org>
pkgname=nspr
-pkgver=4.10.9
+pkgver=4.17
pkgrel=1
pkgdesc="Netscape Portable Runtime"
+url="https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSPR"
arch=(i686 x86_64)
-url="http://www.mozilla.org/projects/nspr/"
-license=('MPL' 'GPL')
-depends=('glibc')
-makedepends=('zip')
-options=('!emptydirs')
-source=(http://ftp.mozilla.org/pub/mozilla.org/nspr/releases/v${pkgver}/src/${pkgname}-${pkgver}.tar.gz)
-sha1sums=('405e5ad45111ddf95a5d39d647d41d27456c9443')
-sha256sums=('4112ff6ad91d32696ca0c6c3d4abef6367b5dc0127fa172fcb3c3ab81bb2d881')
+license=(MPL GPL)
+depends=(glibc sh)
+makedepends=(zip)
+source=(https://ftp.mozilla.org/pub/mozilla.org/nspr/releases/v${pkgver}/src/nspr-${pkgver}.tar.gz)
+sha1sums=('5262abb243191d5fa3dcd72857d7d7f8ec47ad01')
+sha256sums=('590a0aea29412ae22d7728038c21ef2ab42646e48172a47d2e4bb782846d1095')
-build() {
- cd $pkgname-$pkgver
-
- if [ "$CARCH" = "x86_64" ]; then
- _confflags="--enable-64bit"
- else
- _confflags=""
- fi
+prepare() {
+ cd nspr-$pkgver/nspr
+}
- ./nspr/configure \
+build() {
+ cd nspr-$pkgver/nspr
+ ./configure \
--prefix=/usr \
--libdir=/usr/lib \
--includedir=/usr/include/nspr \
--enable-optimize \
- --disable-debug ${_confflags}
+ --disable-debug \
+ $([[ $CARCH == x86_64 ]] && echo --enable-64bit)
make
}
package() {
- cd $pkgname-$pkgver
+ cd nspr-$pkgver/nspr
make DESTDIR="$pkgdir" install
-
ln -s nspr.pc "$pkgdir/usr/lib/pkgconfig/mozilla-nspr.pc"
rm -r "$pkgdir"/usr/bin/{compile-et.pl,prerr.properties} \
- "$pkgdir/usr/include/nspr/md"
+ "$pkgdir"/usr/include/nspr/md
}
diff --git a/abs/extra/nss/PKGBUILD b/abs/extra/nss/PKGBUILD
index 4bf9a60..4e84761 100644
--- a/abs/extra/nss/PKGBUILD
+++ b/abs/extra/nss/PKGBUILD
@@ -3,43 +3,48 @@
pkgbase=nss
pkgname=(nss ca-certificates-mozilla)
-pkgver=3.20
-pkgrel=1
-pkgdesc="Mozilla Network Security Services"
+pkgver=3.33
+pkgrel=2
+pkgdesc="Network Security Services"
+url="https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS"
arch=(i686 x86_64)
-url="http://www.mozilla.org/projects/security/pki/nss/"
-license=('MPL' 'GPL')
-_nsprver=4.10.8
-depends=("nspr>=${_nsprver}" 'sqlite' 'zlib' 'sh' 'p11-kit')
-makedepends=('perl' 'python2')
-options=('!strip' '!makeflags' 'staticlibs')
-source=("https://ftp.mozilla.org/pub/mozilla.org/security/nss/releases/NSS_${pkgver//./_}_RTM/src/${pkgbase}-${pkgver}.tar.gz"
- certdata2pem.py bundle.sh nss.pc.in nss-config.in legacy-certs.patch)
-sha256sums=('5e38d4b9837ca338af966b97fc91c07f67ad647fb38dc4af3cfd0d84e477d15c'
- '2a2ff9131c21fa3b23ad7c7a2f069eabc783e56c6eb05419ac5f365f48dea0fc'
- '045f520403f715a4cc7f3607b4e2c9bcc88fee5bce58d462fddaa2fdb0e4c180'
- 'b9f1428ca2305bf30b109507ff335fa00bce5a7ce0434b50acd26ad7c47dd5bd'
+license=(MPL GPL)
+_nsprver=4.15
+depends=("nspr>=${_nsprver}" sqlite zlib sh p11-kit)
+makedepends=(perl python2 xmlto docbook-xsl gyp)
+options=(!strip !makeflags staticlibs)
+source=("https://ftp.mozilla.org/pub/security/nss/releases/NSS_${pkgver//./_}_RTM/src/nss-${pkgver}.tar.gz"
+ certdata2pem.py bundle.sh nss.pc.in nss-config.in nss-config.xml enable-libpkix.patch no-plt.diff bug1400603.patch)
+sha256sums=('98f0dabd36408e83dd3a11727336cc3cdfee4cbdd9aede2b2831eb2389c284e4'
+ '512b12a2f13129be62c008b4df0153f527dd7d71c2c5183de99dfa2a1c49dd8a'
+ '3bfadf722da6773bdabdd25bdf78158648043d1b7e57615574f189a88ca865dd'
+ 'f2208c4f70373ff9b60f53d733f8071d4e390c384b776dfc04bf26c306882faf'
'e44ac5095b4d88f24ec7b2e6a9f1581560bd3ad41a3d198596d67ef22f67adb9'
- '22330fcde2dac5fa4733f7d77bffbbd31d91cbaa338738afdc2a8ebfccb61184')
+ '98ace873c63e8e870286bce3ed53249aa2655cc1f53e7049061476e650ab06f1'
+ '0b68c5ffbfeec090e950e5703e6b0519eafcb7eaf4fe2f64c355d0ddf17eed30'
+ 'ea8e1b871c0f1dd29cdea1b1a2e7f47bf4713e2ae7b947ec832dba7dfcc67daa'
+ 'c2a477710a53738e91712a7a203b84d65a514af62d8efffaa977070843a7794a')
prepare() {
- mkdir certs
+ mkdir certs path
- cd nss-$pkgver
+ ln -s /usr/bin/python2 path/python
+
+ echo -n "$(date +"%e %B %Y")" >date.xml
+ echo -n "$pkgver" >version.xml
+ xmlto man nss-config.xml
- # FS#45479: Reenable two weak Verisign certificates used by login.live.com
- # Otherwise, accessing this site via Epiphany (GnuTLS) or Skype (OpenSSL) fails
- # Also see https://gist.github.com/grawity/15eabf67191e17080241
- patch nss/lib/ckfw/builtins/certdata.txt ../legacy-certs.patch
+ cd nss-$pkgver
- # Respect LDFLAGS
- sed -e 's/\$(MKSHLIB) -o/\$(MKSHLIB) \$(LDFLAGS) -o/' \
- -i nss/coreconf/rules.mk
+ patch -Np1 -i ../enable-libpkix.patch
+ patch -Np2 -i ../no-plt.diff
ln -sr nss/lib/ckfw/builtins/certdata.txt ../certs/
ln -sr nss/lib/ckfw/builtins/nssckbi.h ../certs/
-}
+ cd nss
+ patch -Np0 -i ../../bug1400603.patch
+}
build() {
cd certs
@@ -49,29 +54,15 @@ build() {
sh bundle.sh
cd nss-$pkgver/nss
- export BUILD_OPT=1
- export NSS_USE_SYSTEM_SQLITE=1
- export NSS_ENABLE_ECC=1
- export NSPR_INCLUDE_DIR="`nspr-config --includedir`"
- export NSPR_LIB_DIR="`nspr-config --libdir`"
- export XCFLAGS="${CFLAGS}"
-
- [ "$CARCH" = "x86_64" ] && export USE_64=1
-
- make -C coreconf
- make -C lib/dbm
- make
+ PATH="$srcdir/path:$PATH" bash -x ./build.sh -v \
+ --opt --system-sqlite --system-nspr --disable-tests
}
package_nss() {
- install=nss.install
-
cd nss-$pkgver
- install -d "$pkgdir"/usr/{bin,include/nss,lib/pkgconfig}
- NSS_VMAJOR=$(grep '#define.*NSS_VMAJOR' nss/lib/nss/nss.h | awk '{print $3}')
- NSS_VMINOR=$(grep '#define.*NSS_VMINOR' nss/lib/nss/nss.h | awk '{print $3}')
- NSS_VPATCH=$(grep '#define.*NSS_VPATCH' nss/lib/nss/nss.h | awk '{print $3}')
+ { read _vmajor; read _vminor; read _vpatch; } \
+ < <(awk '/#define.*NSS_V(MAJOR|MINOR|PATCH)/ {print $3}' nss/lib/nss/nss.h)
sed ../nss.pc.in \
-e "s,%libdir%,/usr/lib,g" \
@@ -79,8 +70,8 @@ package_nss() {
-e "s,%exec_prefix%,/usr/bin,g" \
-e "s,%includedir%,/usr/include/nss,g" \
-e "s,%NSPR_VERSION%,${_nsprver},g" \
- -e "s,%NSS_VERSION%,${pkgver},g" \
- > "$pkgdir/usr/lib/pkgconfig/nss.pc"
+ -e "s,%NSS_VERSION%,${pkgver},g" |
+ install -Dm644 /dev/stdin "$pkgdir/usr/lib/pkgconfig/nss.pc"
ln -s nss.pc "$pkgdir/usr/lib/pkgconfig/mozilla-nss.pc"
sed ../nss-config.in \
@@ -88,33 +79,32 @@ package_nss() {
-e "s,@prefix@,/usr/bin,g" \
-e "s,@exec_prefix@,/usr/bin,g" \
-e "s,@includedir@,/usr/include/nss,g" \
- -e "s,@MOD_MAJOR_VERSION@,${NSS_VMAJOR},g" \
- -e "s,@MOD_MINOR_VERSION@,${NSS_VMINOR},g" \
- -e "s,@MOD_PATCH_VERSION@,${NSS_VPATCH},g" \
- > "$pkgdir/usr/bin/nss-config"
- chmod 755 "$pkgdir/usr/bin/nss-config"
+ -e "s,@MOD_MAJOR_VERSION@,${_vmajor},g" \
+ -e "s,@MOD_MINOR_VERSION@,${_vminor},g" \
+ -e "s,@MOD_PATCH_VERSION@,${_vpatch},g" |
+ install -D /dev/stdin "$pkgdir/usr/bin/nss-config"
+ install -Dt "$pkgdir/usr/share/man/man1" -m644 ../nss-config.1
- cd dist/*.OBJ/bin
- install -t "$pkgdir/usr/bin" *util shlibsign signtool signver ssltap
+ cd nss/doc/nroff
+ install -Dt "$pkgdir/usr/share/man/man1" -m644 *util.1 signtool.1 signver.1 ssltap.1
- cd ../lib
- install -t "$pkgdir/usr/lib" *.so
- install -t "$pkgdir/usr/lib" -m644 libcrmf.a *.chk
+ cd ../../../dist
+ install -Dt "$pkgdir/usr/include/nss" -m644 public/nss/*.h
- cd ../../public/nss
- install -t "$pkgdir/usr/include/nss" -m644 *.h
+ cd Release/bin
+ install -Dt "$pkgdir/usr/bin" *util shlibsign signtool signver ssltap
+
+ cd ../lib
+ install -Dt "$pkgdir/usr/lib" *.so
+ install -Dt "$pkgdir/usr/lib" -m644 *.chk
- rm "$pkgdir/usr/lib/libnssckbi.so"
- ln -s libnssckbi-p11-kit.so "$pkgdir/usr/lib/libnssckbi.so"
+ ln -sf libnssckbi-p11-kit.so "$pkgdir/usr/lib/libnssckbi.so"
}
package_ca-certificates-mozilla() {
pkgdesc="Mozilla's set of trusted CA certificates"
depends=(ca-certificates-utils)
- install=ca-certificates-mozilla.install
- local _certdir="$pkgdir/usr/share/ca-certificates/trust-source"
- install -Dm644 ca-bundle.trust.crt "$_certdir/mozilla.trust.crt"
- install -Dm644 ca-bundle.neutral-trust.crt "$_certdir/mozilla.neutral-trust.crt"
- install -Dm644 ca-bundle.supplement.p11-kit "$_certdir/mozilla.supplement.p11-kit"
+ install -Dm644 ca-bundle.trust.p11-kit \
+ "$pkgdir/usr/share/ca-certificates/trust-source/mozilla.trust.p11-kit"
}
diff --git a/abs/extra/nss/bug1400603.patch b/abs/extra/nss/bug1400603.patch
new file mode 100644
index 0000000..321f50d
--- /dev/null
+++ b/abs/extra/nss/bug1400603.patch
@@ -0,0 +1,942 @@
+commit e84403331d99
+Author: Daiki Ueno <dueno@redhat.com>
+Date: Fri Sep 22 11:27:34 2017 +0200
+
+ Bug 1400603 - freebl: Reorganize AES-GCM source code based on hw/sw implementation, r=franziskus
+
+ Reviewers: franziskus
+
+ Reviewed By: franziskus
+
+ Bug #: 1400603
+
+ Differential Revision: https://phabricator.services.mozilla.com/D65
+---
+ lib/freebl/Makefile | 4 +-
+ lib/freebl/aes-x86.c | 157 +++++++++++++++++++++++++++++++++++++++++
+ lib/freebl/freebl.gyp | 65 ++++++++++-------
+ lib/freebl/gcm-x86.c | 127 ++++++++++++++++++++++++++++++++++
+ lib/freebl/gcm.c | 162 +++++++++++++------------------------------
+ lib/freebl/gcm.h | 14 ++++
+ lib/freebl/rijndael.c | 188 ++++++++------------------------------------------
+ lib/freebl/rijndael.h | 18 ++++-
+ 8 files changed, 436 insertions(+), 299 deletions(-)
+
+diff --git lib/freebl/Makefile lib/freebl/Makefile
+index d50e18696b..bc1ea86a5e 100644
+--- lib/freebl/Makefile
++++ lib/freebl/Makefile
+@@ -110,7 +110,9 @@ endif
+ # NSS_X86_OR_X64 means the target is either x86 or x64
+ ifeq (,$(filter-out i386 x386 x86 x86_64,$(CPU_ARCH)))
+ DEFINES += -DNSS_X86_OR_X64
+- CFLAGS += -mpclmul -maes
++ EXTRA_SRCS += gcm-x86.c aes-x86.c
++$(OBJDIR)/gcm-x86.o: CFLAGS += -mpclmul -maes
++$(OBJDIR)/aes-x86.o: CFLAGS += -mpclmul -maes
+ ifneq (,$(USE_64)$(USE_X32))
+ DEFINES += -DNSS_X64
+ else
+diff --git lib/freebl/aes-x86.c lib/freebl/aes-x86.c
+new file mode 100644
+index 0000000000..830b4782fe
+--- /dev/null
++++ lib/freebl/aes-x86.c
+@@ -0,0 +1,157 @@
++/* This Source Code Form is subject to the terms of the Mozilla Public
++ * License, v. 2.0. If a copy of the MPL was not distributed with this
++ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
++
++#ifdef FREEBL_NO_DEPEND
++#include "stubs.h"
++#endif
++#include "rijndael.h"
++#include "secerr.h"
++
++#include <wmmintrin.h> /* aes-ni */
++
++#define EXPAND_KEY128(k, rcon, res) \
++ tmp_key = _mm_aeskeygenassist_si128(k, rcon); \
++ tmp_key = _mm_shuffle_epi32(tmp_key, 0xFF); \
++ tmp = _mm_xor_si128(k, _mm_slli_si128(k, 4)); \
++ tmp = _mm_xor_si128(tmp, _mm_slli_si128(tmp, 4)); \
++ tmp = _mm_xor_si128(tmp, _mm_slli_si128(tmp, 4)); \
++ res = _mm_xor_si128(tmp, tmp_key)
++
++static void
++native_key_expansion128(AESContext *cx, const unsigned char *key)
++{
++ __m128i *keySchedule = cx->keySchedule;
++ pre_align __m128i tmp_key post_align;
++ pre_align __m128i tmp post_align;
++ keySchedule[0] = _mm_loadu_si128((__m128i *)key);
++ EXPAND_KEY128(keySchedule[0], 0x01, keySchedule[1]);
++ EXPAND_KEY128(keySchedule[1], 0x02, keySchedule[2]);
++ EXPAND_KEY128(keySchedule[2], 0x04, keySchedule[3]);
++ EXPAND_KEY128(keySchedule[3], 0x08, keySchedule[4]);
++ EXPAND_KEY128(keySchedule[4], 0x10, keySchedule[5]);
++ EXPAND_KEY128(keySchedule[5], 0x20, keySchedule[6]);
++ EXPAND_KEY128(keySchedule[6], 0x40, keySchedule[7]);
++ EXPAND_KEY128(keySchedule[7], 0x80, keySchedule[8]);
++ EXPAND_KEY128(keySchedule[8], 0x1B, keySchedule[9]);
++ EXPAND_KEY128(keySchedule[9], 0x36, keySchedule[10]);
++}
++
++#define EXPAND_KEY192_PART1(res, k0, kt, rcon) \
++ tmp2 = _mm_slli_si128(k0, 4); \
++ tmp1 = _mm_xor_si128(k0, tmp2); \
++ tmp2 = _mm_slli_si128(tmp2, 4); \
++ tmp1 = _mm_xor_si128(_mm_xor_si128(tmp1, tmp2), _mm_slli_si128(tmp2, 4)); \
++ tmp2 = _mm_aeskeygenassist_si128(kt, rcon); \
++ res = _mm_xor_si128(tmp1, _mm_shuffle_epi32(tmp2, 0x55))
++
++#define EXPAND_KEY192_PART2(res, k1, k2) \
++ tmp2 = _mm_xor_si128(k1, _mm_slli_si128(k1, 4)); \
++ res = _mm_xor_si128(tmp2, _mm_shuffle_epi32(k2, 0xFF))
++
++#define EXPAND_KEY192(k0, res1, res2, res3, carry, rcon1, rcon2) \
++ EXPAND_KEY192_PART1(tmp3, k0, res1, rcon1); \
++ EXPAND_KEY192_PART2(carry, res1, tmp3); \
++ res1 = _mm_castpd_si128(_mm_shuffle_pd(_mm_castsi128_pd(res1), \
++ _mm_castsi128_pd(tmp3), 0)); \
++ res2 = _mm_castpd_si128(_mm_shuffle_pd(_mm_castsi128_pd(tmp3), \
++ _mm_castsi128_pd(carry), 1)); \
++ EXPAND_KEY192_PART1(res3, tmp3, carry, rcon2)
++
++static void
++native_key_expansion192(AESContext *cx, const unsigned char *key)
++{
++ __m128i *keySchedule = cx->keySchedule;
++ pre_align __m128i tmp1 post_align;
++ pre_align __m128i tmp2 post_align;
++ pre_align __m128i tmp3 post_align;
++ pre_align __m128i carry post_align;
++ keySchedule[0] = _mm_loadu_si128((__m128i *)key);
++ keySchedule[1] = _mm_loadu_si128((__m128i *)(key + 16));
++ EXPAND_KEY192(keySchedule[0], keySchedule[1], keySchedule[2],
++ keySchedule[3], carry, 0x1, 0x2);
++ EXPAND_KEY192_PART2(keySchedule[4], carry, keySchedule[3]);
++ EXPAND_KEY192(keySchedule[3], keySchedule[4], keySchedule[5],
++ keySchedule[6], carry, 0x4, 0x8);
++ EXPAND_KEY192_PART2(keySchedule[7], carry, keySchedule[6]);
++ EXPAND_KEY192(keySchedule[6], keySchedule[7], keySchedule[8],
++ keySchedule[9], carry, 0x10, 0x20);
++ EXPAND_KEY192_PART2(keySchedule[10], carry, keySchedule[9]);
++ EXPAND_KEY192(keySchedule[9], keySchedule[10], keySchedule[11],
++ keySchedule[12], carry, 0x40, 0x80);
++}
++
++#define EXPAND_KEY256_PART(res, rconx, k1x, k2x, X) \
++ tmp_key = _mm_shuffle_epi32(_mm_aeskeygenassist_si128(k2x, rconx), X); \
++ tmp2 = _mm_slli_si128(k1x, 4); \
++ tmp1 = _mm_xor_si128(k1x, tmp2); \
++ tmp2 = _mm_slli_si128(tmp2, 4); \
++ tmp1 = _mm_xor_si128(_mm_xor_si128(tmp1, tmp2), _mm_slli_si128(tmp2, 4)); \
++ res = _mm_xor_si128(tmp1, tmp_key);
++
++#define EXPAND_KEY256(res1, res2, k1, k2, rcon) \
++ EXPAND_KEY256_PART(res1, rcon, k1, k2, 0xFF); \
++ EXPAND_KEY256_PART(res2, 0x00, k2, res1, 0xAA)
++
++static void
++native_key_expansion256(AESContext *cx, const unsigned char *key)
++{
++ __m128i *keySchedule = cx->keySchedule;
++ pre_align __m128i tmp_key post_align;
++ pre_align __m128i tmp1 post_align;
++ pre_align __m128i tmp2 post_align;
++ keySchedule[0] = _mm_loadu_si128((__m128i *)key);
++ keySchedule[1] = _mm_loadu_si128((__m128i *)(key + 16));
++ EXPAND_KEY256(keySchedule[2], keySchedule[3], keySchedule[0],
++ keySchedule[1], 0x01);
++ EXPAND_KEY256(keySchedule[4], keySchedule[5], keySchedule[2],
++ keySchedule[3], 0x02);
++ EXPAND_KEY256(keySchedule[6], keySchedule[7], keySchedule[4],
++ keySchedule[5], 0x04);
++ EXPAND_KEY256(keySchedule[8], keySchedule[9], keySchedule[6],
++ keySchedule[7], 0x08);
++ EXPAND_KEY256(keySchedule[10], keySchedule[11], keySchedule[8],
++ keySchedule[9], 0x10);
++ EXPAND_KEY256(keySchedule[12], keySchedule[13], keySchedule[10],
++ keySchedule[11], 0x20);
++ EXPAND_KEY256_PART(keySchedule[14], 0x40, keySchedule[12],
++ keySchedule[13], 0xFF);
++}
++
++/*
++ * AES key expansion using aes-ni instructions.
++ */
++void
++rijndael_native_key_expansion(AESContext *cx, const unsigned char *key,
++ unsigned int Nk)
++{
++ switch (Nk) {
++ case 4:
++ native_key_expansion128(cx, key);
++ return;
++ case 6:
++ native_key_expansion192(cx, key);
++ return;
++ case 8:
++ native_key_expansion256(cx, key);
++ return;
++ default:
++ /* This shouldn't happen (checked by the caller). */
++ return;
++ }
++}
++
++void
++rijndael_native_encryptBlock(AESContext *cx,
++ unsigned char *output,
++ const unsigned char *input)
++{
++ int i;
++ pre_align __m128i m post_align = _mm_loadu_si128((__m128i *)input);
++ m = _mm_xor_si128(m, cx->keySchedule[0]);
++ for (i = 1; i < cx->Nr; ++i) {
++ m = _mm_aesenc_si128(m, cx->keySchedule[i]);
++ }
++ m = _mm_aesenclast_si128(m, cx->keySchedule[cx->Nr]);
++ _mm_storeu_si128((__m128i *)output, m);
++}
+diff --git lib/freebl/freebl.gyp lib/freebl/freebl.gyp
+index 1e93475004..5f59eef29c 100644
+--- lib/freebl/freebl.gyp
++++ lib/freebl/freebl.gyp
+@@ -22,6 +22,37 @@
+ '-mssse3'
+ ]
+ },
++ {
++ 'target_name': 'gcm-aes-x86_c_lib',
++ 'type': 'static_library',
++ 'sources': [
++ 'gcm-x86.c', 'aes-x86.c'
++ ],
++ 'dependencies': [
++ '<(DEPTH)/exports.gyp:nss_exports'
++ ],
++ # Enable isa option for pclmul and aes-ni; supported since gcc 4.4.
++ # This is only supported by x84/x64. It's not needed for Windows,
++ # unless clang-cl is used.
++ 'cflags_mozilla': [
++ '-mpclmul', '-maes'
++ ],
++ 'conditions': [
++ [ 'OS=="linux" or OS=="android" or OS=="dragonfly" or OS=="freebsd" or OS=="netbsd" or OS=="openbsd"', {
++ 'cflags': [
++ '-mpclmul', '-maes'
++ ],
++ }],
++ # macOS build doesn't use cflags.
++ [ 'OS=="mac"', {
++ 'xcode_settings': {
++ 'OTHER_CFLAGS': [
++ '-mpclmul', '-maes'
++ ],
++ },
++ }]
++ ]
++ },
+ {
+ 'target_name': 'freebl',
+ 'type': 'static_library',
+@@ -45,6 +76,11 @@
+ '<(DEPTH)/exports.gyp:nss_exports',
+ ],
+ 'conditions': [
++ [ 'target_arch=="ia32" or target_arch=="x64"', {
++ 'dependencies': [
++ 'gcm-aes-x86_c_lib'
++ ],
++ }],
+ [ 'OS=="linux"', {
+ 'defines!': [
+ 'FREEBL_NO_DEPEND',
+@@ -76,6 +112,11 @@
+ '<(DEPTH)/exports.gyp:nss_exports',
+ ],
+ 'conditions': [
++ [ 'target_arch=="ia32" or target_arch=="x64"', {
++ 'dependencies': [
++ 'gcm-aes-x86_c_lib'
++ ]
++ }],
+ [ 'OS!="linux" and OS!="android"', {
+ 'conditions': [
+ [ 'moz_fold_libs==0', {
+@@ -154,27 +195,11 @@
+ 'MP_API_COMPATIBLE'
+ ],
+ 'conditions': [
+- [ 'target_arch=="ia32" or target_arch=="x64"', {
+- 'cflags_mozilla': [
+- '-mpclmul',
+- '-maes',
+- ],
+- 'conditions': [
+- [ 'OS=="dragonfly" or OS=="freebsd" or OS=="netbsd" or OS=="openbsd"', {
+- 'cflags': [
+- '-mpclmul',
+- '-maes',
+- ],
+- }],
+- ],
+- }],
+ [ 'OS=="mac"', {
+ 'xcode_settings': {
+ # I'm not sure since when this is supported.
+ # But I hope that doesn't matter. We also assume this is x86/x64.
+ 'OTHER_CFLAGS': [
+- '-mpclmul',
+- '-maes',
+ '-std=gnu99',
+ ],
+ },
+@@ -268,14 +293,6 @@
+ 'MP_USE_UINT_DIGIT',
+ ],
+ }],
+- [ 'target_arch=="ia32" or target_arch=="x64"', {
+- 'cflags': [
+- # enable isa option for pclmul am aes-ni; supported since gcc 4.4
+- # This is only support by x84/x64. It's not needed for Windows.
+- '-mpclmul',
+- '-maes',
+- ],
+- }],
+ [ 'target_arch=="arm"', {
+ 'defines': [
+ 'MP_ASSEMBLY_MULTIPLY',
+diff --git lib/freebl/gcm-x86.c lib/freebl/gcm-x86.c
+new file mode 100644
+index 0000000000..e34d633943
+--- /dev/null
++++ lib/freebl/gcm-x86.c
+@@ -0,0 +1,127 @@
++/* This Source Code Form is subject to the terms of the Mozilla Public
++ * License, v. 2.0. If a copy of the MPL was not distributed with this
++ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
++
++#ifdef FREEBL_NO_DEPEND
++#include "stubs.h"
++#endif
++#include "gcm.h"
++#include "secerr.h"
++
++#include <wmmintrin.h> /* clmul */
++
++#define WRITE64(x, bytes) \
++ (bytes)[0] = (x) >> 56; \
++ (bytes)[1] = (x) >> 48; \
++ (bytes)[2] = (x) >> 40; \
++ (bytes)[3] = (x) >> 32; \
++ (bytes)[4] = (x) >> 24; \
++ (bytes)[5] = (x) >> 16; \
++ (bytes)[6] = (x) >> 8; \
++ (bytes)[7] = (x);
++
++SECStatus
++gcm_HashWrite_hw(gcmHashContext *ghash, unsigned char *outbuf)
++{
++ uint64_t tmp_out[2];
++ _mm_storeu_si128((__m128i *)tmp_out, ghash->x);
++ /* maxout must be larger than 16 byte (checked by the caller). */
++ WRITE64(tmp_out[0], outbuf + 8);
++ WRITE64(tmp_out[1], outbuf);
++ return SECSuccess;
++}
++
++SECStatus
++gcm_HashMult_hw(gcmHashContext *ghash, const unsigned char *buf,
++ unsigned int count)
++{
++ size_t i;
++ pre_align __m128i z_high post_align;
++ pre_align __m128i z_low post_align;
++ pre_align __m128i C post_align;
++ pre_align __m128i D post_align;
++ pre_align __m128i E post_align;
++ pre_align __m128i F post_align;
++ pre_align __m128i bin post_align;
++ pre_align __m128i Ci post_align;
++ pre_align __m128i tmp post_align;
++
++ for (i = 0; i < count; i++, buf += 16) {
++ bin = _mm_set_epi16(((uint16_t)buf[0] << 8) | buf[1],
++ ((uint16_t)buf[2] << 8) | buf[3],
++ ((uint16_t)buf[4] << 8) | buf[5],
++ ((uint16_t)buf[6] << 8) | buf[7],
++ ((uint16_t)buf[8] << 8) | buf[9],
++ ((uint16_t)buf[10] << 8) | buf[11],
++ ((uint16_t)buf[12] << 8) | buf[13],
++ ((uint16_t)buf[14] << 8) | buf[15]);
++ Ci = _mm_xor_si128(bin, ghash->x);
++
++ /* Do binary mult ghash->X = Ci * ghash->H. */
++ C = _mm_clmulepi64_si128(Ci, ghash->h, 0x00);
++ D = _mm_clmulepi64_si128(Ci, ghash->h, 0x11);
++ E = _mm_clmulepi64_si128(Ci, ghash->h, 0x01);
++ F = _mm_clmulepi64_si128(Ci, ghash->h, 0x10);
++ tmp = _mm_xor_si128(E, F);
++ z_high = _mm_xor_si128(tmp, _mm_slli_si128(D, 8));
++ z_high = _mm_unpackhi_epi64(z_high, D);
++ z_low = _mm_xor_si128(_mm_slli_si128(tmp, 8), C);
++ z_low = _mm_unpackhi_epi64(_mm_slli_si128(C, 8), z_low);
++
++ /* Shift one to the left (multiply by x) as gcm spec is stupid. */
++ C = _mm_slli_si128(z_low, 8);
++ E = _mm_srli_epi64(C, 63);
++ D = _mm_slli_si128(z_high, 8);
++ F = _mm_srli_epi64(D, 63);
++ /* Carry over */
++ C = _mm_srli_si128(z_low, 8);
++ D = _mm_srli_epi64(C, 63);
++ z_low = _mm_or_si128(_mm_slli_epi64(z_low, 1), E);
++ z_high = _mm_or_si128(_mm_or_si128(_mm_slli_epi64(z_high, 1), F), D);
++
++ /* Reduce */
++ C = _mm_slli_si128(z_low, 8);
++ /* D = z_low << 127 */
++ D = _mm_slli_epi64(C, 63);
++ /* E = z_low << 126 */
++ E = _mm_slli_epi64(C, 62);
++ /* F = z_low << 121 */
++ F = _mm_slli_epi64(C, 57);
++ /* z_low ^= (z_low << 127) ^ (z_low << 126) ^ (z_low << 121); */
++ z_low = _mm_xor_si128(_mm_xor_si128(_mm_xor_si128(z_low, D), E), F);
++ C = _mm_srli_si128(z_low, 8);
++ /* D = z_low >> 1 */
++ D = _mm_slli_epi64(C, 63);
++ D = _mm_or_si128(_mm_srli_epi64(z_low, 1), D);
++ /* E = z_low >> 2 */
++ E = _mm_slli_epi64(C, 62);
++ E = _mm_or_si128(_mm_srli_epi64(z_low, 2), E);
++ /* F = z_low >> 7 */
++ F = _mm_slli_epi64(C, 57);
++ F = _mm_or_si128(_mm_srli_epi64(z_low, 7), F);
++ /* ghash->x ^= z_low ^ (z_low >> 1) ^ (z_low >> 2) ^ (z_low >> 7); */
++ ghash->x = _mm_xor_si128(_mm_xor_si128(
++ _mm_xor_si128(_mm_xor_si128(z_high, z_low), D), E),
++ F);
++ }
++ return SECSuccess;
++}
++
++SECStatus
++gcm_HashInit_hw(gcmHashContext *ghash)
++{
++ ghash->ghash_mul = gcm_HashMult_hw;
++ ghash->x = _mm_setzero_si128();
++ /* MSVC requires __m64 to load epi64. */
++ ghash->h = _mm_set_epi32(ghash->h_high >> 32, (uint32_t)ghash->h_high,
++ ghash->h_low >> 32, (uint32_t)ghash->h_low);
++ ghash->hw = PR_TRUE;
++ return SECSuccess;
++}
++
++SECStatus
++gcm_HashZeroX_hw(gcmHashContext *ghash)
++{
++ ghash->x = _mm_setzero_si128();
++ return SECSuccess;
++}
+diff --git lib/freebl/gcm.c lib/freebl/gcm.c
+index 780b7a6322..f1e16da78e 100644
+--- lib/freebl/gcm.c
++++ lib/freebl/gcm.c
+@@ -17,18 +17,50 @@
+
+ #include <limits.h>
+
+-#ifdef NSS_X86_OR_X64
+-#include <wmmintrin.h> /* clmul */
+-#endif
+-
+ /* Forward declarations */
++SECStatus gcm_HashInit_hw(gcmHashContext *ghash);
++SECStatus gcm_HashWrite_hw(gcmHashContext *ghash, unsigned char *outbuf);
+ SECStatus gcm_HashMult_hw(gcmHashContext *ghash, const unsigned char *buf,
+ unsigned int count);
++SECStatus gcm_HashZeroX_hw(gcmHashContext *ghash);
+ SECStatus gcm_HashMult_sftw(gcmHashContext *ghash, const unsigned char *buf,
+ unsigned int count);
+ SECStatus gcm_HashMult_sftw32(gcmHashContext *ghash, const unsigned char *buf,
+ unsigned int count);
+
++/* Stub definitions for the above *_hw functions, which shouldn't be
++ * used unless NSS_X86_OR_X64 is defined */
++#ifndef NSS_X86_OR_X64
++SECStatus
++gcm_HashWrite_hw(gcmHashContext *ghash, unsigned char *outbuf)
++{
++ PORT_SetError(SEC_ERROR_LIBRARY_FAILURE);
++ return SECFailure;
++}
++
++SECStatus
++gcm_HashMult_hw(gcmHashContext *ghash, const unsigned char *buf,
++ unsigned int count)
++{
++ PORT_SetError(SEC_ERROR_LIBRARY_FAILURE);
++ return SECFailure;
++}
++
++SECStatus
++gcm_HashInit_hw(gcmHashContext *ghash)
++{
++ PORT_SetError(SEC_ERROR_LIBRARY_FAILURE);
++ return SECFailure;
++}
++
++SECStatus
++gcm_HashZeroX_hw(gcmHashContext *ghash)
++{
++ PORT_SetError(SEC_ERROR_LIBRARY_FAILURE);
++ return SECFailure;
++}
++#endif /* NSS_X86_OR_X64 */
++
+ uint64_t
+ get64(const unsigned char *bytes)
+ {
+@@ -46,6 +78,8 @@ get64(const unsigned char *bytes)
+ SECStatus
+ gcmHash_InitContext(gcmHashContext *ghash, const unsigned char *H, PRBool sw)
+ {
++ SECStatus rv = SECSuccess;
++
+ ghash->cLen = 0;
+ ghash->bufLen = 0;
+ PORT_Memset(ghash->counterBuf, 0, sizeof(ghash->counterBuf));
+@@ -53,17 +87,7 @@ gcmHash_InitContext(gcmHashContext *ghash, const unsigned char *H, PRBool sw)
+ ghash->h_low = get64(H + 8);
+ ghash->h_high = get64(H);
+ if (clmul_support() && !sw) {
+-#ifdef NSS_X86_OR_X64
+- ghash->ghash_mul = gcm_HashMult_hw;
+- ghash->x = _mm_setzero_si128();
+- /* MSVC requires __m64 to load epi64. */
+- ghash->h = _mm_set_epi32(ghash->h_high >> 32, (uint32_t)ghash->h_high,
+- ghash->h_low >> 32, (uint32_t)ghash->h_low);
+- ghash->hw = PR_TRUE;
+-#else
+- PORT_SetError(SEC_ERROR_LIBRARY_FAILURE);
+- return SECFailure;
+-#endif /* NSS_X86_OR_X64 */
++ rv = gcm_HashInit_hw(ghash);
+ } else {
+ /* We fall back to the software implementation if we can't use / don't
+ * want to use pclmul. */
+@@ -75,7 +99,7 @@ gcmHash_InitContext(gcmHashContext *ghash, const unsigned char *H, PRBool sw)
+ ghash->x_high = ghash->x_low = 0;
+ ghash->hw = PR_FALSE;
+ }
+- return SECSuccess;
++ return rv;
+ }
+
+ #ifdef HAVE_INT128_SUPPORT
+@@ -283,102 +307,17 @@ gcm_HashMult_sftw32(gcmHashContext *ghash, const unsigned char *buf,
+ }
+ #endif /* HAVE_INT128_SUPPORT */
+
+-SECStatus
+-gcm_HashMult_hw(gcmHashContext *ghash, const unsigned char *buf,
+- unsigned int count)
+-{
+-#ifdef NSS_X86_OR_X64
+- size_t i;
+- pre_align __m128i z_high post_align;
+- pre_align __m128i z_low post_align;
+- pre_align __m128i C post_align;
+- pre_align __m128i D post_align;
+- pre_align __m128i E post_align;
+- pre_align __m128i F post_align;
+- pre_align __m128i bin post_align;
+- pre_align __m128i Ci post_align;
+- pre_align __m128i tmp post_align;
+-
+- for (i = 0; i < count; i++, buf += 16) {
+- bin = _mm_set_epi16(((uint16_t)buf[0] << 8) | buf[1],
+- ((uint16_t)buf[2] << 8) | buf[3],
+- ((uint16_t)buf[4] << 8) | buf[5],
+- ((uint16_t)buf[6] << 8) | buf[7],
+- ((uint16_t)buf[8] << 8) | buf[9],
+- ((uint16_t)buf[10] << 8) | buf[11],
+- ((uint16_t)buf[12] << 8) | buf[13],
+- ((uint16_t)buf[14] << 8) | buf[15]);
+- Ci = _mm_xor_si128(bin, ghash->x);
+-
+- /* Do binary mult ghash->X = Ci * ghash->H. */
+- C = _mm_clmulepi64_si128(Ci, ghash->h, 0x00);
+- D = _mm_clmulepi64_si128(Ci, ghash->h, 0x11);
+- E = _mm_clmulepi64_si128(Ci, ghash->h, 0x01);
+- F = _mm_clmulepi64_si128(Ci, ghash->h, 0x10);
+- tmp = _mm_xor_si128(E, F);
+- z_high = _mm_xor_si128(tmp, _mm_slli_si128(D, 8));
+- z_high = _mm_unpackhi_epi64(z_high, D);
+- z_low = _mm_xor_si128(_mm_slli_si128(tmp, 8), C);
+- z_low = _mm_unpackhi_epi64(_mm_slli_si128(C, 8), z_low);
+-
+- /* Shift one to the left (multiply by x) as gcm spec is stupid. */
+- C = _mm_slli_si128(z_low, 8);
+- E = _mm_srli_epi64(C, 63);
+- D = _mm_slli_si128(z_high, 8);
+- F = _mm_srli_epi64(D, 63);
+- /* Carry over */
+- C = _mm_srli_si128(z_low, 8);
+- D = _mm_srli_epi64(C, 63);
+- z_low = _mm_or_si128(_mm_slli_epi64(z_low, 1), E);
+- z_high = _mm_or_si128(_mm_or_si128(_mm_slli_epi64(z_high, 1), F), D);
+-
+- /* Reduce */
+- C = _mm_slli_si128(z_low, 8);
+- /* D = z_low << 127 */
+- D = _mm_slli_epi64(C, 63);
+- /* E = z_low << 126 */
+- E = _mm_slli_epi64(C, 62);
+- /* F = z_low << 121 */
+- F = _mm_slli_epi64(C, 57);
+- /* z_low ^= (z_low << 127) ^ (z_low << 126) ^ (z_low << 121); */
+- z_low = _mm_xor_si128(_mm_xor_si128(_mm_xor_si128(z_low, D), E), F);
+- C = _mm_srli_si128(z_low, 8);
+- /* D = z_low >> 1 */
+- D = _mm_slli_epi64(C, 63);
+- D = _mm_or_si128(_mm_srli_epi64(z_low, 1), D);
+- /* E = z_low >> 2 */
+- E = _mm_slli_epi64(C, 62);
+- E = _mm_or_si128(_mm_srli_epi64(z_low, 2), E);
+- /* F = z_low >> 7 */
+- F = _mm_slli_epi64(C, 57);
+- F = _mm_or_si128(_mm_srli_epi64(z_low, 7), F);
+- /* ghash->x ^= z_low ^ (z_low >> 1) ^ (z_low >> 2) ^ (z_low >> 7); */
+- ghash->x = _mm_xor_si128(_mm_xor_si128(
+- _mm_xor_si128(_mm_xor_si128(z_high, z_low), D), E),
+- F);
+- }
+- return SECSuccess;
+-#else
+- PORT_SetError(SEC_ERROR_LIBRARY_FAILURE);
+- return SECFailure;
+-#endif /* NSS_X86_OR_X64 */
+-}
+-
+ static SECStatus
+ gcm_zeroX(gcmHashContext *ghash)
+ {
++ SECStatus rv = SECSuccess;
++
+ if (ghash->hw) {
+-#ifdef NSS_X86_OR_X64
+- ghash->x = _mm_setzero_si128();
+- return SECSuccess;
+-#else
+- PORT_SetError(SEC_ERROR_LIBRARY_FAILURE);
+- return SECFailure;
+-#endif /* NSS_X86_OR_X64 */
++ rv = gcm_HashZeroX_hw(ghash);
+ }
+
+ ghash->x_high = ghash->x_low = 0;
+- return SECSuccess;
++ return rv;
+ }
+
+ /*
+@@ -503,15 +442,10 @@ gcmHash_Final(gcmHashContext *ghash, unsigned char *outbuf,
+ }
+
+ if (ghash->hw) {
+-#ifdef NSS_X86_OR_X64
+- uint64_t tmp_out[2];
+- _mm_storeu_si128((__m128i *)tmp_out, ghash->x);
+- WRITE64(tmp_out[0], T + 8);
+- WRITE64(tmp_out[1], T);
+-#else
+- PORT_SetError(SEC_ERROR_LIBRARY_FAILURE);
+- return SECFailure;
+-#endif /* NSS_X86_OR_X64 */
++ rv = gcm_HashWrite_hw(ghash, T);
++ if (rv != SECSuccess) {
++ goto cleanup;
++ }
+ } else {
+ WRITE64(ghash->x_low, T + 8);
+ WRITE64(ghash->x_high, T);
+diff --git lib/freebl/gcm.h lib/freebl/gcm.h
+index 0c707a0811..42ef0f7179 100644
+--- lib/freebl/gcm.h
++++ lib/freebl/gcm.h
+@@ -9,7 +9,21 @@
+ #include <stdint.h>
+
+ #ifdef NSS_X86_OR_X64
++/* GCC <= 4.8 doesn't support including emmintrin.h without enabling SSE2 */
++#if !defined(__clang__) && defined(__GNUC__) && defined(__GNUC_MINOR__) && \
++ (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ <= 8))
++#pragma GCC push_options
++#pragma GCC target("sse2")
++#undef NSS_DISABLE_SSE2
++#define NSS_DISABLE_SSE2 1
++#endif /* GCC <= 4.8 */
++
+ #include <emmintrin.h> /* __m128i */
++
++#ifdef NSS_DISABLE_SSE2
++#undef NSS_DISABLE_SSE2
++#pragma GCC pop_options
++#endif /* NSS_DISABLE_SSE2 */
+ #endif
+
+ SEC_BEGIN_PROTOS
+diff --git lib/freebl/rijndael.c lib/freebl/rijndael.c
+index a09f13098e..5de27de9ce 100644
+--- lib/freebl/rijndael.c
++++ lib/freebl/rijndael.c
+@@ -27,6 +27,34 @@
+ #include "intel-gcm.h"
+ #endif /* INTEL_GCM */
+
++/* Forward declarations */
++void rijndael_native_key_expansion(AESContext *cx, const unsigned char *key,
++ unsigned int Nk);
++void rijndael_native_encryptBlock(AESContext *cx,
++ unsigned char *output,
++ const unsigned char *input);
++
++/* Stub definitions for the above rijndael_native_* functions, which
++ * shouldn't be used unless NSS_X86_OR_X64 is defined */
++#ifndef NSS_X86_OR_X64
++void
++rijndael_native_key_expansion(AESContext *cx, const unsigned char *key,
++ unsigned int Nk)
++{
++ PORT_SetError(SEC_ERROR_LIBRARY_FAILURE);
++ PORT_Assert(0);
++}
++
++void
++rijndael_native_encryptBlock(AESContext *cx,
++ unsigned char *output,
++ const unsigned char *input)
++{
++ PORT_SetError(SEC_ERROR_LIBRARY_FAILURE);
++ PORT_Assert(0);
++}
++#endif /* NSS_X86_OR_X64 */
++
+ /*
+ * There are currently three ways to build this code, varying in performance
+ * and code size.
+@@ -309,162 +337,6 @@ rijndael_key_expansion7(AESContext *cx, const unsigned char *key, unsigned int N
+ }
+ }
+
+-#if defined(NSS_X86_OR_X64)
+-#define EXPAND_KEY128(k, rcon, res) \
+- tmp_key = _mm_aeskeygenassist_si128(k, rcon); \
+- tmp_key = _mm_shuffle_epi32(tmp_key, 0xFF); \
+- tmp = _mm_xor_si128(k, _mm_slli_si128(k, 4)); \
+- tmp = _mm_xor_si128(tmp, _mm_slli_si128(tmp, 4)); \
+- tmp = _mm_xor_si128(tmp, _mm_slli_si128(tmp, 4)); \
+- res = _mm_xor_si128(tmp, tmp_key)
+-
+-static void
+-native_key_expansion128(AESContext *cx, const unsigned char *key)
+-{
+- __m128i *keySchedule = cx->keySchedule;
+- pre_align __m128i tmp_key post_align;
+- pre_align __m128i tmp post_align;
+- keySchedule[0] = _mm_loadu_si128((__m128i *)key);
+- EXPAND_KEY128(keySchedule[0], 0x01, keySchedule[1]);
+- EXPAND_KEY128(keySchedule[1], 0x02, keySchedule[2]);
+- EXPAND_KEY128(keySchedule[2], 0x04, keySchedule[3]);
+- EXPAND_KEY128(keySchedule[3], 0x08, keySchedule[4]);
+- EXPAND_KEY128(keySchedule[4], 0x10, keySchedule[5]);
+- EXPAND_KEY128(keySchedule[5], 0x20, keySchedule[6]);
+- EXPAND_KEY128(keySchedule[6], 0x40, keySchedule[7]);
+- EXPAND_KEY128(keySchedule[7], 0x80, keySchedule[8]);
+- EXPAND_KEY128(keySchedule[8], 0x1B, keySchedule[9]);
+- EXPAND_KEY128(keySchedule[9], 0x36, keySchedule[10]);
+-}
+-
+-#define EXPAND_KEY192_PART1(res, k0, kt, rcon) \
+- tmp2 = _mm_slli_si128(k0, 4); \
+- tmp1 = _mm_xor_si128(k0, tmp2); \
+- tmp2 = _mm_slli_si128(tmp2, 4); \
+- tmp1 = _mm_xor_si128(_mm_xor_si128(tmp1, tmp2), _mm_slli_si128(tmp2, 4)); \
+- tmp2 = _mm_aeskeygenassist_si128(kt, rcon); \
+- res = _mm_xor_si128(tmp1, _mm_shuffle_epi32(tmp2, 0x55))
+-
+-#define EXPAND_KEY192_PART2(res, k1, k2) \
+- tmp2 = _mm_xor_si128(k1, _mm_slli_si128(k1, 4)); \
+- res = _mm_xor_si128(tmp2, _mm_shuffle_epi32(k2, 0xFF))
+-
+-#define EXPAND_KEY192(k0, res1, res2, res3, carry, rcon1, rcon2) \
+- EXPAND_KEY192_PART1(tmp3, k0, res1, rcon1); \
+- EXPAND_KEY192_PART2(carry, res1, tmp3); \
+- res1 = _mm_castpd_si128(_mm_shuffle_pd(_mm_castsi128_pd(res1), \
+- _mm_castsi128_pd(tmp3), 0)); \
+- res2 = _mm_castpd_si128(_mm_shuffle_pd(_mm_castsi128_pd(tmp3), \
+- _mm_castsi128_pd(carry), 1)); \
+- EXPAND_KEY192_PART1(res3, tmp3, carry, rcon2)
+-
+-static void
+-native_key_expansion192(AESContext *cx, const unsigned char *key)
+-{
+- __m128i *keySchedule = cx->keySchedule;
+- pre_align __m128i tmp1 post_align;
+- pre_align __m128i tmp2 post_align;
+- pre_align __m128i tmp3 post_align;
+- pre_align __m128i carry post_align;
+- keySchedule[0] = _mm_loadu_si128((__m128i *)key);
+- keySchedule[1] = _mm_loadu_si128((__m128i *)(key + 16));
+- EXPAND_KEY192(keySchedule[0], keySchedule[1], keySchedule[2],
+- keySchedule[3], carry, 0x1, 0x2);
+- EXPAND_KEY192_PART2(keySchedule[4], carry, keySchedule[3]);
+- EXPAND_KEY192(keySchedule[3], keySchedule[4], keySchedule[5],
+- keySchedule[6], carry, 0x4, 0x8);
+- EXPAND_KEY192_PART2(keySchedule[7], carry, keySchedule[6]);
+- EXPAND_KEY192(keySchedule[6], keySchedule[7], keySchedule[8],
+- keySchedule[9], carry, 0x10, 0x20);
+- EXPAND_KEY192_PART2(keySchedule[10], carry, keySchedule[9]);
+- EXPAND_KEY192(keySchedule[9], keySchedule[10], keySchedule[11],
+- keySchedule[12], carry, 0x40, 0x80);
+-}
+-
+-#define EXPAND_KEY256_PART(res, rconx, k1x, k2x, X) \
+- tmp_key = _mm_shuffle_epi32(_mm_aeskeygenassist_si128(k2x, rconx), X); \
+- tmp2 = _mm_slli_si128(k1x, 4); \
+- tmp1 = _mm_xor_si128(k1x, tmp2); \
+- tmp2 = _mm_slli_si128(tmp2, 4); \
+- tmp1 = _mm_xor_si128(_mm_xor_si128(tmp1, tmp2), _mm_slli_si128(tmp2, 4)); \
+- res = _mm_xor_si128(tmp1, tmp_key);
+-
+-#define EXPAND_KEY256(res1, res2, k1, k2, rcon) \
+- EXPAND_KEY256_PART(res1, rcon, k1, k2, 0xFF); \
+- EXPAND_KEY256_PART(res2, 0x00, k2, res1, 0xAA)
+-
+-static void
+-native_key_expansion256(AESContext *cx, const unsigned char *key)
+-{
+- __m128i *keySchedule = cx->keySchedule;
+- pre_align __m128i tmp_key post_align;
+- pre_align __m128i tmp1 post_align;
+- pre_align __m128i tmp2 post_align;
+- keySchedule[0] = _mm_loadu_si128((__m128i *)key);
+- keySchedule[1] = _mm_loadu_si128((__m128i *)(key + 16));
+- EXPAND_KEY256(keySchedule[2], keySchedule[3], keySchedule[0],
+- keySchedule[1], 0x01);
+- EXPAND_KEY256(keySchedule[4], keySchedule[5], keySchedule[2],
+- keySchedule[3], 0x02);
+- EXPAND_KEY256(keySchedule[6], keySchedule[7], keySchedule[4],
+- keySchedule[5], 0x04);
+- EXPAND_KEY256(keySchedule[8], keySchedule[9], keySchedule[6],
+- keySchedule[7], 0x08);
+- EXPAND_KEY256(keySchedule[10], keySchedule[11], keySchedule[8],
+- keySchedule[9], 0x10);
+- EXPAND_KEY256(keySchedule[12], keySchedule[13], keySchedule[10],
+- keySchedule[11], 0x20);
+- EXPAND_KEY256_PART(keySchedule[14], 0x40, keySchedule[12],
+- keySchedule[13], 0xFF);
+-}
+-
+-#endif /* NSS_X86_OR_X64 */
+-
+-/*
+- * AES key expansion using aes-ni instructions.
+- */
+-static void
+-native_key_expansion(AESContext *cx, const unsigned char *key, unsigned int Nk)
+-{
+-#ifdef NSS_X86_OR_X64
+- switch (Nk) {
+- case 4:
+- native_key_expansion128(cx, key);
+- return;
+- case 6:
+- native_key_expansion192(cx, key);
+- return;
+- case 8:
+- native_key_expansion256(cx, key);
+- return;
+- default:
+- /* This shouldn't happen. */
+- PORT_Assert(0);
+- }
+-#else
+- PORT_Assert(0);
+-#endif /* NSS_X86_OR_X64 */
+-}
+-
+-static void
+-native_encryptBlock(AESContext *cx,
+- unsigned char *output,
+- const unsigned char *input)
+-{
+-#ifdef NSS_X86_OR_X64
+- int i;
+- pre_align __m128i m post_align = _mm_loadu_si128((__m128i *)input);
+- m = _mm_xor_si128(m, cx->keySchedule[0]);
+- for (i = 1; i < cx->Nr; ++i) {
+- m = _mm_aesenc_si128(m, cx->keySchedule[i]);
+- }
+- m = _mm_aesenclast_si128(m, cx->keySchedule[cx->Nr]);
+- _mm_storeu_si128((__m128i *)output, m);
+-#else
+- PORT_Assert(0);
+-#endif /* NSS_X86_OR_X64 */
+-}
+-
+ /* rijndael_key_expansion
+ *
+ * Generate the expanded key from the key input by the user.
+@@ -830,7 +702,7 @@ rijndael_encryptECB(AESContext *cx, unsigned char *output,
+
+ if (aesni_support()) {
+ /* Use hardware acceleration for normal AES parameters. */
+- encryptor = &native_encryptBlock;
++ encryptor = &rijndael_native_encryptBlock;
+ } else {
+ encryptor = &rijndael_encryptBlock128;
+ }
+@@ -1026,7 +898,7 @@ aes_InitContext(AESContext *cx, const unsigned char *key, unsigned int keysize,
+ cx->mode == NSS_AES_CTR)) {
+ PORT_Assert(keysize == 16 || keysize == 24 || keysize == 32);
+ /* Prepare hardware key for normal AES parameters. */
+- native_key_expansion(cx, key, Nk);
++ rijndael_native_key_expansion(cx, key, Nk);
+ } else {
+ rijndael_key_expansion(cx, key, Nk);
+ }
+diff --git lib/freebl/rijndael.h lib/freebl/rijndael.h
+index 1f4a8a9f73..1b63a323da 100644
+--- lib/freebl/rijndael.h
++++ lib/freebl/rijndael.h
+@@ -8,8 +8,22 @@
+ #include "blapii.h"
+ #include <stdint.h>
+
+-#ifdef NSS_X86_OR_X64
+-#include <wmmintrin.h> /* aes-ni */
++#if defined(NSS_X86_OR_X64)
++/* GCC <= 4.8 doesn't support including emmintrin.h without enabling SSE2 */
++#if !defined(__clang__) && defined(__GNUC__) && defined(__GNUC_MINOR__) && \
++ (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ <= 8))
++#pragma GCC push_options
++#pragma GCC target("sse2")
++#undef NSS_DISABLE_SSE2
++#define NSS_DISABLE_SSE2 1
++#endif /* GCC <= 4.8 */
++
++#include <emmintrin.h> /* __m128i */
++
++#ifdef NSS_DISABLE_SSE2
++#undef NSS_DISABLE_SSE2
++#pragma GCC pop_options
++#endif /* NSS_DISABLE_SSE2 */
+ #endif
+
+ typedef void AESBlockFunc(AESContext *cx,
diff --git a/abs/extra/nss/bundle.sh b/abs/extra/nss/bundle.sh
index 253e64a..531a496 100644
--- a/abs/extra/nss/bundle.sh
+++ b/abs/extra/nss/bundle.sh
@@ -5,11 +5,8 @@
cat <<EOF
# This is a bundle of X.509 certificates of public Certificate
# Authorities. It was generated from the Mozilla root CA list.
-# These certificates are in the OpenSSL "TRUSTED CERTIFICATE"
-# format and have trust bits set accordingly.
-# An exception are auxiliary certificates, without positive or negative
-# trust, but are used to assist in finding a preferred trust path.
-# Those neutral certificates use the plain BEGIN CERTIFICATE format.
+# These certificates and trust/distrust attributes use the file format accepted
+# by the p11-kit-trust module.
#
# Source: nss/lib/ckfw/builtins/certdata.txt
# Source: nss/lib/ckfw/builtins/nssckbi.h
@@ -18,37 +15,8 @@
EOF
cat certs/nssckbi.h | grep -w NSS_BUILTINS_LIBRARY_VERSION | awk '{print "# " $2 " " $3}'
echo '#'
-) > ca-bundle.trust.crt
-for f in certs/*.crt; do
- echo "processing $f"
- tbits=`sed -n '/^# openssl-trust/{s/^.*=//;p;}' $f`
- distbits=`sed -n '/^# openssl-distrust/{s/^.*=//;p;}' $f`
- alias=`sed -n '/^# alias=/{s/^.*=//;p;q;}' $f | sed "s/'//g" | sed 's/"//g'`
- targs=""
- if [ -n "$tbits" ]; then
- for t in $tbits; do
- targs="${targs} -addtrust $t"
- done
- fi
- if [ -n "$distbits" ]; then
- for t in $distbits; do
- targs="${targs} -addreject $t"
- done
- fi
- if [ -n "$targs" ]; then
- echo "trust flags $targs for $f" >> info.trust
- openssl x509 -text -in "$f" -trustout $targs -setalias "$alias" >> ca-bundle.trust.crt
- else
- echo "no trust flags for $f" >> info.notrust
- # p11-kit-trust defines empty trust lists as "rejected for all purposes".
- # That's why we use the simple file format
- # (BEGIN CERTIFICATE, no trust information)
- # because p11-kit-trust will treat it as a certificate with neutral trust.
- # This means we cannot use the -setalias feature for neutral trust certs.
- openssl x509 -text -in "$f" >> ca-bundle.neutral-trust.crt
- fi
-done
+) > ca-bundle.trust.p11-kit
-for p in certs/*.p11-kit; do
- cat "$p" >> ca-bundle.supplement.p11-kit
+for p in certs/*.tmp-p11-kit; do
+ cat "$p" >> ca-bundle.trust.p11-kit
done
diff --git a/abs/extra/nss/ca-certificates-mozilla.install b/abs/extra/nss/ca-certificates-mozilla.install
deleted file mode 100644
index 433c35a..0000000
--- a/abs/extra/nss/ca-certificates-mozilla.install
+++ /dev/null
@@ -1,11 +0,0 @@
-post_install() {
- usr/bin/update-ca-trust
-}
-
-post_upgrade() {
- post_install
-}
-
-pre_remove() {
- post_install
-}
diff --git a/abs/extra/nss/certdata2pem.py b/abs/extra/nss/certdata2pem.py
index 021772a..e63ca0f 100644
--- a/abs/extra/nss/certdata2pem.py
+++ b/abs/extra/nss/certdata2pem.py
@@ -27,6 +27,7 @@ import re
import sys
import textwrap
import urllib
+import subprocess
objects = []
@@ -113,6 +114,17 @@ def obj_to_filename(obj):
serial = printable_serial(obj)
return label + ":" + serial
+def write_cert_ext_to_file(f, oid, value, public_key):
+ f.write("[p11-kit-object-v1]\n")
+ f.write("label: ");
+ f.write(tobj['CKA_LABEL'])
+ f.write("\n")
+ f.write("class: x-certificate-extension\n");
+ f.write("object-id: " + oid + "\n")
+ f.write("value: \"" + value + "\"\n")
+ f.write("modifiable: false\n");
+ f.write(public_key)
+
trust_types = {
"CKA_TRUST_DIGITAL_SIGNATURE": "digital-signature",
"CKA_TRUST_NON_REPUDIATION": "non-repudiation",
@@ -132,6 +144,18 @@ trust_types = {
"CKA_TRUST_STEP_UP_APPROVED": "step-up-approved",
}
+legacy_trust_types = {
+ "LEGACY_CKA_TRUST_SERVER_AUTH": "server-auth",
+ "LEGACY_CKA_TRUST_CODE_SIGNING": "code-signing",
+ "LEGACY_CKA_TRUST_EMAIL_PROTECTION": "email-protection",
+}
+
+legacy_to_real_trust_types = {
+ "LEGACY_CKA_TRUST_SERVER_AUTH": "CKA_TRUST_SERVER_AUTH",
+ "LEGACY_CKA_TRUST_CODE_SIGNING": "CKA_TRUST_CODE_SIGNING",
+ "LEGACY_CKA_TRUST_EMAIL_PROTECTION": "CKA_TRUST_EMAIL_PROTECTION",
+}
+
openssl_trust = {
"CKA_TRUST_SERVER_AUTH": "serverAuth",
"CKA_TRUST_CLIENT_AUTH": "clientAuth",
@@ -147,6 +171,8 @@ for tobj in objects:
distrustbits = []
openssl_trustflags = []
openssl_distrustflags = []
+ legacy_trustbits = []
+ legacy_openssl_trustflags = []
for t in trust_types.keys():
if tobj.has_key(t) and tobj[t] == 'CKT_NSS_TRUSTED_DELEGATOR':
trustbits.append(t)
@@ -157,29 +183,180 @@ for tobj in objects:
if t in openssl_trust:
openssl_distrustflags.append(openssl_trust[t])
+ for t in legacy_trust_types.keys():
+ if tobj.has_key(t) and tobj[t] == 'CKT_NSS_TRUSTED_DELEGATOR':
+ real_t = legacy_to_real_trust_types[t]
+ legacy_trustbits.append(real_t)
+ if real_t in openssl_trust:
+ legacy_openssl_trustflags.append(openssl_trust[real_t])
+ if tobj.has_key(t) and tobj[t] == 'CKT_NSS_NOT_TRUSTED':
+ raise NotImplementedError, 'legacy distrust not supported.\n' + line
+
fname = obj_to_filename(tobj)
try:
obj = certmap[key]
except:
obj = None
+ # optional debug code, that dumps the parsed input to files
+ #fulldump = "dump-" + fname
+ #dumpf = open(fulldump, 'w')
+ #dumpf.write(str(obj));
+ #dumpf.write(str(tobj));
+ #dumpf.close();
+
+ is_legacy = 0
+ if tobj.has_key('LEGACY_CKA_TRUST_SERVER_AUTH') or tobj.has_key('LEGACY_CKA_TRUST_EMAIL_PROTECTION') or tobj.has_key('LEGACY_CKA_TRUST_CODE_SIGNING'):
+ is_legacy = 1
+ if obj == None:
+ raise NotImplementedError, 'found legacy trust without certificate.\n' + line
+
+ legacy_fname = "legacy-default/" + fname + ".crt"
+ f = open(legacy_fname, 'w')
+ f.write("# alias=%s\n"%tobj['CKA_LABEL'])
+ f.write("# trust=" + " ".join(legacy_trustbits) + "\n")
+ if legacy_openssl_trustflags:
+ f.write("# openssl-trust=" + " ".join(legacy_openssl_trustflags) + "\n")
+ f.write("-----BEGIN CERTIFICATE-----\n")
+ f.write("\n".join(textwrap.wrap(base64.b64encode(obj['CKA_VALUE']), 64)))
+ f.write("\n-----END CERTIFICATE-----\n")
+ f.close()
+
+ if tobj.has_key('CKA_TRUST_SERVER_AUTH') or tobj.has_key('CKA_TRUST_EMAIL_PROTECTION') or tobj.has_key('CKA_TRUST_CODE_SIGNING'):
+ legacy_fname = "legacy-disable/" + fname + ".crt"
+ f = open(legacy_fname, 'w')
+ f.write("# alias=%s\n"%tobj['CKA_LABEL'])
+ f.write("# trust=" + " ".join(trustbits) + "\n")
+ if openssl_trustflags:
+ f.write("# openssl-trust=" + " ".join(openssl_trustflags) + "\n")
+ f.write("-----BEGIN CERTIFICATE-----\n")
+ f.write("\n".join(textwrap.wrap(base64.b64encode(obj['CKA_VALUE']), 64)))
+ f.write("\n-----END CERTIFICATE-----\n")
+ f.close()
+
+ # don't produce p11-kit output for legacy certificates
+ continue
+
+ pk = ''
+ cert_comment = ''
if obj != None:
- fname += ".crt"
- else:
- fname += ".p11-kit"
+ # must extract the public key from the cert, let's use openssl
+ cert_fname = "cert-" + fname
+ fc = open(cert_fname, 'w')
+ fc.write("-----BEGIN CERTIFICATE-----\n")
+ fc.write("\n".join(textwrap.wrap(base64.b64encode(obj['CKA_VALUE']), 64)))
+ fc.write("\n-----END CERTIFICATE-----\n")
+ fc.close();
+ pk_fname = "pubkey-" + fname
+ fpkout = open(pk_fname, "w")
+ dump_pk_command = ["openssl", "x509", "-in", cert_fname, "-noout", "-pubkey"]
+ subprocess.call(dump_pk_command, stdout=fpkout)
+ fpkout.close()
+ with open (pk_fname, "r") as myfile:
+ pk=myfile.read()
+ # obtain certificate information suitable as a comment
+ comment_fname = "comment-" + fname
+ fcout = open(comment_fname, "w")
+ comment_command = ["openssl", "x509", "-in", cert_fname, "-noout", "-text"]
+ subprocess.call(comment_command, stdout=fcout)
+ fcout.close()
+ sed_command = ["sed", "--in-place", "s/^/#/", comment_fname]
+ subprocess.call(sed_command)
+ with open (comment_fname, "r") as myfile:
+ cert_comment=myfile.read()
+ fname += ".tmp-p11-kit"
f = open(fname, 'w')
+
if obj != None:
- f.write("# alias=%s\n"%tobj['CKA_LABEL'])
- f.write("# trust=" + " ".join(trustbits) + "\n")
- f.write("# distrust=" + " ".join(distrustbits) + "\n")
- if openssl_trustflags:
- f.write("# openssl-trust=" + " ".join(openssl_trustflags) + "\n")
- if openssl_distrustflags:
- f.write("# openssl-distrust=" + " ".join(openssl_distrustflags) + "\n")
+ is_distrusted = False
+ has_server_trust = False
+ has_email_trust = False
+ has_code_trust = False
+
+ if tobj.has_key('CKA_TRUST_SERVER_AUTH'):
+ if tobj['CKA_TRUST_SERVER_AUTH'] == 'CKT_NSS_NOT_TRUSTED':
+ is_distrusted = True
+ elif tobj['CKA_TRUST_SERVER_AUTH'] == 'CKT_NSS_TRUSTED_DELEGATOR':
+ has_server_trust = True
+
+ if tobj.has_key('CKA_TRUST_EMAIL_PROTECTION'):
+ if tobj['CKA_TRUST_EMAIL_PROTECTION'] == 'CKT_NSS_NOT_TRUSTED':
+ is_distrusted = True
+ elif tobj['CKA_TRUST_EMAIL_PROTECTION'] == 'CKT_NSS_TRUSTED_DELEGATOR':
+ has_email_trust = True
+
+ if tobj.has_key('CKA_TRUST_CODE_SIGNING'):
+ if tobj['CKA_TRUST_CODE_SIGNING'] == 'CKT_NSS_NOT_TRUSTED':
+ is_distrusted = True
+ elif tobj['CKA_TRUST_CODE_SIGNING'] == 'CKT_NSS_TRUSTED_DELEGATOR':
+ has_code_trust = True
+
+ if is_distrusted:
+ trust_ext_oid = "1.3.6.1.4.1.3319.6.10.1"
+ trust_ext_value = "0.%06%0a%2b%06%01%04%01%99w%06%0a%01%04 0%1e%06%08%2b%06%01%05%05%07%03%04%06%08%2b%06%01%05%05%07%03%01%06%08%2b%06%01%05%05%07%03%03"
+ write_cert_ext_to_file(f, trust_ext_oid, trust_ext_value, pk)
+
+ trust_ext_oid = "2.5.29.37"
+ if has_server_trust:
+ if has_email_trust:
+ if has_code_trust:
+ # server + email + code
+ trust_ext_value = "0%2a%06%03U%1d%25%01%01%ff%04 0%1e%06%08%2b%06%01%05%05%07%03%04%06%08%2b%06%01%05%05%07%03%01%06%08%2b%06%01%05%05%07%03%03"
+ else:
+ # server + email
+ trust_ext_value = "0 %06%03U%1d%25%01%01%ff%04%160%14%06%08%2b%06%01%05%05%07%03%04%06%08%2b%06%01%05%05%07%03%01"
+ else:
+ if has_code_trust:
+ # server + code
+ trust_ext_value = "0 %06%03U%1d%25%01%01%ff%04%160%14%06%08%2b%06%01%05%05%07%03%01%06%08%2b%06%01%05%05%07%03%03"
+ else:
+ # server
+ trust_ext_value = "0%16%06%03U%1d%25%01%01%ff%04%0c0%0a%06%08%2b%06%01%05%05%07%03%01"
+ else:
+ if has_email_trust:
+ if has_code_trust:
+ # email + code
+ trust_ext_value = "0 %06%03U%1d%25%01%01%ff%04%160%14%06%08%2b%06%01%05%05%07%03%04%06%08%2b%06%01%05%05%07%03%03"
+ else:
+ # email
+ trust_ext_value = "0%16%06%03U%1d%25%01%01%ff%04%0c0%0a%06%08%2b%06%01%05%05%07%03%04"
+ else:
+ if has_code_trust:
+ # code
+ trust_ext_value = "0%16%06%03U%1d%25%01%01%ff%04%0c0%0a%06%08%2b%06%01%05%05%07%03%03"
+ else:
+ # none
+ trust_ext_value = "0%18%06%03U%1d%25%01%01%ff%04%0e0%0c%06%0a%2b%06%01%04%01%99w%06%0a%10"
+
+ # no 2.5.29.37 for neutral certificates
+ if (is_distrusted or has_server_trust or has_email_trust or has_code_trust):
+ write_cert_ext_to_file(f, trust_ext_oid, trust_ext_value, pk)
+
+ pk = ''
+ f.write("\n")
+
+ f.write("[p11-kit-object-v1]\n")
+ f.write("label: ");
+ f.write(tobj['CKA_LABEL'])
+ f.write("\n")
+ if is_distrusted:
+ f.write("x-distrusted: true\n")
+ elif has_server_trust or has_email_trust or has_code_trust:
+ f.write("trusted: true\n")
+ else:
+ f.write("trusted: false\n")
+
+ # requires p11-kit >= 0.23.4
+ f.write("nss-mozilla-ca-policy: true\n")
+ f.write("modifiable: false\n");
+
f.write("-----BEGIN CERTIFICATE-----\n")
f.write("\n".join(textwrap.wrap(base64.b64encode(obj['CKA_VALUE']), 64)))
f.write("\n-----END CERTIFICATE-----\n")
+ f.write(cert_comment)
+ f.write("\n")
+
else:
f.write("[p11-kit-object-v1]\n")
f.write("label: ");
@@ -187,6 +364,7 @@ for tobj in objects:
f.write("\n")
f.write("class: certificate\n")
f.write("certificate-type: x-509\n")
+ f.write("modifiable: false\n");
f.write("issuer: \"");
f.write(urllib.quote(tobj['CKA_ISSUER']));
f.write("\"\n")
diff --git a/abs/extra/nss/enable-libpkix.patch b/abs/extra/nss/enable-libpkix.patch
new file mode 100644
index 0000000..2071c2b
--- /dev/null
+++ b/abs/extra/nss/enable-libpkix.patch
@@ -0,0 +1,12 @@
+diff -u -r nss-3.31/nss/build.sh nss-3.31-libpkix/nss/build.sh
+--- nss-3.31/nss/build.sh 2017-06-08 12:53:01.000000000 +0200
++++ nss-3.31-libpkix/nss/build.sh 2017-06-09 19:11:21.746133040 +0200
+@@ -52,7 +52,7 @@
+ no_local_nspr=0
+ armhf=0
+
+-gyp_params=(--depth="$cwd" --generator-output=".")
++gyp_params=(--depth="$cwd" --generator-output="." -Ddisable_libpkix=0)
+ nspr_params=()
+ ninja_params=()
+
diff --git a/abs/extra/nss/legacy-certs.patch b/abs/extra/nss/legacy-certs.patch
deleted file mode 100644
index 863cef9..0000000
--- a/abs/extra/nss/legacy-certs.patch
+++ /dev/null
@@ -1,26 +0,0 @@
---- certdata.txt 2015-06-27 23:31:01.419795911 +0200
-+++ certdata-legacy-less.txt 2015-06-27 23:57:47.106199639 +0200
-@@ -577,9 +577,9 @@
- \002\020\160\272\344\035\020\331\051\064\266\070\312\173\003\314
- \272\277
- END
--CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
-+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
- CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
--CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
-+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
- CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
-
- #
-@@ -17186,9 +17186,9 @@
- \002\020\074\221\061\313\037\366\320\033\016\232\270\320\104\277
- \022\276
- END
--CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
-+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
- CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
--CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
-+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
- CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
-
- #
diff --git a/abs/extra/nss/no-plt.diff b/abs/extra/nss/no-plt.diff
new file mode 100644
index 0000000..9014f8b
--- /dev/null
+++ b/abs/extra/nss/no-plt.diff
@@ -0,0 +1,48 @@
+diff --git i/security/nss/lib/freebl/mpi/mpi_x86.s w/security/nss/lib/freebl/mpi/mpi_x86.s
+index 8f7e2130c3264754..b3ca1ce5b41b3771 100644
+--- i/security/nss/lib/freebl/mpi/mpi_x86.s
++++ w/security/nss/lib/freebl/mpi/mpi_x86.s
+@@ -22,22 +22,41 @@ is_sse: .long -1
+ #
+ .ifndef NO_PIC
+ .macro GET var,reg
+- movl \var@GOTOFF(%ebx),\reg
++ call thunk.ax
++ addl $_GLOBAL_OFFSET_TABLE_, %eax
++ movl \var@GOTOFF(%eax),\reg
+ .endm
+ .macro PUT reg,var
+- movl \reg,\var@GOTOFF(%ebx)
++ call thunk.dx
++ addl $_GLOBAL_OFFSET_TABLE_, %edx
++ movl \reg,\var@GOTOFF(%edx)
+ .endm
+ .else
+ .macro GET var,reg
+ movl \var,\reg
+ .endm
+ .macro PUT reg,var
+ movl \reg,\var
+ .endm
+ .endif
+
+ .text
+
++.ifndef NO_PIC
++.globl thunk.ax
++.hidden thunk.ax
++.type thunk.ax, @function
++thunk.ax:
++ movl (%esp),%eax
++ ret
++
++.globl thunk.dx
++.hidden thunk.dx
++.type thunk.dx, @function
++thunk.dx:
++ movl (%esp),%edx
++ ret
++.endif
+
+ # ebp - 36: caller's esi
+ # ebp - 32: caller's edi
diff --git a/abs/extra/nss/nss-config.xml b/abs/extra/nss/nss-config.xml
new file mode 100644
index 0000000..f9518c9
--- /dev/null
+++ b/abs/extra/nss/nss-config.xml
@@ -0,0 +1,132 @@
+<?xml version='1.0' encoding='utf-8'?>
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
+ "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [
+<!ENTITY date SYSTEM "date.xml">
+<!ENTITY version SYSTEM "version.xml">
+]>
+
+<refentry id="nss-config">
+
+ <refentryinfo>
+ <date>&date;</date>
+ <title>Network Security Services</title>
+ <productname>nss</productname>
+ <productnumber>&version;</productnumber>
+ </refentryinfo>
+
+ <refmeta>
+ <refentrytitle>nss-config</refentrytitle>
+ <manvolnum>1</manvolnum>
+ </refmeta>
+
+ <refnamediv>
+ <refname>nss-config</refname>
+ <refpurpose>Return meta information about nss libraries</refpurpose>
+ </refnamediv>
+
+ <refsynopsisdiv>
+ <cmdsynopsis>
+ <command>nss-config</command>
+ <arg><option>--prefix</option></arg>
+ <arg><option>--exec-prefix</option></arg>
+ <arg><option>--includedir</option></arg>
+ <arg><option>--libs</option></arg>
+ <arg><option>--cflags</option></arg>
+ <arg><option>--libdir</option></arg>
+ <arg><option>--version</option></arg>
+ </cmdsynopsis>
+ </refsynopsisdiv>
+
+<refsection id="description">
+ <title>Description</title>
+
+ <para><command>nss-config</command> is a shell scrip
+ tool which can be used to obtain gcc options for building client pacakges of nspt. </para>
+
+ </refsection>
+
+ <refsection>
+ <title>Options</title>
+
+ <variablelist>
+ <varlistentry>
+ <term><option>--prefix</option></term>
+ <listitem><simpara>Returns the top level system directory under which the nss libraries are installed.</simpara></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><option>--exec-prefix</option></term>
+ <listitem><simpara>returns the top level system directory under which any nss binaries would be installed.</simpara></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><option>--includedir</option> <replaceable>count</replaceable></term>
+ <listitem><simpara>returns the path to the directory were the nss libraries are installed.</simpara></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><option>--version</option></term>
+ <listitem><simpara>returns the upstream version of nss in the form major_version-minor_version-patch_version.</simpara></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><option>--libs</option></term>
+ <listitem><simpara>returns the compiler linking flags.</simpara></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><option>--cflags</option></term>
+ <listitem><simpara>returns the compiler include flags.</simpara></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><option>--libdir</option></term>
+ <listitem><simpara>returns the path to the directory were the nss libraries are installed.</simpara></listitem>
+ </varlistentry>
+
+ </variablelist>
+ </refsection>
+
+ <refsection>
+ <title>Examples</title>
+
+ <para>The following example will query for both include path and linkage flags:
+
+ <programlisting>
+ /usr/bin/nss-config --cflags --libs
+ </programlisting>
+
+ </para>
+
+
+ </refsection>
+
+ <refsection>
+ <title>Files</title>
+
+ <para><filename>/usr/bin/nss-config</filename></para>
+
+ </refsection>
+
+ <refsection>
+ <title>See also</title>
+ <para>pkg-config(1)</para>
+ </refsection>
+
+ <refsection id="authors">
+ <title>Authors</title>
+ <para>The nss liraries were written and maintained by developers with Netscape, Red Hat, Sun, Oracle, Mozilla, and Google.</para>
+ <para>
+ Authors: Elio Maldonado &lt;emaldona@redhat.com>.
+ </para>
+ </refsection>
+
+<!-- don't change -->
+ <refsection id="license">
+ <title>LICENSE</title>
+ <para>Licensed under the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ </para>
+ </refsection>
+
+</refentry>
+
diff --git a/abs/extra/nss/nss.install b/abs/extra/nss/nss.install
deleted file mode 100644
index 24f9ec6..0000000
--- a/abs/extra/nss/nss.install
+++ /dev/null
@@ -1,13 +0,0 @@
-post_upgrade() {
- if (($(vercmp $2 3.18-3) < 0)); then
- # This symlink was created by ldconfig because we linked to
- # pkcs11/p11-kit-trust.so from libnssckbi.so; the chain was:
- # p11-kit-trust.so -> libnssckbi.so -> pkcs11/p11-kit-trust.so
- # Now we have:
- # libnssckbi.so -> libnssckbi-p11-kit.so
- # which no longer creates an incorrect p11-kit-trust.so symlink
- if [[ $(readlink usr/lib/p11-kit-trust.so) == libnssckbi.so ]]; then
- rm usr/lib/p11-kit-trust.so
- fi
- fi
-}
diff --git a/abs/extra/nss/nss.pc.in b/abs/extra/nss/nss.pc.in
index d47b9e1..42cca9f 100644
--- a/abs/extra/nss/nss.pc.in
+++ b/abs/extra/nss/nss.pc.in
@@ -7,5 +7,5 @@ Name: NSS
Description: Network Security Services
Version: %NSS_VERSION%
Requires: nspr >= %NSPR_VERSION%
-Libs: -lssl3 -lsmime3 -lnss3 -lnssutil3
+Libs: -L${libdir} -lssl3 -lsmime3 -lnss3 -lnssutil3
Cflags: -I${includedir}
diff --git a/abs/extra/nvidia-settings/PKGBUILD b/abs/extra/nvidia-settings/PKGBUILD
index 5fd0ac9..87fad7e 100644
--- a/abs/extra/nvidia-settings/PKGBUILD
+++ b/abs/extra/nvidia-settings/PKGBUILD
@@ -3,18 +3,18 @@
pkgbase=nvidia-settings
pkgname=('nvidia-settings' 'libxnvctrl')
-pkgver=378.13
+pkgver=387.22
pkgrel=1
pkgdesc="Tool for configuring the NVIDIA graphics driver"
-arch=('i686' 'x86_64')
-url="https://github.com/NVIDIA/nvidia-settings"
+url='https://github.com/NVIDIA/nvidia-settings'
+arch=('x86_64')
license=('GPL2')
makedepends=('git' 'inetutils' 'gtk2' 'jansson' 'gtk3' 'libxv' 'libvdpau' 'nvidia-utils' 'libxext')
options=('staticlibs')
-source=(ftp://download.nvidia.com/XFree86/nvidia-settings/nvidia-settings-${pkgver}.tar.bz2
+source=(${pkgbase}-${pkgver}.tar.gz::https://github.com/NVIDIA/nvidia-settings/archive/${pkgver}.tar.gz
libxnvctrl_so.patch)
-sha512sums=('a12352c92fd4f56002bda2b07e8cddd5573af98521ec3495cd428b784eb368c9f2cb40f9b4372400ba1ea67c9349c6a9b4f7c218ede2d0d5dabb08325eda9844'
- 'ed4b609de9691fbb4421eea340399331e7a5c5f47b9de8eade40ca8f78ac39a6f76cc106928cd0d79825f248a3a0eb563a10f68b7b6991cf3e28db0dde2a0f8d')
+sha512sums=('dae157a54d0e48e94776db95927d27fca0370c7ffa67d79ce6fa372ce40bd766c081a65cd090a532c311a8f727beca6d0d9fcd526dc7791b2c73d4193854439b'
+ 'f69f5dc84fe624579a3c9ce877f4ae4e34c2184877576afbea07b8abdd7ff01e470517f2b77cd11a904518cbcb83fb388ca1d08888006f0ef2854723920c9cf8')
prepare() {
export PREFIX=/usr
diff --git a/abs/extra/nvidia-settings/libxnvctrl_so.patch b/abs/extra/nvidia-settings/libxnvctrl_so.patch
index 78cebea..724064e 100644
--- a/abs/extra/nvidia-settings/libxnvctrl_so.patch
+++ b/abs/extra/nvidia-settings/libxnvctrl_so.patch
@@ -24,7 +24,7 @@
+ -rdynamic -o $@ $(OBJS) $(XNVCTRL_LIB) $(LIBS)
$(eval $(call DEBUG_INFO_RULES, $(GTK2LIB)))
- $(GTK2LIB).unstripped: $(GTK2_OBJS) $(XCP_OBJS) $(VERSION_MK)
+ $(GTK2LIB).unstripped: $(GTK2_OBJS) $(XCP_OBJS) $(IMAGE_OBJS) $(VERSION_MK)
$(call quiet_cmd,LINK) -shared $(CFLAGS) $(LDFLAGS) $(BIN_LDFLAGS) \
- $(XNVCTRL_ARCHIVE) $(LIBS) $(GTK2_LIBS) \
+ $(XNVCTRL_LIB) $(LIBS) $(GTK2_LIBS) \
diff --git a/abs/extra/plex-media-server/PKGBUILD b/abs/extra/plex-media-server/PKGBUILD
index 52425c2..23fc75e 100644
--- a/abs/extra/plex-media-server/PKGBUILD
+++ b/abs/extra/plex-media-server/PKGBUILD
@@ -7,16 +7,14 @@
# Contributor: Praekon <praekon@googlemail.com>
pkgname=plex-media-server
-pkgver=1.5.5.3634
-_pkgsum=995f1dead
-pkgrel=2
+pkgver=1.9.7.4460
+_pkgsum=a39b25852
+pkgrel=1
pkgdesc='Plex Media Server'
-arch=('armv7h' 'i686' 'x86_64')
+arch=('x86_64')
url='https://plex.tv/'
license=('custom')
depends=('systemd')
-makedepends_i686=('prelink')
-makedepends_x86_64=('prelink')
provides=('plex-media-server')
conflicts=('plex-media-server-plexpass')
backup=('etc/conf.d/plexmediaserver')
@@ -26,20 +24,8 @@ source=('plexmediaserver.conf.d'
'plex.sysusers'
'plexmediascanner.sh'
'terms.txt')
-source_armv7h=("https://downloads.plex.tv/plex-media-server/${pkgver}-${_pkgsum}/PlexMediaServer-${pkgver}-${_pkgsum}-arm7.spk")
-source_i686=("https://downloads.plex.tv/plex-media-server/${pkgver}-${_pkgsum}/plexmediaserver-${pkgver}-${_pkgsum}.i386.rpm")
source_x86_64=("https://downloads.plex.tv/plex-media-server/${pkgver}-${_pkgsum}/plexmediaserver-${pkgver}-${_pkgsum}.x86_64.rpm")
-prepare() {
-
-case "$CARCH" in
- arm*) mkdir -p usr/lib/plexmediaserver && tar -zxf package.tgz -C usr/lib/plexmediaserver/;;
- #Fix for SELinux and Grsecurity
- *) execstack -c usr/lib/plexmediaserver/libgnsdk_dsp.so*;;
-esac
-
-}
-
package() {
install -dm 755 "${pkgdir}"/{opt,etc/conf.d,usr/lib/systemd/system}
cp -dr --no-preserve='ownership' usr/lib/plexmediaserver "${pkgdir}"/opt/
@@ -58,7 +44,5 @@ md5sums=('dfd6778f5c0d3d64c2c3a71dca02b7cc'
'3f39ee0e8b1ebb1c7ca714f67fa88641'
'97241861f2c0b7c82d1945a6c5de8e35'
'506ec15815bba749a743780edd2323c8'
- 'bd703bc750b989a27edd590eb8c8e9d7')
-md5sums_armv7h=('ecddf56daadc88b2f985ea73c837cd1b')
-md5sums_i686=('154e67a62134d735e91842e78d087871')
-md5sums_x86_64=('47d2026555372b7fa0508ce615e512a6')
+ 'af6d0a81c7821b2eddb1bc137310ca1b')
+md5sums_x86_64=('19b81df06592416bcc9e90d536156e10')
diff --git a/abs/extra/plex-media-server/terms.txt b/abs/extra/plex-media-server/terms.txt
index afe675f..676d3f4 100644
--- a/abs/extra/plex-media-server/terms.txt
+++ b/abs/extra/plex-media-server/terms.txt
@@ -1,109 +1,514 @@
-Plex Terms of Service
-Last modified December 21st, 2013
+ Plex Terms of Service
-Thank you for using Plex! By accessing, using, downloading, or visiting any Plex “Service(s)”, which includes the Plex website, Plex software and products described here, and any other products or materials provided by Plex, you agree to the terms (“Terms”) listed in this agreement (“Agreement”). Plex reserves the right to amend these Terms at any time and without notice. Any revisions to the Terms will be posted on the Plex website. By continuing to access or use the Services, you accept any changes or revisions to the Terms.
+ Revised July 10, 2015
-Plex Software
+ Thank you for using Plex! By accessing, using, downloading, or visiting
+ any Plex “Service(s)”, which includes the Plex website, Plex software and
+ products described here, and any other products or materials provided by
+ Plex GmbH, a Swiss company, and its affiliates (together, “Plex”), you
+ agree to the terms (“Terms”) listed in this agreement (“Agreement”). Plex
+ reserves the right to amend these Terms at any time and without notice.
+ Any revisions to the Terms will be posted on the Plex website. By
+ continuing to access or use the Services, you accept any changes or
+ revisions to the Terms.
- Plex gives you a personal, non-commercial, worldwide, royalty-free, revocable, non-transferable, non-sublicensable, and non-exclusive license to use the software provided to you by Plex as part of the Services (“Software”). This license is for the sole purpose of enabling you to use and enjoy the benefit of the Services in the manner permitted by these Terms.
- The Software includes certain executable modules that Plex has licensed from third party providers (“Third Party Components”) that may be subject to different end user license terms as specified in the license agreement(s) provided with such Third Party Components.
- You may not, or allow anyone else to, directly or indirectly to: (1) copy, modify, distribute, sell, or lease any part of the Software; (2) reverse engineer, disassemble, decompile, or otherwise attempt to discover the source code or structure, sequence, and/or organization of all or any part of the Software, unless laws prohibit those restrictions or you have our written permission; (3) rent, lease, or use the Software for timesharing or service bureau purposes; (4) develop any improvement, modification, or derivative works of the Software, or include any portion thereof in any other product, software, work, equipment, or item (except that you may customize and/or modify the Software only as set forth in the documentation or as authorized in any license agreement of Plex’s third party licensors and applicable to Third Party Components); or (5) allow the transfer, transmission, export, or re-export of the Software or any portion thereof or any technical data associated with any Software.
- You shall not incorporate any of Plex’s Software or any part thereof into any other product(s) or use the proprietary software in any manner that would cause the proprietary software to become subject to any “open source license” that would impose obligations on Plex’s use of the proprietary software or impair any rights of Plex or third parties thereto.
- You shall maintain and shall not remove nor obscure any proprietary notices on the Software, and shall reproduce such notices exactly on all permitted copies of the Software.
- You may reverse engineer the Software solely (1) as permitted by applicable law, or (2) for the purpose of debugging modifications made by you to certain third party files in source code format that are licensed under the GNU Lesser General Public License (LGPL) or under the GNU General Public License diversion 2 (GPL2) and only provided that you have made, prior to any such reverse engineering permitted under this sentence, unsuccessful prior reasonable good faith efforts to debug such modifications using techniques other than the reverse engineering of the Software.
- As between the parties and except as otherwise provided in any license agreement for Third Party Components, Plex shall own all title, ownership rights, and intellectual property rights in and to the Software, and any copies or derivative works thereof, except that by downloading the Software, you retain any title that you may own in and to the recording media on which the Software is recorded.
- You understand that Plex or its licensors may modify or discontinue offering the Services at any time.
- You shall not make, or assist others in making, any use of data adapters or similar technologies used by or with the Services that are designed to receive and use data from Plex, its third party data providers, and their affiliates and third parties, other than to receive and use such data in accordance with these Terms and your agreement with the third party data providers, and their affiliates and third parties, including without limitation any data passing through the Services or otherwise effectively made available by any Service through an API, a download, a database, or the like.
- This Agreement does not entitle you to any support, upgrades, patches, enhancements, or fixes (collectively, "Support") for the Services. Any such Support for the Services that may be made available by Plex, in its sole discretion, shall become part of the Services and will be subject to these Terms.
+ Plex Software
-Data
+ 1. Plex grants you a personal, non-commercial, worldwide, royalty-free,
+ revocable, non-transferable, non-sublicensable, and non-exclusive
+ license to use the software provided to you by Plex as part of the
+ Services (“Software”). This license is for the sole purpose of
+ enabling you to use and enjoy the benefit of the Services in the
+ manner permitted by these Terms.
+ 2. The Software includes certain executable modules that Plex has
+ licensed from third party providers (“Third Party Components”) that
+ may be subject to different end user license terms as specified in the
+ license agreement(s) provided with such Third Party Components.
+ 3. Except as provided in the next section, you may not, or allow anyone
+ else to, directly or indirectly to: (1) copy, modify, distribute,
+ sell, or lease any part of the Software; (2) reverse engineer,
+ disassemble, decompile, or otherwise attempt to discover the source
+ code or structure, sequence, and/or organization of all or any part of
+ the Software, unless laws prohibit those restrictions or you have our
+ written permission; (3) rent, lease, or use the Software for
+ timesharing or service bureau purposes; (4) develop any improvement,
+ modification, or derivative works of the Software, or include any
+ portion thereof in any other product, software, work, equipment, or
+ item (except that you may customize and/or modify the Software only as
+ set forth in the documentation or as authorized in any license
+ agreement of Plex’s third party licensors and applicable to Third
+ Party Components); or (5) allow the transfer, transmission, export, or
+ re-export of the Software or any portion thereof or any technical data
+ associated with any Software.
+ 4. Plex grants you a personal, non-commercial, worldwide, royalty-free,
+ revocable, non-transferable, non-sublicensable, and non-exclusive
+ license to reproduce the Plex Media Server Software (PMS Software) in
+ copies and distribute the copies to others, provided that: you may not
+ charge a fee for the PMS Software, and you may not individually charge
+ for installing it; you may copy, distribute and install the PMS
+ Software only as others actually need the PMS Software, and not more
+ than five (5) times per calendar day or more than twenty-five (25)
+ times per calendar month; you may not offer the PMS Software to the
+ public for downloading on or in connection with any commercial online
+ site, whether or not a fee is charged for the PMS Software; you shall
+ comply with all other terms and conditions set forth in this document;
+ you agree that Plex may revoke or terminate the license granted to you
+ under this paragraph at any time for any reason in its sole
+ discretion. As an example, this section is intended to permit
+ reasonable copying and distribution of the PMS Software in connection
+ with services such as home theater or home media center installation
+ in which you install the PMS Software on the computers of your
+ customers as a convenience in connection with other services or
+ products that you are providing to them, and/or in Arch Linux
+ repositories and similar distributions.
+ 5. You shall maintain and shall not remove nor obscure any proprietary
+ notices on the Software, and shall reproduce such notices exactly on
+ all permitted copies of the Software.
+ 6. You may reverse engineer the Software solely (1) as permitted by
+ applicable law, or (2) for the purpose of debugging modifications made
+ by you to certain third party files in source code format that are
+ licensed under the GNU Lesser General Public License (LGPL) or under
+ the GNU General Public License version 2 (GPL2) and only provided that
+ you have made, prior to any such reverse engineering permitted under
+ this sentence, unsuccessful prior reasonable good faith efforts to
+ debug such modifications using techniques other than the reverse
+ engineering of the Software.
+ 7. As between the parties and except as otherwise provided in any license
+ agreement for Third Party Components, Plex shall own all title,
+ ownership rights, and intellectual property rights in and to the
+ Software, and any copies or derivative works thereof, except that by
+ downloading the Software, you retain any title that you may own in and
+ to the recording media on which the Software is recorded.
+ 8. You understand that Plex or its licensors may modify or discontinue
+ offering the Services at any time.
+ 9. You shall not make, or assist others in making, any use of data
+ adapters or similar technologies used by or with the Services that are
+ designed to receive and use data from Plex, its third party data
+ providers, and their affiliates and third parties, other than to
+ receive and use such data in accordance with these Terms and your
+ agreement with the third party data providers, and their affiliates
+ and third parties, including without limitation any data passing
+ through the Services or otherwise effectively made available by any
+ Service through an API, a download, a database, or the like.
+ 10. This Agreement does not entitle you to any support, upgrades, patches,
+ enhancements, or fixes (collectively, “Support”) for the Services. Any
+ such Support for the Services that may be made available by Plex, in
+ its sole discretion, shall become part of the Services and will be
+ subject to these Terms.
-Data provided by Plex or other third party data providers may be delayed or unavailable as specified by Plex or such third party data providers. Plex does not verify any data provided by Plex or other third party data providers and disclaims any obligation to do so. Plex, its third party data providers, and each of their affiliates and business partners: (1) expressly disclaim the availability, accuracy, adequacy, or completeness of any data or third party data provider, and (2) shall not be liable for any errors, omissions, or other defects in, unavailability of, delays or interruptions in such data or third party data provider.
+ Data
-Acceptable Use
+ Data provided by Plex or other third party data providers may be delayed
+ or unavailable as specified by Plex or such third party data providers.
+ Plex does not verify any data provided by Plex or other third party data
+ providers and disclaims any obligation to do so. Plex, its third party
+ data providers, and each of their affiliates and business partners: (1)
+ expressly disclaim the availability, accuracy, adequacy, or completeness
+ of any data or third party data provider, and (2) shall not be liable for
+ any errors, omissions, or other defects in, unavailability of, delays or
+ interruptions in such data or third party data provider.
- You may not, or allow anyone else to, use any of the Services to do the following:
- Infringe the intellectual property rights, proprietary rights, or rights of publicity or privacy of any third party;
- Violate any law, statute, ordinance, or regulation, or perform any other action that would incur civil liability or constitute a crime;
- Disseminate, transfer or store information or materials in any form or format that is harmful, threatening, abusive, harassing, tortuous, defamatory, vulgar, obscene, libelous, or otherwise objectionable, or that otherwise violate any law or right of any third party; or
- Disseminate any software viruses or any other computer code, files, programs, or the like that may without limitation interrupt, destroy, or limit the functionality of any computer software or hardware or telecommunications equipment, violate the security of any computer network, or the like.
- If the occurrence of any prohibited use comes to our attention, we reserve the right to disable any accounts associated with prohibited use or otherwise terminate your access to the Services.
+ Acceptable Use
-Your Content
+ 1. You may not, or allow anyone else to, use any of the Services to do
+ the following:
+ 1. Infringe the intellectual property rights, proprietary rights, or
+ rights of publicity or privacy of any third party;
+ 2. Violate any law, statute, ordinance, or regulation, or perform
+ any other action that would incur civil liability or constitute a
+ crime;
+ 3. Disseminate, transfer or store information or materials in any
+ form or format that is harmful, threatening, abusive, harassing,
+ tortuous, defamatory, vulgar, obscene, libelous, or otherwise
+ objectionable, or that otherwise violate any law or right of any
+ third party; or
+ 4. Disseminate any software viruses or any other computer code,
+ files, programs, or the like that may without limitation
+ interrupt, destroy, or limit the functionality of any computer
+ software or hardware or telecommunications equipment, violate the
+ security of any computer network, or the like.
+ 2. If the occurrence of any prohibited use comes to our attention, we
+ reserve the right to disable any accounts associated with prohibited
+ use or otherwise terminate your access to the Services.
- You continue to retain any ownership rights you have in content you make available via the Services, or otherwise use in conjunction with the Services. However, by using the Services with particular content, for example by using the Services to share particular content or access particular content, you grant to Plex (and to each of the third parties with whom we work to provide you with the Services) a worldwide license to reproduce, modify, create derivative works, transmit, publish, publicly perform, publicly display, distribute, and otherwise use the particular content and metadata associated with the content, such as poster images. The rights you grant us in this license are only for the limited purpose of providing you with our Services. You may not use the Services in connection with any content for which you do not have the right to grant us this license.
- The Services may include features that allow you to share your content with others. Please be careful when choosing to share content with other users; Plex is not responsible for how others use your content. Additionally, you hereby grant to any user with whom you share content a non-exclusive license to access the content through the Service, and to use, reproduce in copies, distribute, display and perform the shared content as permitted through the functionality of the Service and under this Agreement. You may not share any content with others via the Services if you do not have the right to grant this license to any user with whom you share the content.
- You understand that all content imported, published, shared, transmitted, or otherwise made available via the Services is the sole responsibility of the person from whom such content originated, and that you, and not Plex, are solely responsible for any civil or criminal legal liability that may arise or result from any content that you import, publish, share, transmit, or otherwise make available through your use of the Services.
+ Your Content
-Content of Others
+ 1. You continue to retain any ownership rights you have in content you
+ make available via the Services, or otherwise use in conjunction with
+ the Services. However, by using the Services with particular content,
+ for example by using the Services to share particular content or
+ access particular content, you grant to Plex (and to each of the third
+ parties with whom we work to provide you with the Services) a
+ worldwide license to reproduce, modify, create derivative works,
+ transmit, publish, publicly perform, publicly display, distribute, and
+ otherwise use the particular content and metadata associated with the
+ content, such as images of you or images otherwise associated with
+ your account. The rights you grant us in this license are only for the
+ limited purpose of providing you with our Services. You may not use
+ the Services in connection with any content for which you do not have
+ the right to grant us this license.
+ 2. The Services may include features that allow you to share your content
+ with others. Please be careful when choosing to share content with
+ other users; Plex is not responsible for how others use your content.
+ Additionally, you hereby grant to any user with whom you share content
+ a non-exclusive license to access the content through the Service, and
+ to use, reproduce in copies, distribute, display and perform the
+ shared content as permitted through the functionality of the Service
+ and under this Agreement. You may not share any content with others
+ via the Services if you do not have the right to grant this license to
+ any user with whom you share the content.
+ 3. You understand that Plex may delete any content that you post in or
+ contribute to a message forum or similar service that Plex hosts, in
+ its sole discretion, for any reason.
- You acknowledge that all content that you access through use of the Software or other Services is accessed at your own risk, and you will be solely responsible for any damage or liability to any party resulting from such access.
- You understand that by using the Services you may encounter content that you may find offensive, indecent, or objectionable. Plex does not inspect, screen, or otherwise control the content that is posted, shared or made available via the Services, and Plex does not guarantee the accuracy, integrity or quality of such content.
- You acknowledge that unauthorized use of copyrighted content of others may subject you to civil and criminal penalties, including possible monetary damages, for copyright infringement.
+ Content of Others
-Developers and Interfacing Software
+ 1. You acknowledge that all content that you access through use of the
+ Software or other Services is accessed at your own risk, and you will
+ be solely responsible for any damage or liability to any party
+ resulting from such access.
+ 2. You understand that by using the Services you may encounter content
+ that you may find offensive, indecent, or objectionable. Plex does not
+ inspect, screen, or otherwise control the content that is posted,
+ shared or made available via the Services, and Plex does not guarantee
+ the accuracy, integrity or quality of such content.
+ 3. You acknowledge that unauthorized use of copyrighted content of others
+ may subject you to civil and criminal penalties, including possible
+ monetary damages, for copyright infringement.
- "Interfacing Software" means any software that you obtain or provide and that accesses or calls any Software provided by Plex as part of the Services including, but not limited to, plug-ins for the Services, channel plug-ins, metadata agents, and client applications that communicate directly or indirectly with the Services.
- By making, or assisting others in making, Interfacing Software, you agree to the following terms:
- You grant Plex and its affiliates worldwide a worldwide, non-exclusive, and royalty-free right and license to use (including testing, hosting and linking to), copy, publicly perform, publicly display, reproduce in copies for distribution, and distribute the copies of any Interfacing Software made by you or with your assistance.
- You may notify us at legal@plex.tv if you do not wish for Plex to use, distribute, copy, publicly perform, publicly display, reproduce in copies for distribution, or distribute copies of any Interfacing Software that was created by you. Plex will comply with such a request but Plex must be granted a transition period of thirty (30) days after receipt of the request to comply. A request to take down Interfacing Software must include (1) an identification of the Interfacing Software you wish to be removed; (2) your signature in either electronic or physical form; and (3) the following statements:
- "I swear under penalty of perjury that I am the owner of the Interfacing Software or I am authorized to act on behalf of the owner of the Interfacing Software.”
- "I swear under penalty of perjury that the information in this notification is accurate.”
- You shall protect the privacy and legal rights of Plex users. If the users provide, or the Interfacing Software accesses or uses, user names, passwords, or other login information or personal information, you must make the users aware that such information will be available to the Interfacing Software, and you must provide privacy notices and protection for those users in compliance with applicable law. Further, the Interfacing Software may use that information only for the limited purposes for which the user has given you permission to do so. If the Interfacing Software stores personally identifying information of users or information that a reasonable user would consider to be sensitive, then the Interfacing Software must do so securely and only for as long as it is needed. However, if the user has opted or entered into a separate agreement with you that allows you or the Interfacing Software to store or use personally identifying information of users or information that a reasonable user would consider to be sensitive, then the terms of that separate agreement will govern your use of such information. If the user provides the Interfacing Software with Plex account information, the Interfacing Software may only use that information to access the user’s Plex account when, and for the limited purposes for which, the user has given you permission to do so.
- Prohibited Uses. Plex prohibits performing certain actions using the Interfacing Software. You shall not make, or assist others in making, any Interfacing Software that:
- Knowingly violates a third party’s terms of service;
- Violates any applicable laws or regulations;
- Interferes with, disrupts, damages, harms, or accesses in an unauthorized manner the machines, hardware. devices, servers, networks, data, or other properties or services of any other party including, but not limited to, Plex users, Plex or any network operator;
- Posts misleading information about an application’s purpose;
- Infringes on the intellectual property rights of others; or
- Performs any other prohibited action listed under “Acceptable Use” above.
- You will require your end users to comply with any applicable law and these Terms. You will not knowingly enable your end users to violate applicable law or these Terms.
- You shall indemnify and hold harmless Plex and its officers, directors, employees, contractors, licensors, suppliers, distributors, contractors, agents, and third party contributors from any claims, damages, liabilities, costs and fees (including reasonable attorney fees) arising from any use of the Interfacing Software or from Plex’s distribution of the Interfacing Software.
- Brand Features and Attribution
- "Brand Features" is defined as the trade names, trademarks, service marks, logos, domain names, and other distinctive brand features of a party. Except where expressly stated, these terms do not grant either party any right, title, or interest in or to the other party's Brand Features. Any use by you of Plex’s Brand Features (including any goodwill associated therewith) will inure to the benefit of Plex. Plex Brand Features include the Plex Play Logo (“>” in stylized format) and the trademarks, trade names and designs as may be identified from time to time in the Plex Trademark Notice that is posted at plex.tv/legal.
- You must seek prior written approval from Plex to display Plex's Brand Features, including for the purpose of promoting or advertising that your Interfacing Software is for use in conjunction with Plex Services. Plex, in its sole discretion and in a separate writing such as an e-mail from an authorized representative of Plex, may grant you a revocable, non-transferable, nonexclusive license, without right of sub-license, to display Plex's Brand Features for the purpose of promoting or advertising that your Interfacing Software is for use in conjunction with Plex Services. You understand and agree that Plex has the sole discretion to determine whether your attribution(s) and use of Plex's Brand Features are in accordance with the above requirements and guidelines and that Plex may revoke the license granted herein at any time, or may require you to modify your use of Plex’s Brand Features, for any reason in its sole discretion.
- You will not make any statement that suggests a partnership with, sponsorship by, or endorsement by Plex, without Plex's express prior written approval.
- In the course of promoting, marketing, or demonstrating the Services, Plex may produce and distribute incidental depictions, including screenshots, video, or other content from your Interfacing Software, and may use your company or product name. You grant us all necessary rights for the above purposes.
+ Developers and Interfacing Software
-Children
+ 1. “Interfacing Software” means any software that you obtain or provide
+ and that accesses or calls any Software provided by Plex as part of
+ the Services including, but not limited to, plug-ins for the Services,
+ channel plug-ins, metadata agents, and client applications that
+ communicate directly or indirectly with the Services.
+ 2. By making, or assisting others in making, Interfacing Software, you
+ agree to the following terms:
+ 1. You grant Plex and its affiliates worldwide a worldwide,
+ non-exclusive, and royalty-free right and license to use
+ (including testing, hosting and linking to), copy, publicly
+ perform, publicly display, reproduce in copies for distribution,
+ and distribute the copies of any Interfacing Software made by you
+ or with your assistance.
+ 2. You will include in the source code of the Interfacing Software a
+ copyright notice of the form: Copyright © <year> <copyright
+ holders>. You grant, and authorize Plex to grant on your behalf
+ if necessary, a license, free of charge, to any person obtaining
+ a copy of the Interfacing Software and associated documentation
+ files from Plex, to deal in the Interfacing Software without
+ restriction, including without limitation the rights to use,
+ copy, modify, merge, publish, distribute, sublicense, and/or sell
+ copies of the Interfacing Software, and to permit persons to whom
+ the Interfacing Software is furnished to do so, subject to the
+ following conditions: The above copyright notice and this
+ permission notice shall be included in all copies or substantial
+ portions of the Interfacing Software. THE INTERFACING SOFTWARE IS
+ PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ NON-INFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+ HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ OTHER DEALINGS IN THE INTERFACING SOFTWARE.
+ 3. You may notify us if you do not wish for Plex to use, distribute,
+ copy, publicly perform, publicly display, reproduce in copies for
+ distribution, or distribute copies of any Interfacing Software
+ that was created by you. Plex will comply with such a request but
+ Plex must be granted a transition period of thirty (30) days
+ after receipt of the request to comply.
+ A request to take down Interfacing Software must include (1) an
+ identification of the Interfacing Software you wish to be
+ removed; (2) your signature in either electronic or physical
+ form; and (3) the following statements:
+ * “I swear under penalty of perjury that I am the owner of the
+ Interfacing Software or I am authorized to act on behalf of
+ the owner of the Interfacing Software.”
+ * “I swear under penalty of perjury that the information in
+ this notification is accurate.”
+ 4. You shall protect the privacy and legal rights of Plex users. If
+ the users provide, or the Interfacing Software accesses or uses,
+ user names, passwords, or other login information or personal
+ information, you must make the users aware that such information
+ will be available to the Interfacing Software, and you must
+ provide privacy notices and protection for those users in
+ compliance with applicable law. Further, the Interfacing Software
+ may use that information only for the limited purposes for which
+ the user has given you permission to do so. If the Interfacing
+ Software stores personally identifying information of users or
+ information that a reasonable user would consider to be
+ sensitive, then the Interfacing Software must do so securely and
+ only for as long as it is needed. However, if the user has opted
+ or entered into a separate agreement with you that allows you or
+ the Interfacing Software to store or use personally identifying
+ information of users or information that a reasonable user would
+ consider to be sensitive, then the terms of that separate
+ agreement will govern your use of such information. If the user
+ provides the Interfacing Software with Plex account information,
+ the Interfacing Software may only use that information to access
+ the user’s Plex account when, and for the limited purposes for
+ which, the user has given you permission to do so.
+ 5. Prohibited Uses. Plex prohibits performing certain actions using
+ the Interfacing Software. You shall not make, or assist others in
+ making, any Interfacing Software that:
+ 1. Knowingly violates a third party’s terms of service;
+ 2. Violates any applicable laws or regulations;
+ 3. Interferes with, disrupts, damages, harms, or accesses in an
+ unauthorized manner the machines, hardware. devices,
+ servers, networks, data, or other properties or services of
+ any other party including, but not limited to, Plex users,
+ Plex or any network operator;
+ 4. Posts misleading information about an application’s purpose;
+ 5. Infringes on the intellectual property rights of others; or
+ 6. Performs any other prohibited action listed under
+ “Acceptable Use” above.
+ 6. You will require your end users to comply with any applicable law
+ and these Terms. You will not knowingly enable your end users to
+ violate applicable law or these Terms.
+ 7. You shall indemnify and hold harmless Plex and its officers,
+ directors, employees, contractors, licensors, suppliers,
+ distributors, contractors, agents, and third party contributors
+ from any claims, damages, liabilities, costs and fees (including
+ reasonable attorney fees) arising from any use of the Interfacing
+ Software or from Plex’s distribution of the Interfacing Software.
+ 8. Brand Features and Attribution
+ 1. “Brand Features” is defined as the trade names, trademarks,
+ service marks, logos, domain names, and other distinctive
+ brand features of a party. Except where expressly stated,
+ these terms do not grant either party any right, title, or
+ interest in or to the other party’s Brand Features. Any use
+ by you of Plex’s Brand Features (including any goodwill
+ associated therewith) will inure to the benefit of Plex.
+ Plex Brand Features include the Plex Play Logo (“>” in
+ stylized format) and the trademarks, trade names and designs
+ as may be identified from time to time in the Plex Trademark
+ Notice that is posted at
+ https://www.plex.tv/about/privacy-legal/.
+ 2. You must seek prior written approval from Plex to display
+ Plex’s Brand Features, including for the purpose of
+ promoting or advertising that your Interfacing Software is
+ for use in conjunction with Plex Services. Plex, in its sole
+ discretion and in a separate writing such as an e-mail from
+ an authorized representative of Plex, may grant you a
+ revocable, non-transferable, nonexclusive license, without
+ right of sub-license, to display Plex’s Brand Features for
+ the purpose of promoting or advertising that your
+ Interfacing Software is for use in conjunction with Plex
+ Services. You understand and agree that Plex has the sole
+ discretion to determine whether your attribution(s) and use
+ of Plex’s Brand Features are in accordance with the above
+ requirements and guidelines and that Plex may revoke the
+ license granted herein at any time, or may require you to
+ modify your use of Plex’s Brand Features, for any reason in
+ its sole discretion.
+ 3. You will not make any statement that suggests a partnership
+ with, sponsorship by, or endorsement by Plex, without Plex’s
+ express prior written approval.
+ 4. In the course of promoting, marketing, or demonstrating the
+ Services, Plex may produce and distribute incidental
+ depictions, including screenshots, video, or other content
+ from your Interfacing Software, and may use your company or
+ product name. You grant us all necessary rights for the
+ above purposes.
-While Plex does distribute products that may be used by children, the Services are not intended to be used by children, without involvement, supervision, and approval of a parent or legal guardian. Therefore, if an account owner sets parental controls or establishes sub-accounts that the account owner intends to permit a child to use, the account owner should not reveal the account password to the child. Plex and its contributors may not provide controls that restrict the maturity level of content available via Plex and an adult account owner has sole responsibility for determining what maturity level is appropriate for or accessible to any children whom the account owner permits to use the Plex service or a sub-account.
+ Children
-NO WARRANTY
+ While Plex does distribute products that may be used by children, the
+ Services are not intended to be used by children, without involvement,
+ supervision, and approval of a parent or legal guardian. Therefore, if an
+ account owner sets parental controls or establishes sub-accounts that the
+ account owner intends to permit a child to use, the account owner should
+ not reveal the account password to the child. Plex and its contributors
+ may not provide controls that restrict the maturity level of content
+ available via Plex and an adult account owner has sole responsibility for
+ determining what maturity level is appropriate for or accessible to any
+ children whom the account owner permits to use the Plex service or a
+ sub-account.
- PLEX SERVICES ARE PROVIDED "AS IS". PLEX MAKES NO WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, AND PLEX EXPRESSLY DISCLAIMS ALL WARRANTIES WITH RESPECT TO THE PLEX SERVICES, INCLUDING WITHOUT LIMITATION, ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. FURTHER, PLEX DOES NOT WARRANT AGAINST ERRORS, OMISSIONS, RESULTS OF USE, OR THAT PLEX SERVICES ARE BUG FREE OR ERROR FREE OR THAT USE WILL BE UNINTERRUPTED. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THE AGREEMENT. ALL THE FOREGOING DISCLAIMERS ALSO APPLY IN FULL WITH RESPECT TO PLEX'S LICENSORS, SUPPLIERS, DISTRIBUTORS, CONTRACTORS, AGENTS, AND THIRD PARTY CONTRIBUTORS. SOME STATES DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO THE ABOVE LIMITATIONS MAY NOT APPLY TO YOU.
- You agree that Plex and its officers, directors, employees, and contractors are not responsible for any fault, inaccuracy, error, omission, delay or any other failure of your equipment and/or services caused by Plex’s hardware, software, cabling, network services, or the like, or arising from Plex’s use of such equipment and/or services.
- The above disclaimer of warranty applies to software developed by Plex and any software developed by a third party and provided by Plex including, but not limited to, Interfacing Software developed by any Plex user.
+ NO WARRANTY
-Limitation of Liability and Damages
+ 1. PLEX SERVICES ARE PROVIDED “AS IS”. PLEX MAKES NO WARRANTY OF ANY
+ KIND, EXPRESS OR IMPLIED, AND PLEX EXPRESSLY DISCLAIMS ALL WARRANTIES
+ WITH RESPECT TO THE PLEX SERVICES, INCLUDING WITHOUT LIMITATION, ANY
+ IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
+ PURPOSE AND NONINFRINGEMENT. FURTHER, PLEX DOES NOT WARRANT AGAINST
+ ERRORS, OMISSIONS, RESULTS OF USE, OR THAT PLEX SERVICES ARE BUG FREE
+ OR ERROR FREE OR THAT USE WILL BE UNINTERRUPTED. THIS DISCLAIMER OF
+ WARRANTY CONSTITUTES AN ESSENTIAL PART OF THE AGREEMENT. ALL THE
+ FOREGOING DISCLAIMERS ALSO APPLY IN FULL WITH RESPECT TO PLEX’S
+ LICENSORS, SUPPLIERS, DISTRIBUTORS, CONTRACTORS, AGENTS, AND THIRD
+ PARTY CONTRIBUTORS. SOME STATES DO NOT ALLOW THE EXCLUSION OF IMPLIED
+ WARRANTIES, SO THE ABOVE LIMITATIONS MAY NOT APPLY TO YOU.
+ 2. You agree that Plex and its officers, directors, employees, and
+ contractors are not responsible for any fault, inaccuracy, error,
+ omission, delay or any other failure of your equipment and/or services
+ caused by Plex’s hardware, software, cabling, network services, or the
+ like, or arising from Plex’s use of such equipment and/or services.
+ 3. The above disclaimer of warranty applies to software developed by Plex
+ and any software developed by a third party and provided by Plex
+ including, but not limited to, Interfacing Software developed by any
+ Plex user.
- UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, INCLUDING, BUT NOT LIMITED TO, TORT, CONTRACT, NEGLIGENCE, STRICT LIABILITY, OR OTHERWISE, SHALL PLEX BE LIABLE TO YOU OR ANY OTHER PERSON OR ENTITY: (I) FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOST PROFITS, LOSS OF GOODWILL, WORK STOPPAGE, ACCURACY OF RESULTS, COMPUTER FAILURE OR MALFUNCTION, LOSS OF DATA, OR OTHER DAMAGES RESULTING FROM YOUR USE OF THE SOFTWARE; OR (II) FOR ANY MATTER BEYOND ITS REASONABLE CONTROL. PLEX'S AGGREGATE LIABILITY FOR DAMAGES OF ANY KIND WHATSOEVER ARISING OUT OF THIS AGREEMENT SHALL BE LIMITED TO THE LESSER OF THE TOTAL FEES PAID BY YOU TO PLEX (IF ANY) FOR THE PORTION OF THE SOFTWARE THAT GAVE RISE TO SUCH DAMAGES OR $100 (U.S.), EXCEPT WHERE NOT PERMITTED BY APPLICABLE LAW, IN WHICH CASE PLEX'S LIABILITY SHALL BE LIMITED TO THE MINIMUM AMOUNT PERMITTED BY SUCH APPLICABLE LAW. ALL THE FOREGOING LIMITATIONS SHALL APPLY EVEN IF EITHER PARTY HAS BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. ALL THE FOREGOING LIMITATIONS ALSO APPLY WITH RESPECT TO PLEX'S SUPPLIERS, LICENSORS, DISTRIBUTORS, CONTRACTORS, AGENTS, AND THIRD PARTY CONTRIBUTORS. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THE ABOVE LIMITATION AND EXCLUSION MAY NOT APPLY TO YOU.
- The above limitations and exclusions apply to software developed by Plex and any software developed by a third party and provided by Plex including, but not limited to, Interfacing Software developed by Plex user.
+ Limitation of Liability and Damages
-Third-Party Materials
+ 1. UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, INCLUDING, BUT NOT
+ LIMITED TO, TORT, CONTRACT, NEGLIGENCE, STRICT LIABILITY, OR
+ OTHERWISE, SHALL PLEX BE LIABLE TO YOU OR ANY OTHER PERSON OR ENTITY:
+ (I) FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF
+ ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOST PROFITS,
+ LOSS OF GOODWILL, WORK STOPPAGE, ACCURACY OF RESULTS, COMPUTER FAILURE
+ OR MALFUNCTION, LOSS OF DATA, OR OTHER DAMAGES RESULTING FROM YOUR USE
+ OF THE SOFTWARE; OR (II) FOR ANY MATTER BEYOND ITS REASONABLE CONTROL.
+ PLEX’S AGGREGATE LIABILITY FOR DAMAGES OF ANY KIND WHATSOEVER ARISING
+ OUT OF THIS AGREEMENT SHALL BE LIMITED TO THE LESSER OF THE TOTAL FEES
+ PAID BY YOU TO PLEX (IF ANY) FOR THE PORTION OF THE SOFTWARE THAT GAVE
+ RISE TO SUCH DAMAGES OR $100 (U.S.), EXCEPT WHERE NOT PERMITTED BY
+ APPLICABLE LAW, IN WHICH CASE PLEX’S LIABILITY SHALL BE LIMITED TO THE
+ MINIMUM AMOUNT PERMITTED BY SUCH APPLICABLE LAW. ALL THE FOREGOING
+ LIMITATIONS SHALL APPLY EVEN IF EITHER PARTY HAS BEEN INFORMED OF THE
+ POSSIBILITY OF SUCH DAMAGES. ALL THE FOREGOING LIMITATIONS ALSO APPLY
+ WITH RESPECT TO PLEX’S SUPPLIERS, LICENSORS, DISTRIBUTORS,
+ CONTRACTORS, AGENTS, AND THIRD PARTY CONTRIBUTORS. SOME STATES DO NOT
+ ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL
+ DAMAGES, SO THE ABOVE LIMITATION AND EXCLUSION MAY NOT APPLY TO YOU.
+ 2. The above limitations and exclusions apply to software developed by
+ Plex and any software developed by a third party and provided by Plex
+ including, but not limited to, Interfacing Software developed by Plex
+ user.
-This website and other Services may provide links to websites, software, or other materials provided by third parties. Plex does not endorse and is not responsible or liable for the availability, accuracy, safety, or intellectual property rights of or relating to such content. Plex is not liable for any harm caused by any such materials.
+ Third-Party Materials
-Malware
+ This website and other Services may provide links to websites, software,
+ or other materials provided by third parties. Plex does not endorse and is
+ not responsible or liable for the availability, accuracy, safety, or
+ intellectual property rights of or relating to such content. Plex is not
+ liable for any harm caused by any such materials.
-"Malware" means any known, discovered, envisioned, or invented, or any yet to be known, discovered, envisioned, or invented: (i) virus, Trojan horse, or any other harmful, harassing, or malicious software; or (ii) method, use, or means by which any software, firmware, equipment, device, communications medium, person, entity, or the like directly or indirectly engages in or is used for: (a) any unauthorized access; (b) any unauthorized communication; or (c) any cracks, hacks, exploits, or other activity, method, use, or means, that may cause harassment, harm, data loss, data theft, loss of communication, loss of privacy, or the like. You acknowledge that the Internet, Internet service providers, shared or dedicated telecommunication lines, wireless access points and wireless networks, other forms of communication, online resources including websites and cloud computing environments, or other means that you use to connect to the Software may not be secure and may be vulnerable to attack by third parties, and that it is possible to receive Malware by using the Internet, dedicated lines, other forms of communication, or other means. In order to protect the Software, you shall regularly obtain, use, and update appropriate third party software or other means to protect yourself from Malware and to detect and remove Malware that may be downloaded using the Internet, dedicated lines, other forms of communication, or other means. Plex does not warrant that the Software will be free of Malware including, but not limited to, Malware that is introduced by third parties, the Internet, dedicated lines, other forms of communication, or other means.
+ Malware
-Waiver and Indemnity
+ “Malware” means any known, discovered, envisioned, or invented, or any yet
+ to be known, discovered, envisioned, or invented: (i) virus, Trojan horse,
+ or any other harmful, harassing, or malicious software; or (ii) method,
+ use, or means by which any software, firmware, equipment, device,
+ communications medium, person, entity, or the like directly or indirectly
+ engages in or is used for: (a) any unauthorized access; (b) any
+ unauthorized communication; or (c) any cracks, hacks, exploits, or other
+ activity, method, use, or means, that may cause harassment, harm, data
+ loss, data theft, loss of communication, loss of privacy, or the like. You
+ acknowledge that the Internet, Internet service providers, shared or
+ dedicated telecommunication lines, wireless access points and wireless
+ networks, other forms of communication, online resources including
+ websites and cloud computing environments, or other means that you use to
+ connect to the Software may not be secure and may be vulnerable to attack
+ by third parties, and that it is possible to receive Malware by using the
+ Internet, dedicated lines, other forms of communication, or other means.
+ In order to protect the Software, you shall regularly obtain, use, and
+ update appropriate third party software or other means to protect yourself
+ from Malware and to detect and remove Malware that may be downloaded using
+ the Internet, dedicated lines, other forms of communication, or other
+ means. Plex does not warrant that the Software will be free of Malware
+ including, but not limited to, Malware that is introduced by third
+ parties, the Internet, dedicated lines, other forms of communication, or
+ other means.
-You agree that Plex and its licensors, distributors, contractors, agents, and third party contributors shall have no liability whatsoever for any use you make of the Services. You shall indemnify and hold harmless Plex and its licensors, suppliers, distributors, contractors, agents, and third party contributors from any claims, damages, liabilities, costs and fees (including reasonable attorney fees) arising from your use of the Plex Services as well as from your failure to comply with any of the Terms, or any losses, damages, claims, costs, and/or attorneys’ fees arising from any use of or reliance upon any information received in connection with the Services that comprises or is based upon data provided by Plex or any third party.
+ Waiver and Indemnity
-Termination of Services
+ You agree that Plex and its licensors, distributors, contractors, agents,
+ and third party contributors shall have no liability whatsoever for any
+ use you make of the Services. You shall indemnify and hold harmless Plex
+ and its licensors, suppliers, distributors, contractors, agents, and third
+ party contributors from any claims, damages, liabilities, costs and fees
+ (including reasonable attorney fees) arising from your use of the Plex
+ Services as well as from your failure to comply with any of the Terms, or
+ any losses, damages, claims, costs, and/or attorneys’ fees arising from
+ any use of or reliance upon any information received in connection with
+ the Services that comprises or is based upon data provided by Plex or any
+ third party.
-Plex may at any time, with or without cause and with or without prior notice, immediately terminate or suspend your Plex account or otherwise terminate or suspend your access to all or a portion of the Services. Cause for such termination may include: (a) violations of the Terms or any other policies or guidelines that are referenced herein; (b) a request by you to cancel or terminate your account; (c) a request and/or order from law enforcement, a judicial body, or other government agency; (d) where providing the Services to you is or may become unlawful; or (e) unexpected technical or security issues or problems; (f) your participation in fraudulent or illegal activities. Any such termination or suspension shall be made by Plex in its sole discretion and Plex will not be responsible to you or any third party for any damages that may result or arise out of such termination or suspension of your access to the Services.
+ Termination of Services
-Miscellaneous
-
- This Agreement does not give you any rights not expressly and unambiguously granted herein.
- No agency, partnership, joint venture, or employment is created as a result of this Agreement and you do not have any authority of any kind to bind Plex in any respect whatsoever.
- If any provision of this Agreement is found to be unenforceable or invalid, that provision shall be limited or eliminated to the minimum extent necessary so that this Agreement shall otherwise remain in full force and effect and enforceable.
- This Agreement is not assignable, transferable, or sublicensable by you except with Plex's prior written consent. Plex may transfer, assign, or delegate this Agreement and its rights and obligations without consent.
- Plex's failure to enforce any right or provisions in this Agreement will not constitute a waiver of such or any other provision.
- This Agreement shall be governed by and construed in accordance with the laws of the state of California, as if made within California between two residents thereof, and the parties submit to the exclusive jurisdiction of the Superior Court of Santa Clara County and the United States District Court for the Northern District of California. Notwithstanding the foregoing sentence, but without limiting Plex's right to seek injunctive or other equitable relief in any court of competent jurisdiction, any disputes arising with respect to this Agreement shall be referred to an arbitrator affiliated with the Judicial Arbitration and Mediation Services, Inc. ("JAMS"). The arbitrator shall be selected by joint agreement of the parties. In the event the parties cannot agree on an arbitrator within thirty (30) days of the initiating party providing the other party with written notice that it plans to seek arbitration, the parties shall each select an arbitrator affiliated with JAMS, which arbitrators shall jointly select a third such arbitrator to resolve the dispute. The written decision of the arbitrator shall be final and binding on the parties. The arbitration proceeding shall be carried on and heard in Santa Clara County, California using the English language and pursuant to the rules of (and administered by) JAMS. In any action or proceeding to enforce rights under this Agreement, the prevailing party will be entitled to recover costs and reasonable attorneys' fees from the other party. A separate written license agreement or order and signed by Plex and you or your company, employer, or principal may state other terms and conditions that apply to you, including terms relating to price, payment, delivery, confidential information, support services, and the like. You are solely responsible to review such terms or conditions with your company, employer or principal. In the event of any conflict in terms, the terms of the separate license agreement shall supersede the terms of this Agreement.
- Both parties agree that this Agreement is the complete and exclusive statement of the mutual understanding of the parties and supersedes and cancels all previous written and oral agreements, communications, and other understandings relating to the subject matter of this Agreement.
+ Plex may at any time, with or without cause and with or without prior
+ notice, immediately terminate or suspend your Plex account or otherwise
+ terminate or suspend your access to all or a portion of the Services.
+ Cause for such termination may include: (a) violations of the Terms or any
+ other policies or guidelines that are referenced herein; (b) a request by
+ you to cancel or terminate your account; (c) a request and/or order from
+ law enforcement, a judicial body, or other government agency; (d) where
+ providing the Services to you is or may become unlawful; (e) unexpected
+ technical or security issues or problems; or (f) your participation in
+ fraudulent or illegal activities. Any such termination or suspension shall
+ be made by Plex in its sole discretion and Plex will not be responsible to
+ you or any third party for any damages that may result or arise out of
+ such termination or suspension of your access to the Services.
+ Miscellaneous
+ 1. This Agreement does not give you any rights not expressly and
+ unambiguously granted herein.
+ 2. No agency, partnership, joint venture, or employment is created as a
+ result of this Agreement and you do not have any authority of any kind
+ to bind Plex in any respect whatsoever.
+ 3. If any provision of this Agreement is found to be unenforceable or
+ invalid, that provision shall be limited or eliminated to the minimum
+ extent necessary so that this Agreement shall otherwise remain in full
+ force and effect and enforceable.
+ 4. This Agreement is not assignable, transferable, or sublicensable by
+ you except with Plex’s prior written consent. Plex may transfer,
+ assign, or delegate this Agreement and its rights and obligations
+ without consent.
+ 5. Plex’s failure to enforce any right or provisions in this Agreement
+ will not constitute a waiver of such or any other provision.
+ 6. This Agreement shall be governed by and construed in accordance with
+ the laws of the state of California, as if made within California
+ between two residents thereof, and the parties submit to the exclusive
+ jurisdiction of the Superior Court of Santa Clara County and the
+ United States District Court for the Northern District of California.
+ Notwithstanding the foregoing sentence, but without limiting Plex’s
+ right to seek injunctive or other equitable relief in any court of
+ competent jurisdiction, any disputes arising with respect to this
+ Agreement shall be referred to an arbitrator affiliated with the
+ Judicial Arbitration and Mediation Services, Inc. (“JAMS”). The
+ arbitrator shall be selected by joint agreement of the parties. In the
+ event the parties cannot agree on an arbitrator within thirty (30)
+ days of the initiating party providing the other party with written
+ notice that it plans to seek arbitration, the parties shall each
+ select an arbitrator affiliated with JAMS, which arbitrators shall
+ jointly select a third such arbitrator to resolve the dispute. The
+ written decision of the arbitrator shall be final and binding on the
+ parties. The arbitration proceeding shall be carried on and heard in
+ Santa Clara County, California using the English language and pursuant
+ to the rules of (and administered by) JAMS. In any action or
+ proceeding to enforce rights under this Agreement, the prevailing
+ party will be entitled to recover costs and reasonable attorneys’ fees
+ from the other party. A separate written license agreement or order
+ and signed by Plex and you or your company, employer, or principal may
+ state other terms and conditions that apply to you, including terms
+ relating to price, payment, delivery, confidential information,
+ support services, and the like. You are solely responsible to review
+ such terms or conditions with your company, employer or principal. In
+ the event of any conflict in terms, the terms of the separate license
+ agreement shall supersede the terms of this Agreement.
+ 7. Both parties agree that this Agreement is the complete and exclusive
+ statement of the mutual understanding of the parties and supersedes
+ and cancels all previous written and oral agreements, communications,
+ and other understandings relating to the subject matter of this
+ Agreement.
+ * Privacy
+ * Terms
+ * Copyright
+ * Trademark
+ * Subscriptions
+ * Blog
+ * Support
+ * About
+ * Cord Cutting
+ * Plex Pro
+ * Plex Gear
+ * Contact
+ Connect With Us
+ * * * * * * Language
+ Copyright © 2017 Plex
+ * Privacy & Legal
+ * Sitemap
+ * Status
diff --git a/abs/extra/re2c/PKGBUILD b/abs/extra/re2c/PKGBUILD
new file mode 100644
index 0000000..a578a6b
--- /dev/null
+++ b/abs/extra/re2c/PKGBUILD
@@ -0,0 +1,33 @@
+# $Id$
+# Maintainer:
+# Contributor: nut543 <kfs1@online.no>
+# Contributor: Dale Blount <dale@archlinux.org>
+
+pkgname=re2c
+pkgver=1.0.2
+pkgrel=1
+arch=(i686 x86_64)
+depends=(gcc-libs)
+pkgdesc='A tool for generating C-based recognizers from regular expressions'
+url='http://re2c.org'
+license=(GPL)
+source=(re2c-$pkgver.tar.gz::https://github.com/skvadrik/re2c/archive/$pkgver.tar.gz)
+sha1sums=('d01b4d3c353bb32d5e4a1a61a377e0f4f03d4741')
+
+build() {
+ cd $pkgname-$pkgver/re2c
+# ./autogen.sh
+ autoreconf -i -W all
+ ./configure --prefix=/usr
+ make
+}
+
+check() {
+ cd $pkgname-$pkgver/re2c
+ make tests
+}
+
+package() {
+ cd $pkgname-$pkgver/re2c
+ make DESTDIR="$pkgdir" install
+}
diff --git a/abs/extra/transmission/PKGBUILD b/abs/extra/transmission/PKGBUILD
index 77d3403..cec5033 100644
--- a/abs/extra/transmission/PKGBUILD
+++ b/abs/extra/transmission/PKGBUILD
@@ -1,78 +1,96 @@
-# $Id: PKGBUILD 170069 2012-10-31 13:47:37Z ibiru $
+# $Id$
+# Maintainer : Tom Gundersen <teg@jklm.no>
# Maintainer : Ionut Biru <ibiru@archlinux.org>
pkgbase=transmission
-pkgname=('transmission-cli' 'transmission-gtk' 'transmission-qt')
-pkgver=2.73
-pkgrel=2
-arch=('i686' 'x86_64')
+pkgname=(transmission-cli transmission-gtk transmission-qt)
+pkgver=2.92
+pkgrel=7
+arch=(i686 x86_64)
url="http://www.transmissionbt.com/"
-license=('MIT')
-makedepends=('gtk3' 'intltool' 'curl' 'qt' 'libevent')
-source=(http://mirrors.m0k.org/transmission/files/$pkgbase-$pkgver.tar.xz
- transmissiond transmissiond.conf transmission.systemd
- transmission.tmpfiles)
+license=(MIT)
+makedepends=(gtk3 intltool curl qt5-base libevent systemd qt5-tools)
+source=(https://github.com/transmission/transmission-releases/raw/master/transmission-${pkgver}.tar.xz
+ transmission-2.90-libsystemd.patch
+ transmission-2.92-openssl-1.1.0.patch
+ transmission-cli.sysusers
+ transmission-cli.tmpfiles)
+sha256sums=('3a8d045c306ad9acb7bf81126939b9594553a388482efa0ec1bfb67b22acd35f'
+ '9f8f4bb532e0e46776dbd90e75557364f495ec95896ee35900ea222d69bda411'
+ 'efd41985f60c977a95744ee44dfbb628424765caee83c6af3e29a5b1cbfadc98'
+ '641310fb0590d40e00bea1b5b9c843953ab78edf019109f276be9c6a7bdaf5b2'
+ '1266032bb07e47d6bcdc7dabd74df2557cc466c33bf983a5881316a4cc098451')
-build() {
+prepare() {
cd $pkgbase-$pkgver
+ patch -p1 -i "$srcdir/transmission-2.90-libsystemd.patch"
+ patch -p1 -i "$srcdir/transmission-2.92-openssl-1.1.0.patch"
+
+ rm -f m4/glib-gettext.m4
+ autoreconf -fi
+ sed -i '/^Icon=/ s/$/-qt/' qt/transmission-qt.desktop
+}
+
+build() {
+ cd $pkgbase-$pkgver
./configure --prefix=/usr
make
- pushd qt
- qmake qtr.pro
+
+ cd qt
+ qmake qtr.pro \
+ DEFINES+=TRANSLATIONS_DIR=\\\\\\\"/usr/share/transmission-qt/translations\\\\\\\"
make
+ lrelease translations/*.ts
}
+
package_transmission-cli() {
- pkgdesc="Fast, easy, and free BitTorrent client (CLI tools, daemon and web client)"
- depends=('curl' 'libevent')
- backup=('etc/conf.d/transmissiond')
- install=transmission-cli.install
+ pkgdesc='Fast, easy, and free BitTorrent client (CLI tools, daemon and web client)'
+ depends=(curl libevent systemd)
cd $pkgbase-$pkgver
- for dir in daemon cli web utils
- do
- make -C "$dir" DESTDIR="$pkgdir" install
+ for dir in daemon cli web utils; do
+ make -C "$dir" DESTDIR="$pkgdir" install
done
- install -D -m755 "$srcdir/transmissiond" "$pkgdir/etc/rc.d/transmissiond"
- install -D -m644 "$srcdir/transmissiond.conf" "$pkgdir/etc/conf.d/transmissiond"
- install -D -m644 "$srcdir/transmission.tmpfiles" "$pkgdir/usr/lib/tmpfiles.d/transmission.conf"
- install -D -m644 "$srcdir/transmission.systemd" "$pkgdir/usr/lib/systemd/system/transmission.service"
- ln -s transmission.service "$pkgdir/usr/lib/systemd/system/transmissiond.service"
- install -D -m644 COPYING "$pkgdir/usr/share/licenses/transmission-cli/COPYING"
+ install -Dm644 daemon/transmission-daemon.service \
+ "$pkgdir/usr/lib/systemd/system/transmission.service"
+ install -Dm644 COPYING "$pkgdir/usr/share/licenses/transmission-cli/COPYING"
+
+ install -Dm644 "$srcdir/$pkgname.sysusers" \
+ "$pkgdir/usr/lib/sysusers.d/transmission.conf"
+ install -Dm644 "$srcdir/$pkgname.tmpfiles" \
+ "$pkgdir/usr/lib/tmpfiles.d/transmission.conf"
}
package_transmission-gtk() {
- pkgdesc="Fast, easy, and free BitTorrent client (GTK+ GUI)"
- depends=('curl' 'libevent' 'gtk3' 'desktop-file-utils' 'hicolor-icon-theme')
+ pkgdesc='Fast, easy, and free BitTorrent client (GTK+ GUI)'
+ depends=(curl libevent gtk3 desktop-file-utils hicolor-icon-theme)
optdepends=('notification-daemon: Desktop notification support'
- 'transmission-cli: daemon and web support')
- install=transmission-gtk.install
+ 'transmission-cli: daemon and web support')
cd $pkgbase-$pkgver
make -C gtk DESTDIR="$pkgdir" install
make -C po DESTDIR="$pkgdir" install
- install -D -m644 COPYING "$pkgdir/usr/share/licenses/transmission-gtk/COPYING"
+ install -Dm644 COPYING "$pkgdir/usr/share/licenses/transmission-gtk/COPYING"
}
package_transmission-qt() {
- pkgdesc="Fast, easy, and free BitTorrent client (Qt GUI)"
- depends=('curl' 'qt' 'libevent')
+ pkgdesc='Fast, easy, and free BitTorrent client (Qt GUI)'
+ depends=(curl qt5-base libevent)
optdepends=('transmission-cli: daemon and web support')
- install=transmission-qt.install
cd $pkgbase-$pkgver
make -C qt INSTALL_ROOT="$pkgdir"/usr install
+ install -Dm644 -t "$pkgdir/usr/share/transmission-qt/translations" \
+ qt/translations/*.qm
- install -D -m644 COPYING "$pkgdir/usr/share/licenses/transmission-qt/COPYING"
- install -D -m644 qt/icons/transmission.png "$pkgdir/usr/share/pixmaps/transmission-qt.png"
- install -D -m644 qt/transmission-qt.desktop "$pkgdir/usr/share/applications/transmission-qt.desktop"
+ install -Dm644 COPYING "$pkgdir/usr/share/licenses/transmission-qt/COPYING"
+ install -Dm644 qt/icons/transmission.png \
+ "$pkgdir/usr/share/pixmaps/transmission-qt.png"
+ install -Dm644 qt/transmission-qt.desktop \
+ "$pkgdir/usr/share/applications/transmission-qt.desktop"
}
-md5sums=('fae00b13a7b18f9dc16edef020edea85'
- '7d6186ee2a852ae3d44980f05063e194'
- 'db72b02fee139e8ab416324e6c044d76'
- '5c289c8901221a94be74665368ab5c2c'
- '23f2320361ad54373c3a4551ef634fe8')
diff --git a/abs/extra/transmission/transmission-2.90-libsystemd.patch b/abs/extra/transmission/transmission-2.90-libsystemd.patch
new file mode 100644
index 0000000..279a2c1
--- /dev/null
+++ b/abs/extra/transmission/transmission-2.90-libsystemd.patch
@@ -0,0 +1,13 @@
+diff --git a/configure.ac b/configure.ac
+index ea5e296..afd236f 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -245,7 +245,7 @@ AC_ARG_WITH([systemd-daemon], AS_HELP_STRING([--with-systemd-daemon],
+ [Add support for systemd startup notification (default is autodetected)]),
+ [USE_SYSTEMD_DAEMON=$withval], [USE_SYSTEMD_DAEMON=auto])
+ AS_IF([test "x$USE_SYSTEMD_DAEMON" != "xno"], [
+- PKG_CHECK_MODULES([SYSTEMD_DAEMON], [libsystemd-daemon],
++ PKG_CHECK_MODULES([SYSTEMD_DAEMON], [libsystemd],
+ [AC_DEFINE(USE_SYSTEMD_DAEMON,1,[Use systemd startup notification])],
+ [AS_IF([test "x$USE_SYSTEMD_DAEMON" = "xyes"],
+ [AC_MSG_ERROR([systemd startup notification support requested, but libsystemd-daemon not found.])]
diff --git a/abs/extra/transmission/transmission-2.92-openssl-1.1.0.patch b/abs/extra/transmission/transmission-2.92-openssl-1.1.0.patch
new file mode 100644
index 0000000..29484b8
--- /dev/null
+++ b/abs/extra/transmission/transmission-2.92-openssl-1.1.0.patch
@@ -0,0 +1,261 @@
+From f91cf5ad8c677b61ceb0bf5877b87f9e93256dd7 Mon Sep 17 00:00:00 2001
+From: Sebastian Andrzej Siewior <sebastian@breakpoint.cc>
+Date: Mon, 5 Sep 2016 21:49:07 +0000
+Subject: [PATCH] transmission: build against openssl 1.1.0
+
+Signed-off-by: Sebastian Andrzej Siewior <sebastian@breakpoint.cc>
+---
+ libtransmission/crypto-utils-openssl.c | 73 ++++++++++++++++++++++++++++++++--
+ 1 file changed, 69 insertions(+), 4 deletions(-)
+
+diff --git a/libtransmission/crypto-utils-openssl.c b/libtransmission/crypto-utils-openssl.c
+index c4539dc..972e24a 100644
+--- a/libtransmission/crypto-utils-openssl.c
++++ b/libtransmission/crypto-utils-openssl.c
+@@ -229,6 +229,61 @@ tr_rc4_process (tr_rc4_ctx_t handle,
+ ****
+ ***/
+
++#if OPENSSL_VERSION_NUMBER < 0x10100000
++static inline int
++DH_set0_pqg (DH * dh,
++ BIGNUM * p,
++ BIGNUM * q,
++ BIGNUM * g)
++{
++ /* If the fields p and g in d are NULL, the corresponding input
++ * parameters MUST be non-NULL. q may remain NULL.
++ */
++ if ((dh->p == NULL && p == NULL)
++ || (dh->g == NULL && g == NULL))
++ return 0;
++
++ if (p != NULL) {
++ BN_free (dh->p);
++ dh->p = p;
++ }
++ if (q != NULL) {
++ BN_free (dh->q);
++ dh->q = q;
++ }
++ if (g != NULL) {
++ BN_free (dh->g);
++ dh->g = g;
++ }
++
++ if (q != NULL) {
++ dh->length = BN_num_bits (q);
++ }
++
++ return 1;
++}
++
++static inline int
++DH_set_length (DH * dh,
++ long length)
++{
++ dh->length = length;
++ return 1;
++}
++
++static inline void
++DH_get0_key(const DH * dh,
++ const BIGNUM ** pub_key,
++ const BIGNUM ** priv_key)
++{
++ if (pub_key != NULL)
++ *pub_key = dh->pub_key;
++ if (priv_key != NULL)
++ *priv_key = dh->priv_key;
++}
++
++#endif
++
+ tr_dh_ctx_t
+ tr_dh_new (const uint8_t * prime_num,
+ size_t prime_num_length,
+@@ -236,13 +291,19 @@ tr_dh_new (const uint8_t * prime_num,
+ size_t generator_num_length)
+ {
+ DH * handle = DH_new ();
++ BIGNUM * p, * g;
+
+ assert (prime_num != NULL);
+ assert (generator_num != NULL);
++ p = BN_bin2bn (prime_num, prime_num_length, NULL);
++ g = BN_bin2bn (generator_num, generator_num_length, NULL);
+
+- if (!check_pointer (handle->p = BN_bin2bn (prime_num, prime_num_length, NULL)) ||
+- !check_pointer (handle->g = BN_bin2bn (generator_num, generator_num_length, NULL)))
++ if (!check_pointer (p) ||
++ !check_pointer (g) ||
++ !DH_set0_pqg (handle, p, NULL, g))
+ {
++ BN_free (p);
++ BN_free (g);
+ DH_free (handle);
+ handle = NULL;
+ }
+@@ -267,16 +328,20 @@ tr_dh_make_key (tr_dh_ctx_t raw_handle,
+ {
+ DH * handle = raw_handle;
+ int dh_size, my_public_key_length;
++ const BIGNUM * hand_pub_key;
+
+ assert (handle != NULL);
+ assert (public_key != NULL);
+
+- handle->length = private_key_length * 8;
++
++ DH_set_length(handle, private_key_length * 8);
+
+ if (!check_result (DH_generate_key (handle)))
+ return false;
+
+- my_public_key_length = BN_bn2bin (handle->pub_key, public_key);
++ DH_get0_key (handle, &hand_pub_key, NULL);
++
++ my_public_key_length = BN_bn2bin (hand_pub_key, public_key);
+ dh_size = DH_size (handle);
+
+ tr_dh_align_key (public_key, my_public_key_length, dh_size);
+From 8c8386a7f3f482a9c917f51d28e0042e55f56b3e Mon Sep 17 00:00:00 2001
+From: Mike Gelfand <mikedld@mikedld.com>
+Date: Wed, 7 Sep 2016 01:09:04 +0300
+Subject: [PATCH] Fix coding style and building with !TR_LIGHTWEIGHT
+
+---
+ libtransmission/crypto-utils-openssl.c | 60 +++++++++++++++++++---------------
+ 1 file changed, 33 insertions(+), 27 deletions(-)
+
+diff --git a/libtransmission/crypto-utils-openssl.c b/libtransmission/crypto-utils-openssl.c
+index 972e24a..9fd2c58 100644
+--- a/libtransmission/crypto-utils-openssl.c
++++ b/libtransmission/crypto-utils-openssl.c
+@@ -14,6 +14,7 @@
+ #include <assert.h>
+
+ #include <openssl/bn.h>
++#include <openssl/crypto.h>
+ #include <openssl/dh.h>
+ #include <openssl/err.h>
+ #include <openssl/evp.h>
+@@ -48,7 +49,12 @@ log_openssl_error (const char * file,
+ static bool strings_loaded = false;
+ if (!strings_loaded)
+ {
++#if OPENSSL_VERSION_NUMBER < 0x10100000
+ ERR_load_crypto_strings ();
++#else
++ OPENSSL_init_crypto (OPENSSL_INIT_LOAD_CRYPTO_STRINGS, NULL);
++#endif
++
+ strings_loaded = true;
+ }
+ #endif
+@@ -230,6 +236,7 @@ tr_rc4_process (tr_rc4_ctx_t handle,
+ ***/
+
+ #if OPENSSL_VERSION_NUMBER < 0x10100000
++
+ static inline int
+ DH_set0_pqg (DH * dh,
+ BIGNUM * p,
+@@ -237,28 +244,29 @@ DH_set0_pqg (DH * dh,
+ BIGNUM * g)
+ {
+ /* If the fields p and g in d are NULL, the corresponding input
+- * parameters MUST be non-NULL. q may remain NULL.
++ * parameters MUST be non-NULL. q may remain NULL.
+ */
+- if ((dh->p == NULL && p == NULL)
+- || (dh->g == NULL && g == NULL))
++ if ((dh->p == NULL && p == NULL) || (dh->g == NULL && g == NULL))
+ return 0;
+
+- if (p != NULL) {
+- BN_free (dh->p);
+- dh->p = p;
+- }
+- if (q != NULL) {
+- BN_free (dh->q);
+- dh->q = q;
+- }
+- if (g != NULL) {
+- BN_free (dh->g);
+- dh->g = g;
+- }
+-
+- if (q != NULL) {
++ if (p != NULL)
++ {
++ BN_free (dh->p);
++ dh->p = p;
++ }
++ if (q != NULL)
++ {
++ BN_free (dh->q);
++ dh->q = q;
++ }
++ if (g != NULL)
++ {
++ BN_free (dh->g);
++ dh->g = g;
++ }
++
++ if (q != NULL)
+ dh->length = BN_num_bits (q);
+- }
+
+ return 1;
+ }
+@@ -267,8 +275,8 @@ static inline int
+ DH_set_length (DH * dh,
+ long length)
+ {
+- dh->length = length;
+- return 1;
++ dh->length = length;
++ return 1;
+ }
+
+ static inline void
+@@ -295,12 +303,11 @@ tr_dh_new (const uint8_t * prime_num,
+
+ assert (prime_num != NULL);
+ assert (generator_num != NULL);
++
+ p = BN_bin2bn (prime_num, prime_num_length, NULL);
+ g = BN_bin2bn (generator_num, generator_num_length, NULL);
+
+- if (!check_pointer (p) ||
+- !check_pointer (g) ||
+- !DH_set0_pqg (handle, p, NULL, g))
++ if (!check_pointer (p) || !check_pointer (g) || !DH_set0_pqg (handle, p, NULL, g))
+ {
+ BN_free (p);
+ BN_free (g);
+@@ -328,20 +335,19 @@ tr_dh_make_key (tr_dh_ctx_t raw_handle,
+ {
+ DH * handle = raw_handle;
+ int dh_size, my_public_key_length;
+- const BIGNUM * hand_pub_key;
++ const BIGNUM * my_public_key;
+
+ assert (handle != NULL);
+ assert (public_key != NULL);
+
+-
+ DH_set_length(handle, private_key_length * 8);
+
+ if (!check_result (DH_generate_key (handle)))
+ return false;
+
+- DH_get0_key (handle, &hand_pub_key, NULL);
++ DH_get0_key (handle, &my_public_key, NULL);
+
+- my_public_key_length = BN_bn2bin (hand_pub_key, public_key);
++ my_public_key_length = BN_bn2bin (my_public_key, public_key);
+ dh_size = DH_size (handle);
+
+ tr_dh_align_key (public_key, my_public_key_length, dh_size);
diff --git a/abs/extra/transmission/transmission-cli.install b/abs/extra/transmission/transmission-cli.install
deleted file mode 100644
index 94a829f..0000000
--- a/abs/extra/transmission/transmission-cli.install
+++ /dev/null
@@ -1,17 +0,0 @@
-post_install() {
- cat << _EOF
-
- If you want to run the Transmission daemon at boot do:
- systemctl enable transmissiond
-_EOF
-
-post_upgrade
-passwd -l transmission &>/dev/null
-}
-
-post_upgrade() {
- # create user/group that the daemon will run as by default, do not delete this on uninstall, as it will own files
- getent group transmission >/dev/null || groupadd -g 169 transmission
- getent passwd transmission >/dev/null || useradd -c 'Transmission BitTorrent Client' -u 169 -g transmission -b '/var/lib' -m -s /bin/false transmission
- systemd-tmpfiles --create transmission.conf
-}
diff --git a/abs/extra/transmission/transmission-cli.sysusers b/abs/extra/transmission/transmission-cli.sysusers
new file mode 100644
index 0000000..a972f6c
--- /dev/null
+++ b/abs/extra/transmission/transmission-cli.sysusers
@@ -0,0 +1 @@
+u transmission 169 "Transmission BitTorrent Daemon" /var/lib/transmission
diff --git a/abs/extra/transmission/transmission-cli.tmpfiles b/abs/extra/transmission/transmission-cli.tmpfiles
new file mode 100644
index 0000000..85d5a92
--- /dev/null
+++ b/abs/extra/transmission/transmission-cli.tmpfiles
@@ -0,0 +1 @@
+d /var/lib/transmission 0750 transmission transmission
diff --git a/abs/extra/transmission/transmission-gtk.install b/abs/extra/transmission/transmission-gtk.install
deleted file mode 100644
index c317fba..0000000
--- a/abs/extra/transmission/transmission-gtk.install
+++ /dev/null
@@ -1,12 +0,0 @@
-post_install() {
- update-desktop-database -q
- gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
-}
-
-post_upgrade() {
- post_install
-}
-
-post_remove() {
- post_install
-}
diff --git a/abs/extra/transmission/transmission-qt.install b/abs/extra/transmission/transmission-qt.install
deleted file mode 100644
index e111ef9..0000000
--- a/abs/extra/transmission/transmission-qt.install
+++ /dev/null
@@ -1,11 +0,0 @@
-post_install() {
- update-desktop-database -q
-}
-
-post_upgrade() {
- post_install
-}
-
-post_remove() {
- post_install
-}
diff --git a/abs/extra/transmission/transmission.systemd b/abs/extra/transmission/transmission.systemd
deleted file mode 100644
index 56ab8f7..0000000
--- a/abs/extra/transmission/transmission.systemd
+++ /dev/null
@@ -1,14 +0,0 @@
-[Unit]
-Description=Transmission Bit Torrent Daemon
-
-# This assumes that a user 'transmission' exists, with a writeable homedirectory,
-# and that /run/transmission exists and is writeable by the transmission user.
-
-[Service]
-User=transmission
-Type=forking
-PIDFile=/run/transmission/transmission.pid
-ExecStart=/usr/bin/transmission-daemon --pid-file /run/transmission/transmission.pid
-
-[Install]
-WantedBy=multi-user.target
diff --git a/abs/extra/transmission/transmission.tmpfiles b/abs/extra/transmission/transmission.tmpfiles
deleted file mode 100644
index b603066..0000000
--- a/abs/extra/transmission/transmission.tmpfiles
+++ /dev/null
@@ -1 +0,0 @@
-d /run/transmission - transmission transmission -
diff --git a/abs/extra/transmission/transmissiond b/abs/extra/transmission/transmissiond
deleted file mode 100644
index ea3d770..0000000
--- a/abs/extra/transmission/transmissiond
+++ /dev/null
@@ -1,46 +0,0 @@
-#!/bin/bash
-
-. /etc/rc.conf
-. /etc/rc.d/functions
-. /etc/conf.d/transmissiond
-
-PID=`pidof -o %PPID /usr/bin/transmission-daemon`
-case "$1" in
- start)
- stat_busy "Starting Transmission Daemon"
- [ -z "$PID" ] && su -l -s /bin/sh -c "/usr/bin/transmission-daemon $TRANS_ARGS" "${TRANS_USER:-transmission}"
- if [ $? -gt 0 ]; then
- stat_fail
- else
- add_daemon transmissiond
- stat_done
- fi
- ;;
- stop)
- stat_busy "Stopping Transmission Daemon"
- [ ! -z "$PID" ] && kill $PID &> /dev/null
- if [ $? -gt 0 ]; then
- stat_fail
- else
- rm_daemon transmissiond
- stat_done
- fi
- ;;
- restart)
- $0 stop
- while [ ! -z "$PID" -a -d "/proc/$PID" ]; do sleep 1; done
- $0 start
- ;;
- reload)
- stat_busy "Reloading config"
- [ ! -z "$PID" ] && kill -HUP $PID &> /dev/null
- if [ $? -gt 0 ]; then
- stat_fail
- else
- stat_done
- fi
- ;;
- *)
- echo "usage: $0 {start|stop|restart|reload}"
-esac
-exit 0
diff --git a/abs/extra/transmission/transmissiond.conf b/abs/extra/transmission/transmissiond.conf
deleted file mode 100644
index 45a9fd5..0000000
--- a/abs/extra/transmission/transmissiond.conf
+++ /dev/null
@@ -1,4 +0,0 @@
-# example configuration file
-
-# TRANS_USER="transmission"
-# TRANS_ARGS=""
diff --git a/abs/extra/web-on-linhes/PKGBUILD b/abs/extra/web-on-linhes/PKGBUILD
index 660efb5..0a28e81 100644
--- a/abs/extra/web-on-linhes/PKGBUILD
+++ b/abs/extra/web-on-linhes/PKGBUILD
@@ -3,7 +3,7 @@
pkgname=web-on-linhes
pkgver=1.3
-pkgrel=2
+pkgrel=3
pkgdesc="Added multiple websites with 10' UIs to Play Online Streams."
arch=('i686' 'x86_64')
license=('GPL2')
@@ -19,5 +19,5 @@ package() {
#add in file for gen_is.xml
install -D -m0744 ${srcdir}/web-on-linhes_is.conf ${pkgdir}/etc/gen_is_xml.d/web-on-linhes_is.conf
}
-md5sums=('c38cbf334b0b6c35a1fd49da9924a0f5'
- '475addc194b389ecc4bc5cde3aa5a8ea')
+md5sums=('3691faa7118ac1251c959d3bcfcba85f'
+ '61cafa7e7a11b1387202b6ef908105a7')
diff --git a/abs/extra/web-on-linhes/web-on-linhes.sh b/abs/extra/web-on-linhes/web-on-linhes.sh
index 115d0b0..48414e9 100644
--- a/abs/extra/web-on-linhes/web-on-linhes.sh
+++ b/abs/extra/web-on-linhes/web-on-linhes.sh
@@ -7,6 +7,7 @@ irxPID=$!
stop_xss.sh &
xssPID=$!
#Launches chrome in full screen
+(sleep 1; wmctrl -r "Google Chrome" -b add,fullscreen) &
google-chrome --no-first-run --kiosk $@
#Once done, stops irxevent and stop_xss.sh
kill $irxPID
diff --git a/abs/extra/web-on-linhes/web-on-linhes_is.conf b/abs/extra/web-on-linhes/web-on-linhes_is.conf
index 27d0dcb..982bd8e 100755
--- a/abs/extra/web-on-linhes/web-on-linhes_is.conf
+++ b/abs/extra/web-on-linhes/web-on-linhes_is.conf
@@ -9,14 +9,6 @@
<!--#WebOnTV-->
<button>
<type>STREAM</type>
- <text>Google Spotlight</text>
- <action>EXEC /usr/LH/bin/web-on-linhes.sh http://www.google.com/tv/spotlight-gallery.html</action>
- </button>
- <!--#WebOnTV-->
-
- <!--#WebOnTV-->
- <button>
- <type>STREAM</type>
<text>PBS Kids</text>
<action>EXEC /usr/LH/bin/web-on-linhes.sh http://pbskids.org/video/</action>
</button>