enen92 / screensaver.atv4

Apple aerial screensavers (apple tv 4) for Kodi
GNU General Public License v2.0
52 stars 10 forks source link

DPMS option to stop screensaver/toggle display off via "Kodi" does not work #18

Closed graysky2 closed 7 years ago

graysky2 commented 7 years ago

The screensaver continues playing the file which keeps the screen from entering power saving mode. Using v17 RC3 with https://github.com/enen92/screensaver.atv4/commit/2687e37c7751f1bbb6b29c03de370772be35468f modified having line 47 commented out.

Settings>system settings>power saving>put display to sleep when idle = 5 min
Settings>interface>screensaver>aerial>aerial screensavers>DPMS = Kodi
Settings>interface>screensaver>aerial>aerial screensavers>Toggle display off = Yes

I can post a debug log if you want.

EDIT: It also does not work in manual mode:

Settings>system settings>power saving>put display to sleep when idle = off
Settings>interface>screensaver>aerial>aerial screensavers>DPMS = Manual
Settings>interface>screensaver>aerial>aerial screensavers>5 min
Settings>interface>screensaver>aerial>aerial screensavers>Toggle display off = Yes
enen92 commented 7 years ago

Need to add a few debug log entries for you to provide me a debug log. Will get in touch later

graysky2 commented 7 years ago

I will provide one shortly, thanks. Does it work for you?

enen92 commented 7 years ago

Nop, the code has to include some debug logging calls. Will push a commit soon

graysky2 commented 7 years ago

OK. I will wait; please post to this ticket so I know when to do it and thanks!

enen92 commented 7 years ago

Can you please enable the power saving setting on your raspberry pi (set it to 5 min or so) and provide me the response of these two json-rpc calls? (need the webserver enabled in settings -> services):

1) http://kodi-ip:kodi-port/jsonrpc?request={"jsonrpc":"2.0","method":"Settings.GetSettingValue","params":{"setting":"powermanagement.displaysoff"},"id":2}

2) http://kodi-ip:kodi-port/jsonrpc?request={"jsonrpc":"2.0","method":"Settings.GetSettings","params":{"level":"expert"},"id":3}

Probably the setting the PI uses for DPMS is different from the one on my osx machine.

graysky2 commented 7 years ago

@enen92 - I am not running kodi with your screensaver on a RPi... this is a x86_64 box. Does that matter?

enen92 commented 7 years ago

Oh I thought it was arch arm :) . But it is the same for me, probably the setting for DPMS is different

graysky2 commented 7 years ago

Let me know what you need me to do on the x86_64 box (this bug report applies to that architecture/have not tested on RPi).

enen92 commented 7 years ago

Give me the result of those two json-rpc calls. I will adjust the plugin (if I find the correct setting from your data) and add a few debug entries so the debug log has a few more info. After the json-rpc results I will ask you for a debug log

graysky2 commented 7 years ago

OK. I have the latest version from you master branch.

Those http calls are as follows:

1 returned {"id":2,"jsonrpc":"2.0","result":{"value":30}}

2 returned {"id":3,"jsonrpc":"2.0","result":{"settings":[{"addontype":"xbmc.gui.skin","allowempty":false,"control":{"delayed":false,"format":"addon","type":"button"},"default":"skin.estuary","enabled":true,"help":"Select the skin for the user interface. This will define the look and feel of the application.","id":"lookandfeel.skin","label":"Skin","level":"basic","parent":"","type":"addon","value":"skin.estuary"},{"control":{"delayed":false,"format":"action","type":"button"},"enabled":true,"help":"Select to change the skin specific settings. Which options are available for configuration depends on the features provided by the skin.","id":"lookandfeel.skinsettings","label":"Configure skin...","level":"basic","parent":"lookandfeel.skin","type":"action"},{"allowempty":false,"control":{"delayed":false,"format":"string","multiselect":false,"type":"list"},"default":"SKINDEFAULT","enabled":true,"help":"Change the theme associated with your selected skin.","id":"lookandfeel.skintheme","label":"Theme","level":"standard","options":[{"label":"Skin default","value":"SKINDEFAULT"},{"label":"curial","value":"curial"},{"label":"flat","value":"flat"}],"parent":"lookandfeel.skin","type":"string","value":"SKINDEFAULT"},{"allowempty":false,"control":{"delayed":false,"format":"string","multiselect":false,"type":"list"},"default":"SKINDEFAULT","enabled":true,"help":"Change the colours of your selected skin.","id":"lookandfeel.skincolors","label":"Colours","level":"standard","options":[{"label":"Skin default","value":"SKINDEFAULT"},{"label":"brown","value":"brown"},{"label":"charcoal","value":"charcoal"},{"label":"chartreuse","value":"chartreuse"},{"label":"concrete","value":"concrete"},{"label":"gold","value":"gold"},{"label":"green","value":"green"},{"label":"maroon","value":"maroon"},{"label":"midnight","value":"midnight"},{"label":"orange","value":"orange"},{"label":"pink","value":"pink"},{"label":"rose","value":"rose"},{"label":"teal","value":"teal"},{"label":"violet","value":"violet"}],"parent":"lookandfeel.skin","type":"string","value":"SKINDEFAULT"},{"allowempty":false,"control":{"delayed":false,"format":"string","multiselect":false,"type":"list"},"default":"Default","enabled":true,"help":"Choose the fonts displayed in the user interface. The font sets are configured by your skin.","id":"lookandfeel.font","label":"Fonts","level":"standard","options":[{"label":"Skin default","value":"Default"},{"label":"Arial based","value":"Arial"}],"parent":"lookandfeel.skin","type":"string","value":"Default"},{"control":{"delayed":false,"format":"string","formatlabel":"%i %%","type":"spinner"},"default":0,"enabled":true,"help":"Resize the view of the user interface.","id":"lookandfeel.skinzoom","label":"Zoom","level":"standard","maximum":30,"minimum":-30,"parent":"lookandfeel.skin","step":2,"type":"integer","value":0},{"control":{"delayed":false,"format":"string","type":"spinner"},"default":5,"enabled":true,"help":"Defines the strength of the stereoscopic 3D effect in the GUI. This is done by controlling the depth of perception within the GUI, so the higher the value, the more elements will pop out of the screen. [Zero] Disables the stereoscopic 3D effect of the GUI.[CR]For a good visual experience, the value should be higher for small screens and lower for large screens. Note: this is not supported by all skins.","id":"lookandfeel.stereostrength","label":"Stereoscopic 3D effect strength","level":"advanced","maximum":10,"minimum":0,"parent":"","step":1,"type":"integer","value":5},{"addontype":"kodi.resource.language","allowempty":false,"control":{"delayed":false,"format":"addon","type":"button"},"default":"resource.language.en_gb","enabled":true,"help":"Chooses the language of the user interface.","id":"locale.language","label":"Language","level":"basic","parent":"","type":"addon","value":"resource.language.en_gb"},{"allowempty":false,"control":{"delayed":false,"format":"string","multiselect":false,"type":"list"},"default":"DEFAULT","enabled":true,"help":"Choose which character set is used for displaying text in the user interface. This doesn't change the character set used for subtitles, for that go to Player > Language.","id":"locale.charset","label":"Character set","level":"standard","options":[{"label":"Default","value":"DEFAULT"},{"label":"Arabic (ISO)","value":"ISO-8859-6"},{"label":"Arabic (Windows)","value":"CP1256"},{"label":"Baltic (ISO)","value":"ISO-8859-4"},{"label":"Baltic (Windows)","value":"CP1257"},{"label":"Central Europe (ISO)","value":"ISO-8859-2"},{"label":"Central Europe (Windows)","value":"CP1250"},{"label":"Chinese Simplified (GBK)","value":"GBK"},{"label":"Chinese Traditional (Big5)","value":"BIG5"},{"label":"Cyrillic (ISO)","value":"ISO-8859-5"},{"label":"Cyrillic (Windows)","value":"CP1251"},{"label":"Greek (ISO)","value":"ISO-8859-7"},{"label":"Greek (Windows)","value":"CP1253"},{"label":"Hebrew (ISO)","value":"ISO-8859-8"},{"label":"Hebrew (Windows)","value":"CP1255"},{"label":"Hong Kong (Big5-HKSCS)","value":"BIG5-HKSCS"},{"label":"Japanese (Shift-JIS)","value":"SHIFT_JIS"},{"label":"Korean","value":"CP949"},{"label":"South Europe (ISO)","value":"ISO-8859-3"},{"label":"Thai (Windows)","value":"CP874"},{"label":"Turkish (ISO)","value":"ISO-8859-9"},{"label":"Turkish (Windows)","value":"CP1254"},{"label":"Vietnamesse (Windows)","value":"CP1258"},{"label":"Western Europe (ISO)","value":"ISO-8859-1"},{"label":"Western Europe (Windows)","value":"CP1252"}],"parent":"","type":"string","value":"DEFAULT"},{"control":{"delayed":false,"format":"string","multiselect":true,"type":"list"},"default":["English QWERTY"],"definition":{"allowempty":false,"control":{"delayed":false,"format":"string","multiselect":true,"type":"list"},"default":"English QWERTY","enabled":true,"help":"Select virtual keyboard layouts.","id":"locale.keyboardlayouts.definition","label":"Keyboard layouts","level":"basic","options":[{"label":"Arabic QWERTY","value":"Arabic QWERTY"},{"label":"Bulgarian АБВ","value":"Bulgarian АБВ"},{"label":"Bulgarian ЯВЕРТЪ","value":"Bulgarian ЯВЕРТЪ"},{"label":"Chinese BaiduPY","value":"Chinese BaiduPY"},{"label":"Chinese BasePY","value":"Chinese BasePY"},{"label":"Croatian QWERTY","value":"Croatian QWERTY"},{"label":"Czech QWERTZ","value":"Czech QWERTZ"},{"label":"Danish QWERTY","value":"Danish QWERTY"},{"label":"English ABC","value":"English ABC"},{"label":"English AZERTY","value":"English AZERTY"},{"label":"English QWERTY","value":"English QWERTY"},{"label":"French AZERTY","value":"French AZERTY"},{"label":"German ABC","value":"German ABC"},{"label":"German QWERTZ","value":"German QWERTZ"},{"label":"Greek QWERTY","value":"Greek QWERTY"},{"label":"Hebrew ABC","value":"Hebrew ABC"},{"label":"Hebrew QWERTY","value":"Hebrew QWERTY"},{"label":"Hungarian QWERTZ","value":"Hungarian QWERTZ"},{"label":"Italian QWERTY","value":"Italian QWERTY"},{"label":"Korean ㄱㄴㄷ","value":"Korean ㄱㄴㄷ"},{"label":"Lithuanian AZERTY","value":"Lithuanian AZERTY"},{"label":"Lithuanian QWERTY","value":"Lithuanian QWERTY"},{"label":"Norwegian QWERTY","value":"Norwegian QWERTY"},{"label":"Polish QWERTY","value":"Polish QWERTY"},{"label":"Portuguese (Portugal) QWERTY","value":"Portuguese (Portugal) QWERTY"},{"label":"Romanian QWERTY","value":"Romanian QWERTY"},{"label":"Russian АБВ","value":"Russian АБВ"},{"label":"Russian ЙЦУКЕН","value":"Russian ЙЦУКЕН"},{"label":"Silesian QWERTY","value":"Silesian QWERTY"},{"label":"Slovak ABC","value":"Slovak ABC"},{"label":"Slovak QWERTY","value":"Slovak QWERTY"},{"label":"Slovak QWERTZ","value":"Slovak QWERTZ"},{"label":"Spanish QWERTY","value":"Spanish QWERTY"},{"label":"Swedish QWERTY","value":"Swedish QWERTY"},{"label":"Turkish QWERTY","value":"Turkish QWERTY"},{"label":"Ukrainian АБВ","value":"Ukrainian АБВ"},{"label":"Ukrainian ЙЦУКЕН","value":"Ukrainian ЙЦУКЕН"}],"parent":"","type":"string","value":"English QWERTY"},"delimiter":"|","elementtype":"string","enabled":true,"help":"Select virtual keyboard layouts.","id":"locale.keyboardlayouts","label":"Keyboard layouts","level":"basic","maximumItems":3,"minimumItems":1,"parent":"","type":"list","value":["English QWERTY"]},{"allowempty":false,"control":{"delayed":false,"format":"string","multiselect":false,"type":"list"},"default":"USA (12h)","enabled":true,"help":"Select the formats for temperature, time and date. The available options depend on the selected language.","id":"locale.country","label":"Region default format","level":"basic","options":[{"label":"Australia (12h)","value":"Australia (12h)"},{"label":"Australia (24h)","value":"Australia (24h)"},{"label":"Canada","value":"Canada"},{"label":"Central Europe","value":"Central Europe"},{"label":"India (12h)","value":"India (12h)"},{"label":"India (24h)","value":"India (24h)"},{"label":"UK (12h)","value":"UK (12h)"},{"label":"UK (24h)","value":"UK (24h)"},{"label":"USA (12h)","value":"USA (12h)"},{"label":"USA (24h)","value":"USA (24h)"}],"parent":"","type":"string","value":"USA (12h)"},{"allowempty":false,"control":{"delayed":false,"format":"string","multiselect":false,"type":"list"},"default":"","enabled":true,"help":"Select country location.","id":"locale.timezonecountry","label":"Timezone country","level":"standard","options":[{"label":"Afghanistan","value":"Afghanistan"},{"label":"Albania","value":"Albania"},{"label":"Algeria","value":"Algeria"},{"label":"Andorra","value":"Andorra"},{"label":"Angola","value":"Angola"},{"label":"Anguilla","value":"Anguilla"},{"label":"Antarctica","value":"Antarctica"},{"label":"Antigua & Barbuda","value":"Antigua & Barbuda"},{"label":"Argentina","value":"Argentina"},{"label":"Armenia","value":"Armenia"},{"label":"Aruba","value":"Aruba"},{"label":"Australia","value":"Australia"},{"label":"Austria","value":"Austria"},{"label":"Azerbaijan","value":"Azerbaijan"},{"label":"Bahamas","value":"Bahamas"},{"label":"Bahrain","value":"Bahrain"},{"label":"Bangladesh","value":"Bangladesh"},{"label":"Barbados","value":"Barbados"},{"label":"Belarus","value":"Belarus"},{"label":"Belgium","value":"Belgium"},{"label":"Belize","value":"Belize"},{"label":"Benin","value":"Benin"},{"label":"Bermuda","value":"Bermuda"},{"label":"Bhutan","value":"Bhutan"},{"label":"Bolivia","value":"Bolivia"},{"label":"Bosnia & Herzegovina","value":"Bosnia & Herzegovina"},{"label":"Botswana","value":"Botswana"},{"label":"Bouvet Island","value":"Bouvet Island"},{"label":"Brazil","value":"Brazil"},{"label":"Britain (UK)","value":"Britain (UK)"},{"label":"British Indian Ocean Territory","value":"British Indian Ocean Territory"},{"label":"Brunei","value":"Brunei"},{"label":"Bulgaria","value":"Bulgaria"},{"label":"Burkina Faso","value":"Burkina Faso"},{"label":"Burundi","value":"Burundi"},{"label":"Cambodia","value":"Cambodia"},{"label":"Cameroon","value":"Cameroon"},{"label":"Canada","value":"Canada"},{"label":"Cape Verde","value":"Cape Verde"},{"label":"Caribbean NL","value":"Caribbean NL"},{"label":"Cayman Islands","value":"Cayman Islands"},{"label":"Central African Rep.","value":"Central African Rep."},{"label":"Chad","value":"Chad"},{"label":"Chile","value":"Chile"},{"label":"China","value":"China"},{"label":"Christmas Island","value":"Christmas Island"},{"label":"Cocos (Keeling) Islands","value":"Cocos (Keeling) Islands"},{"label":"Colombia","value":"Colombia"},{"label":"Comoros","value":"Comoros"},{"label":"Congo (Dem. Rep.)","value":"Congo (Dem. Rep.)"},{"label":"Congo (Rep.)","value":"Congo (Rep.)"},{"label":"Cook Islands","value":"Cook Islands"},{"label":"Costa Rica","value":"Costa Rica"},{"label":"Croatia","value":"Croatia"},{"label":"Cuba","value":"Cuba"},{"label":"Curaçao","value":"Curaçao"},{"label":"Cyprus","value":"Cyprus"},{"label":"Czech Republic","value":"Czech Republic"},{"label":"Côte d'Ivoire","value":"Côte d'Ivoire"},{"label":"Denmark","value":"Denmark"},{"label":"Djibouti","value":"Djibouti"},{"label":"Dominica","value":"Dominica"},{"label":"Dominican Republic","value":"Dominican Republic"},{"label":"East Timor","value":"East Timor"},{"label":"Ecuador","value":"Ecuador"},{"label":"Egypt","value":"Egypt"},{"label":"El Salvador","value":"El Salvador"},{"label":"Equatorial Guinea","value":"Equatorial Guinea"},{"label":"Eritrea","value":"Eritrea"},{"label":"Estonia","value":"Estonia"},{"label":"Ethiopia","value":"Ethiopia"},{"label":"Falkland Islands","value":"Falkland Islands"},{"label":"Faroe Islands","value":"Faroe Islands"},{"label":"Fiji","value":"Fiji"},{"label":"Finland","value":"Finland"},{"label":"France","value":"France"},{"label":"French Guiana","value":"French Guiana"},{"label":"French Polynesia","value":"French Polynesia"},{"label":"French Southern & Antarctic Lands","value":"French Southern & Antarctic Lands"},{"label":"Gabon","value":"Gabon"},{"label":"Gambia","value":"Gambia"},{"label":"Georgia","value":"Georgia"},{"label":"Germany","value":"Germany"},{"label":"Ghana","value":"Ghana"},{"label":"Gibraltar","value":"Gibraltar"},{"label":"Greece","value":"Greece"},{"label":"Greenland","value":"Greenland"},{"label":"Grenada","value":"Grenada"},{"label":"Guadeloupe","value":"Guadeloupe"},{"label":"Guam","value":"Guam"},{"label":"Guatemala","value":"Guatemala"},{"label":"Guernsey","value":"Guernsey"},{"label":"Guinea","value":"Guinea"},{"label":"Guinea-Bissau","value":"Guinea-Bissau"},{"label":"Guyana","value":"Guyana"},{"label":"Haiti","value":"Haiti"},{"label":"Heard Island & McDonald Islands","value":"Heard Island & McDonald Islands"},{"label":"Honduras","value":"Honduras"},{"label":"Hong Kong","value":"Hong Kong"},{"label":"Hungary","value":"Hungary"},{"label":"Iceland","value":"Iceland"},{"label":"India","value":"India"},{"label":"Indonesia","value":"Indonesia"},{"label":"Iran","value":"Iran"},{"label":"Iraq","value":"Iraq"},{"label":"Ireland","value":"Ireland"},{"label":"Isle of Man","value":"Isle of Man"},{"label":"Israel","value":"Israel"},{"label":"Italy","value":"Italy"},{"label":"Jamaica","value":"Jamaica"},{"label":"Japan","value":"Japan"},{"label":"Jersey","value":"Jersey"},{"label":"Jordan","value":"Jordan"},{"label":"Kazakhstan","value":"Kazakhstan"},{"label":"Kenya","value":"Kenya"},{"label":"Kiribati","value":"Kiribati"},{"label":"Korea (North)","value":"Korea (North)"},{"label":"Korea (South)","value":"Korea (South)"},{"label":"Kuwait","value":"Kuwait"},{"label":"Kyrgyzstan","value":"Kyrgyzstan"},{"label":"Laos","value":"Laos"},{"label":"Latvia","value":"Latvia"},{"label":"Lebanon","value":"Lebanon"},{"label":"Lesotho","value":"Lesotho"},{"label":"Liberia","value":"Liberia"},{"label":"Libya","value":"Libya"},{"label":"Liechtenstein","value":"Liechtenstein"},{"label":"Lithuania","value":"Lithuania"},{"label":"Luxembourg","value":"Luxembourg"},{"label":"Macau","value":"Macau"},{"label":"Macedonia","value":"Macedonia"},{"label":"Madagascar","value":"Madagascar"},{"label":"Malawi","value":"Malawi"},{"label":"Malaysia","value":"Malaysia"},{"label":"Maldives","value":"Maldives"},{"label":"Mali","value":"Mali"},{"label":"Malta","value":"Malta"},{"label":"Marshall Islands","value":"Marshall Islands"},{"label":"Martinique","value":"Martinique"},{"label":"Mauritania","value":"Mauritania"},{"label":"Mauritius","value":"Mauritius"},{"label":"Mayotte","value":"Mayotte"},{"label":"Mexico","value":"Mexico"},{"label":"Micronesia","value":"Micronesia"},{"label":"Moldova","value":"Moldova"},{"label":"Monaco","value":"Monaco"},{"label":"Mongolia","value":"Mongolia"},{"label":"Montenegro","value":"Montenegro"},{"label":"Montserrat","value":"Montserrat"},{"label":"Morocco","value":"Morocco"},{"label":"Mozambique","value":"Mozambique"},{"label":"Myanmar (Burma)","value":"Myanmar (Burma)"},{"label":"Namibia","value":"Namibia"},{"label":"Nauru","value":"Nauru"},{"label":"Nepal","value":"Nepal"},{"label":"Netherlands","value":"Netherlands"},{"label":"New Caledonia","value":"New Caledonia"},{"label":"New Zealand","value":"New Zealand"},{"label":"Nicaragua","value":"Nicaragua"},{"label":"Niger","value":"Niger"},{"label":"Nigeria","value":"Nigeria"},{"label":"Niue","value":"Niue"},{"label":"Norfolk Island","value":"Norfolk Island"},{"label":"Northern Mariana Islands","value":"Northern Mariana Islands"},{"label":"Norway","value":"Norway"},{"label":"Oman","value":"Oman"},{"label":"Pakistan","value":"Pakistan"},{"label":"Palau","value":"Palau"},{"label":"Palestine","value":"Palestine"},{"label":"Panama","value":"Panama"},{"label":"Papua New Guinea","value":"Papua New Guinea"},{"label":"Paraguay","value":"Paraguay"},{"label":"Peru","value":"Peru"},{"label":"Philippines","value":"Philippines"},{"label":"Pitcairn","value":"Pitcairn"},{"label":"Poland","value":"Poland"},{"label":"Portugal","value":"Portugal"},{"label":"Puerto Rico","value":"Puerto Rico"},{"label":"Qatar","value":"Qatar"},{"label":"Romania","value":"Romania"},{"label":"Russia","value":"Russia"},{"label":"Rwanda","value":"Rwanda"},{"label":"Réunion","value":"Réunion"},{"label":"Samoa (American)","value":"Samoa (American)"},{"label":"Samoa (western)","value":"Samoa (western)"},{"label":"San Marino","value":"San Marino"},{"label":"Sao Tome & Principe","value":"Sao Tome & Principe"},{"label":"Saudi Arabia","value":"Saudi Arabia"},{"label":"Senegal","value":"Senegal"},{"label":"Serbia","value":"Serbia"},{"label":"Seychelles","value":"Seychelles"},{"label":"Sierra Leone","value":"Sierra Leone"},{"label":"Singapore","value":"Singapore"},{"label":"Slovakia","value":"Slovakia"},{"label":"Slovenia","value":"Slovenia"},{"label":"Solomon Islands","value":"Solomon Islands"},{"label":"Somalia","value":"Somalia"},{"label":"South Africa","value":"South Africa"},{"label":"South Georgia & the South Sandwich Islands","value":"South Georgia & the South Sandwich Islands"},{"label":"South Sudan","value":"South Sudan"},{"label":"Spain","value":"Spain"},{"label":"Sri Lanka","value":"Sri Lanka"},{"label":"St Barthelemy","value":"St Barthelemy"},{"label":"St Helena","value":"St Helena"},{"label":"St Kitts & Nevis","value":"St Kitts & Nevis"},{"label":"St Lucia","value":"St Lucia"},{"label":"St Maarten (Dutch)","value":"St Maarten (Dutch)"},{"label":"St Martin (French)","value":"St Martin (French)"},{"label":"St Pierre & Miquelon","value":"St Pierre & Miquelon"},{"label":"St Vincent","value":"St Vincent"},{"label":"Sudan","value":"Sudan"},{"label":"Suriname","value":"Suriname"},{"label":"Svalbard & Jan Mayen","value":"Svalbard & Jan Mayen"},{"label":"Swaziland","value":"Swaziland"},{"label":"Sweden","value":"Sweden"},{"label":"Switzerland","value":"Switzerland"},{"label":"Syria","value":"Syria"},{"label":"Taiwan","value":"Taiwan"},{"label":"Tajikistan","value":"Tajikistan"},{"label":"Tanzania","value":"Tanzania"},{"label":"Thailand","value":"Thailand"},{"label":"Togo","value":"Togo"},{"label":"Tokelau","value":"Tokelau"},{"label":"Tonga","value":"Tonga"},{"label":"Trinidad & Tobago","value":"Trinidad & Tobago"},{"label":"Tunisia","value":"Tunisia"},{"label":"Turkey","value":"Turkey"},{"label":"Turkmenistan","value":"Turkmenistan"},{"label":"Turks & Caicos Is","value":"Turks & Caicos Is"},{"label":"Tuvalu","value":"Tuvalu"},{"label":"Uganda","value":"Uganda"},{"label":"Ukraine","value":"Ukraine"},{"label":"United Arab Emirates","value":"United Arab Emirates"},{"label":"United States","value":"United States"},{"label":"Uruguay","value":"Uruguay"},{"label":"US minor outlying islands","value":"US minor outlying islands"},{"label":"Uzbekistan","value":"Uzbekistan"},{"label":"Vanuatu","value":"Vanuatu"},{"label":"Vatican City","value":"Vatican City"},{"label":"Venezuela","value":"Venezuela"},{"label":"Vietnam","value":"Vietnam"},{"label":"Virgin Islands (UK)","value":"Virgin Islands (UK)"},{"label":"Virgin Islands (US)","value":"Virgin Islands (US)"},{"label":"Wallis & Futuna","value":"Wallis & Futuna"},{"label":"Western Sahara","value":"Western Sahara"},{"label":"Yemen","value":"Yemen"},{"label":"Zambia","value":"Zambia"},{"label":"Zimbabwe","value":"Zimbabwe"},{"label":"Åland Islands","value":"Åland Islands"}],"parent":"","type":"string","value":"United States"},{"allowempty":false,"control":{"delayed":false,"format":"string","multiselect":false,"type":"list"},"default":"","enabled":true,"help":"Select your current timezone.","id":"locale.timezone","label":"Timezone","level":"standard","options":[{"label":"America/New_York","value":"America/New_York"},{"label":"America/Detroit","value":"America/Detroit"},{"label":"America/Kentucky/Louisville","value":"America/Kentucky/Louisville"},{"label":"America/Kentucky/Monticello","value":"America/Kentucky/Monticello"},{"label":"America/Indiana/Indianapolis","value":"America/Indiana/Indianapolis"},{"label":"America/Indiana/Vincennes","value":"America/Indiana/Vincennes"},{"label":"America/Indiana/Winamac","value":"America/Indiana/Winamac"},{"label":"America/Indiana/Marengo","value":"America/Indiana/Marengo"},{"label":"America/Indiana/Petersburg","value":"America/Indiana/Petersburg"},{"label":"America/Indiana/Vevay","value":"America/Indiana/Vevay"},{"label":"America/Chicago","value":"America/Chicago"},{"label":"America/Indiana/Tell_City","value":"America/Indiana/Tell_City"},{"label":"America/Indiana/Knox","value":"America/Indiana/Knox"},{"label":"America/Menominee","value":"America/Menominee"},{"label":"America/North_Dakota/Center","value":"America/North_Dakota/Center"},{"label":"America/North_Dakota/New_Salem","value":"America/North_Dakota/New_Salem"},{"label":"America/North_Dakota/Beulah","value":"America/North_Dakota/Beulah"},{"label":"America/Denver","value":"America/Denver"},{"label":"America/Boise","value":"America/Boise"},{"label":"America/Phoenix","value":"America/Phoenix"},{"label":"America/Los_Angeles","value":"America/Los_Angeles"},{"label":"America/Anchorage","value":"America/Anchorage"},{"label":"America/Juneau","value":"America/Juneau"},{"label":"America/Sitka","value":"America/Sitka"},{"label":"America/Metlakatla","value":"America/Metlakatla"},{"label":"America/Yakutat","value":"America/Yakutat"},{"label":"America/Nome","value":"America/Nome"},{"label":"America/Adak","value":"America/Adak"},{"label":"Pacific/Honolulu","value":"Pacific/Honolulu"}],"parent":"","type":"string","value":"America/Detroit"},{"allowempty":false,"control":{"delayed":false,"format":"string","multiselect":false,"type":"list"},"default":"regional","enabled":true,"help":"Choose which short date format is used for displaying the date in the user interface.","id":"locale.shortdateformat","label":"Short date format","level":"advanced","options":[{"label":"Regional (01/28/2017)","value":"regional"},{"label":"28/01/2017","value":"DD/MM/YYYY"},{"label":"01/28/2017","value":"MM/DD/YYYY"},{"label":"2017/01/28","value":"YYYY/MM/DD"},{"label":"28/1/2017","value":"D/M/YYYY"},{"label":"28-01-2017","value":"DD-MM-YYYY"},{"label":"01-28-2017","value":"MM-DD-YYYY"},{"label":"2017-01-28","value":"YYYY-MM-DD"},{"label":"2017-1-28","value":"YYYY-M-D"},{"label":"28.01.2017","value":"DD.MM.YYYY"},{"label":"28.1.2017","value":"DD.M.YYYY"},{"label":"28.1.2017","value":"D.M.YYYY"},{"label":"28. 1. 2017","value":"D. M. YYYY"},{"label":"2017.01.28","value":"YYYY.MM.DD"}],"parent":"","type":"string","value":"regional"},{"allowempty":false,"control":{"delayed":false,"format":"string","multiselect":false,"type":"list"},"default":"regional","enabled":true,"help":"Choose which long date format is used for displaying the date in the user interface.","id":"locale.longdateformat","label":"Long date format","level":"advanced","options":[{"label":"Regional (Saturday, January 28, 2017)","value":"regional"},{"label":"Saturday, 28 January 2017","value":"DDDD, D MMMM YYYY"},{"label":"Saturday, 28 January 2017","value":"DDDD, DD MMMM YYYY"},{"label":"Saturday, 28. January 2017","value":"DDDD, D. MMMM YYYY"},{"label":"Saturday, 28. January 2017","value":"DDDD, DD. MMMM YYYY"},{"label":"Saturday, January 28, 2017","value":"DDDD, MMMM D, YYYY"},{"label":"Saturday, January 28, 2017","value":"DDDD, MMMM DD, YYYY"},{"label":"Saturday 28 January 2017","value":"DDDD D MMMM YYYY"},{"label":"Saturday 28 January 2017","value":"DDDD DD MMMM YYYY"},{"label":"Saturday 28. January 2017","value":"DDDD D. MMMM YYYY"},{"label":"Saturday 28. January 2017","value":"DDDD DD. MMMM YYYY"},{"label":"28. January 2017","value":"D. MMMM YYYY"},{"label":"28. January 2017","value":"DD. MMMM YYYY"},{"label":"28. January. 2017","value":"D. MMMM. YYYY"},{"label":"28. January. 2017","value":"DD. MMMM. YYYY"},{"label":"2017. January. 28","value":"YYYY. MMMM. D"}],"parent":"","type":"string","value":"regional"},{"allowempty":false,"control":{"delayed":false,"format":"string","multiselect":false,"type":"list"},"default":"regional","enabled":true,"help":"Choose which time format is used for displaying the time in the user interface.","id":"locale.timeformat","label":"Time format","level":"advanced","options":[{"label":"Regional (11:30:04 AM (h:mm:ss xx))","value":"regional"},{"label":"11:30:04 (h:mm:ss)","value":"h:mm:ss"},{"label":"11:30:04 (hh:mm:ss)","value":"hh:mm:ss"},{"label":"11:30:04 AM (h:mm:ss xx)","value":"h:mm:ss xx"},{"label":"11:30:04 AM (hh:mm:ss xx)","value":"hh:mm:ss xx"}],"parent":"","type":"string","value":"regional"},{"allowempty":false,"control":{"delayed":false,"format":"string","multiselect":false,"type":"list"},"default":"regional","enabled":true,"help":"Choose whether to use 12 or 24-hour format for displaying the time in the user interface.","id":"locale.use24hourclock","label":"Use 12 / 24-hour format","level":"advanced","options":[{"label":"Regional (12-hour clock)","value":"regional"},{"label":"12-hour clock","value":"12hours"},{"label":"24-hour clock","value":"24hours"}],"parent":"","type":"string","value":"regional"},{"allowempty":false,"control":{"delayed":false,"format":"string","multiselect":false,"type":"list"},"default":"regional","enabled":true,"help":"Choose which temperature unit is used for displaying temperatures in the user interface.","id":"locale.temperatureunit","label":"Temperature unit","level":"advanced","options":[{"label":"Regional (°F)","value":"regional"},{"label":"°F","value":"f"},{"label":"K","value":"k"},{"label":"°C","value":"c"},{"label":"°Ré","value":"re"},{"label":"°Ra","value":"ra"},{"label":"°Rø","value":"ro"},{"label":"°De","value":"de"},{"label":"°N","value":"n"}],"parent":"","type":"string","value":"regional"},{"allowempty":false,"control":{"delayed":false,"format":"string","multiselect":false,"type":"list"},"default":"regional","enabled":true,"help":"Choose which speed unit is used for displaying speeds in the user interface.","id":"locale.speedunit","label":"Speed unit","level":"advanced","options":[{"label":"Regional (mph)","value":"regional"},{"label":"km/h","value":"kmh"},{"label":"m/min","value":"mpmin"},{"label":"m/s","value":"mps"},{"label":"ft/h","value":"fth"},{"label":"ft/min","value":"ftm"},{"label":"ft/s","value":"fts"},{"label":"mph","value":"mph"},{"label":"kts","value":"kts"},{"label":"Beaufort","value":"beaufort"},{"label":"inch/s","value":"inchs"},{"label":"yard/s","value":"yards"},{"label":"Furlong/Fortnight","value":"fpf"}],"parent":"","type":"string","value":"regional"},{"addontype":"xbmc.ui.screensaver","allowempty":true,"control":{"delayed":false,"format":"addon","type":"button"},"default":"screensaver.xbmc.builtin.dim","enabled":true,"help":"Select the screensaver. The \"Dim\" screensaver will be forced when fullscreen video playback is paused or a dialogue box is active.","id":"screensaver.mode","label":"Screensaver mode","level":"basic","parent":"","type":"addon","value":"screensaver.xbmc.builtin.dim"},{"control":{"delayed":false,"format":"action","type":"button"},"enabled":true,"help":"Select to change the screensaver specific settings. Which options are available for configuration depends on the features provided by the screensaver add-on.","id":"screensaver.settings","label":"Settings","level":"standard","parent":"screensaver.mode","type":"action"},{"control":{"delayed":false,"format":"action","type":"button"},"enabled":true,"help":"Preview the selected screensaver.","id":"screensaver.preview","label":"Preview","level":"standard","parent":"screensaver.mode","type":"action"},{"control":{"delayed":false,"format":"string","formatlabel":"%i min","type":"spinner"},"default":3,"enabled":true,"help":"Set the time to wait for any activity to occur before displaying the screensaver.","id":"screensaver.time","label":"Wait time","level":"basic","maximum":60,"minimum":1,"parent":"","step":1,"type":"integer","value":3},{"control":{"delayed":false,"format":"boolean","type":"toggle"},"default":true,"enabled":true,"help":"If music is being played, the selected visualisation will be started instead of displaying the screensaver.","id":"screensaver.usemusicvisinstead","label":"Use visualisation if playing audio","level":"basic","parent":"","type":"boolean","value":true},{"control":{"delayed":false,"format":"boolean","type":"toggle"},"default":true,"enabled":false,"help":"Dim the display when media is paused. Not valid for the \"Dim\" screensaver mode.","id":"screensaver.usedimonpause","label":"Use dim if paused during video playback","level":"standard","parent":"","type":"boolean","value":true},{"control":{"delayed":false,"format":"action","type":"button"},"enabled":true,"help":"Here you can enable or disable master lock and define the PIN code used to unlock it. You can also specify which areas of the application would need a PIN to access them.","id":"masterlock.lockcode","label":"Master lock code and settings","level":"standard","parent":"","type":"action"},{"control":{"delayed":false,"format":"boolean","type":"toggle"},"default":false,"enabled":false,"help":"If enabled, the master lock code is required to unlock this application on startup.","id":"masterlock.startuplock","label":"Ask for master lock code on startup","level":"standard","parent":"masterlock.lockcode","type":"boolean","value":false},{"control":{"delayed":false,"format":"string","multiselect":false,"type":"list"},"default":10000,"enabled":true,"help":"Select the media window to display on startup.","id":"lookandfeel.startupwindow","label":"Startup window","level":"basic","options":[{"label":"Home window","value":10000},{"label":"TV channels","value":10700},{"label":"TV guide","value":10702},{"label":"Radio channels","value":10705},{"label":"Radio guide","value":10707},{"label":"Programs","value":10001},{"label":"Pictures","value":10002},{"label":"Music","value":10502},{"label":"Videos","value":10025},{"label":"File manager","value":10003},{"label":"Settings","value":10004},{"label":"Weather","value":12600}],"parent":"","type":"integer","value":10000},{"control":{"delayed":false,"format":"boolean","type":"toggle"},"default":false,"enabled":true,"help":"Turn this off to remove the scrolling RSS news ticker.","id":"lookandfeel.enablerssfeeds","label":"Show RSS news feeds","level":"basic","parent":"","type":"boolean","value":false},{"allowempty":true,"control":{"delayed":false,"format":"action","type":"button"},"default":"","enabled":false,"help":"Edit the RSS feeds.","id":"lookandfeel.rssedit","label":"Edit","level":"standard","parent":"lookandfeel.enablerssfeeds","type":"string","value":""},{"control":{"delayed":false,"format":"action","type":"button"},"enabled":true,"help":"This provides access to where video sources can be added and otherwise managed.","id":"source.videos","label":"Videos...","level":"standard","parent":"","type":"action"},{"control":{"delayed":false,"format":"action","type":"button"},"enabled":true,"help":"This provides access to where music sources can be added and otherwise managed.","id":"source.music","label":"Music...","level":"standard","parent":"","type":"action"},{"control":{"delayed":false,"format":"action","type":"button"},"enabled":true,"help":"This provides access to where picture sources can be added and otherwise managed.","id":"source.pictures","label":"Pictures...","level":"standard","parent":"","type":"action"},{"control":{"delayed":false,"format":"boolean","type":"toggle"},"default":false,"enabled":true,"help":"Check for new media files on startup.","id":"videolibrary.updateonstartup","label":"Update library on startup","level":"standard","parent":"","type":"boolean","value":false},{"control":{"delayed":false,"format":"boolean","type":"toggle"},"default":false,"enabled":true,"help":"Hide the library scanning progress bar during scans.","id":"videolibrary.backgroundupdate","label":"Hide progress of library updates","level":"standard","parent":"","type":"boolean","value":false},{"control":{"delayed":false,"format":"action","type":"button"},"enabled":true,"help":"Remove items from your library that can't be found (either renamed, deleted, or on removable storage that is currently unplugged).","id":"videolibrary.cleanup","label":"Clean library","level":"advanced","parent":"","type":"action"},{"control":{"delayed":false,"format":"action","type":"button"},"enabled":true,"help":"Export the video library database to XML files. This will optionally overwrite your current XML files.","id":"videolibrary.export","label":"Export library","level":"advanced","parent":"","type":"action"},{"control":{"delayed":false,"format":"action","type":"button"},"enabled":true,"help":"Import a XML file into the video library database.","id":"videolibrary.import","label":"Import library","level":"advanced","parent":"","type":"action"},{"control":{"delayed":false,"format":"boolean","type":"toggle"},"default":false,"enabled":true,"help":"Check for new and removed media files on startup.","id":"musiclibrary.updateonstartup","label":"Update library on startup","level":"standard","parent":"","type":"boolean","value":false},{"control":{"delayed":false,"format":"boolean","type":"toggle"},"default":false,"enabled":true,"help":"Hide the library scanning progress bar during scans.","id":"musiclibrary.backgroundupdate","label":"Hide progress of library updates","level":"standard","parent":"","type":"boolean","value":false},{"control":{"delayed":false,"format":"action","type":"button"},"enabled":true,"help":"Remove items from your library that can't be found (either renamed, deleted, or on removable storage that is currently unplugged).","id":"musiclibrary.cleanup","label":"Clean library","level":"advanced","parent":"","type":"action"},{"control":{"delayed":false,"format":"action","type":"button"},"enabled":true,"help":"Export the music library database to XML files. This will optionally overwrite your current XML files.","id":"musiclibrary.export","label":"Export library","level":"advanced","parent":"","type":"action"},{"control":{"delayed":false,"format":"action","type":"button"},"enabled":true,"help":"Import a XML file into the music library database.","id":"musiclibrary.import","label":"Import library","level":"advanced","parent":"","type":"action"},{"control":{"delayed":false,"format":"boolean","type":"toggle"},"default":true,"enabled":true,"help":"Display the (..) item in lists for visiting the parent folder.","id":"filelists.showparentdiritems","label":"Show parent folder items","level":"standard","parent":"","type":"boolean","value":true},{"control":{"delayed":false,"format":"boolean","type":"toggle"},"default":true,"enabled":true,"help":"Ignore certain tokens, e.g. \"The\", during sort operations. \"The Simpsons\" would for example be sorted as \"Simpsons\".","id":"filelists.ignorethewhensorting","label":"Ignore articles when sorting","level":"standard","parent":"","type":"boolean","value":true},{"control":{"delayed":false,"format":"boolean","type":"toggle"},"default":true,"enabled":true,"help":"Show file extensions on media files, for example \"You Enjoy Myself\" would be shown as \"You Enjoy Myself.mp3\".","id":"filelists.showextensions","label":"Show file extensions","level":"standard","parent":"","type":"boolean","value":true},{"control":{"delayed":false,"format":"boolean","type":"toggle"},"default":true,"enabled":true,"help":"Show the add source button in root sections of the user interface.","id":"filelists.showaddsourcebuttons","label":"Show \"Add source\" buttons","level":"standard","parent":"","type":"boolean","value":true},{"control":{"delayed":false,"format":"boolean","type":"toggle"},"default":false,"enabled":true,"help":"Show hidden files and directories when listing files.","id":"filelists.showhidden","label":"Show hidden files and directories","level":"advanced","parent":"","type":"boolean","value":false},{"control":{"delayed":false,"format":"boolean","type":"toggle"},"default":false,"enabled":true,"help":"Allow files to be deleted and renamed through the user interface, via the context menu, e.g. press \"C\" on a keyboard to bring up this menu.","id":"filelists.allowfiledeletion","label":"Allow file renaming and deletion","level":"advanced","parent":"","type":"boolean","value":false},{"control":{"delayed":false,"format":"string","multiselect":false,"type":"list"},"default":1,"enabled":true,"help":"Toggle between [Choose], [Play] (default), [Resume] and [Show information].[CR][Choose] Will select an item, e.g. open a directory in files mode.[CR][Resume] Will automatically resume videos from the last position that you were viewing them, even after restarting the system.","id":"myvideos.selectaction","label":"Default select action","level":"basic","options":[{"label":"Choose","value":0},{"label":"Play","value":1},{"label":"Resume","value":2},{"label":"Show information","value":3}],"parent":"","type":"integer","value":1},{"control":{"delayed":false,"format":"boolean","type":"toggle"},"default":true,"enabled":true,"help":"Extract thumbnails and metadata information such as codec and aspect ratio from videos.","id":"myvideos.extractflags","label":"Extract thumbnails and video information","level":"advanced","parent":"","type":"boolean","value":true},{"control":{"delayed":false,"format":"boolean","type":"toggle"},"default":true,"enabled":true,"help":"Extract chapter thumbnails for presentation in the chapters / bookmarks dialogue. This might increase CPU load.","id":"myvideos.extractchapterthumbs","label":"Extract chapter thumbnails","level":"advanced","parent":"","type":"boolean","value":true},{"control":{"delayed":false,"format":"boolean","type":"toggle"},"default":false,"enabled":true,"help":"Combines multi-part video files, DVD folders or movie folders, down to a single item in non-library views.","id":"myvideos.stackvideos","label":"Combine split video items","level":"standard","parent":"","type":"boolean","value":false},{"control":{"delayed":false,"format":"boolean","type":"toggle"},"default":true,"enabled":true,"help":"When a file is scanned into the library it will display the metadata title instead of the file name.","id":"myvideos.replacelabels","label":"Replace file names with library titles","level":"standard","parent":"","type":"boolean","value":true},{"control":{"delayed":false,"format":"boolean","type":"toggle"},"default":true,"enabled":true,"help":"Show \"All items\" entry in directory, e.g. \"All albums\" or \"All seasons\".","id":"videolibrary.showallitems","label":"Show \"All items\" entry","level":"advanced","parent":"","type":"boolean","value":true},{"control":{"delayed":false,"format":"boolean","type":"toggle"},"default":true,"enabled":true,"help":"Show plot information for unwatched media in the video library.","id":"videolibrary.showunwatchedplots","label":"Show plot for unwatched items","level":"basic","parent":"","type":"boolean","value":true},{"control":{"delayed":false,"format":"boolean","type":"toggle"},"default":false,"enabled":true,"help":"When enabled, movies belonging to a \"Movie set\" are grouped together under one entry for the set in the movie library, this entry can then be opened to display the individual movies. When disabled, each movie will have it's own entry in the movie library even if it belongs to a set.","id":"videolibrary.groupmoviesets","label":"Show movie sets","level":"standard","parent":"","type":"boolean","value":false},{"control":{"delayed":false,"format":"boolean","type":"toggle"},"default":false,"enabled":true,"help":"When enabled, a \"Movie set\" entry is used even if the movie library contains only a single movie from that set. When disabled, a \"Movie set\" entry is used only if the movie library contains more than one movie from that set.","id":"videolibrary.groupsingleitemsets","label":"Include sets containing a single movie","level":"standard","parent":"videolibrary.groupmoviesets","type":"boolean","value":false},{"control":{"delayed":false,"format":"boolean","type":"toggle"},"default":false,"enabled":true,"help":"Removes the title, genre, etc. nodes from the library view. Selecting a category takes you straight to the title view.","id":"myvideos.flatten","label":"Flatten hierarchy","level":"advanced","parent":"","type":"boolean","value":false},{"control":{"delayed":false,"format":"string","multiselect":false,"type":"list"},"default":1,"enabled":true,"help":"Select in which cases you want to hide the season nodes of TV shows. If hidden, selecting a TV show will directly jump into the episodes view.","id":"videolibrary.flattentvshows","label":"Flatten TV show seasons","level":"advanced","options":[{"label":"Never","value":0},{"label":"If only one season","value":1},{"label":"Always","value":2}],"parent":"","type":"integer","value":1},{"control":{"delayed":false,"format":"boolean","type":"toggle"},"default":false,"enabled":true,"help":"Show TV shows with no episodes when browsing the video library.","id":"videolibrary.showemptytvshows","label":"Show empty TV shows","level":"advanced","parent":"","type":"boolean","value":false},{"control":{"delayed":false,"format":"string","type":"spinner"},"default":0,"enabled":true,"help":"When entering a TV show season or episode view automatically select the first unwatched season or episode.[CR][On first entry] The first unwatched item will be selected only when a view is entered for the first time.[CR][Always] The first unwatched item will be selected every time a view is entered.","id":"videolibrary.tvshowsselectfirstunwatcheditem","label":"Select first unwatched TV show season / episode","level":"advanced","options":[{"label":"Never","value":0},{"label":"On first entry","value":1},{"label":"Always","value":2}],"parent":"","type":"integer","value":0},{"control":{"delayed":false,"format":"string","type":"spinner"},"default":0,"enabled":false,"help":"Whether or not to consider the items from \"All seasons\" and \"Specials\" in the unwatched item selection.","id":"videolibrary.tvshowsincludeallseasonsandspecials","label":"Include \"All seasons\" and \"Specials\"","level":"advanced","options":[{"label":"Neither","value":0},{"label":"Both","value":1},{"label":"Just \"All seasons\"","value":2},{"label":"Just \"Specials\"","value":3}],"parent":"videolibrary.tvshowsselectfirstunwatcheditem","type":"integer","value":0},{"control":{"delayed":false,"format":"boolean","type":"toggle"},"default":true,"enabled":true,"help":"Downloads thumbnails for actors from online databases when adding media to the library.","id":"videolibrary.actorthumbs","label":"Download actor thumbnails","level":"advanced","parent":"","type":"boolean","value":true},{"allowempty":false,"control":{"delayed":true,"format":"string","heading":"Available options: %A, %T, %N, %B, %D, %G, %Y, %F, %S","hidden":false,"type":"edit","verifynewvalue":false},"default":"[%N. ]%A - %T","enabled":true,"help":"Control the way that the names of songs are displayed in the user interface. In order to function properly, tag reading needs to be enabled.","id":"musicfiles.trackformat","label":"Track naming template","level":"expert","parent":"","type":"string","value":"[%N. ]%A - %T"},{"control":{"delayed":false,"format":"boolean","type":"toggle"},"default":true,"enabled":true,"help":"Search for thumbs on remote shares and optical media. This can often slow down the listing of network folders.","id":"musicfiles.findremotethumbs","label":"Search for thumbnails on remote shares","level":"advanced","parent":"","type":"boolean","value":true},{"control":{"delayed":false,"format":"boolean","type":"toggle"},"default":true,"enabled":true,"help":"Read the tag information from song files. For large directories this can increase read time, especially over a network.","id":"musicfiles.usetags","label":"Enable tag reading","level":"standard","parent":"","type":"boolean","value":true},{"control":{"delayed":false,"format":"boolean","type":"toggle"},"default":true,"enabled":true,"help":"Show \"All items\" entry in directory, e.g. \"All albums\" or \"All seasons\".","id":"musiclibrary.showallitems","label":"Show \"All items\" entry","level":"advanced","parent":"","type":"boolean","value":true},{"control":{"delayed":false,"format":"boolean","type":"toggle"},"default":true,"enabled":true,"help":"When enabled, both song and album artists are shown. When disabled, only album artists are shown and artists that appear only on individual songs from an album are excluded.","id":"musiclibrary.showcompilationartists","label":"Show song and album artists","level":"basic","parent":"","type":"boolean","value":true},{"control":{"delayed":false,"format":"boolean","type":"toggle"},"default":false,"enabled":true,"help":"With this enabled, any information that is downloaded for albums and artists will override anything you have set in your song tags, such as genres, year, song artists etc. Useful if you have MusicBrainz identifiers in your song tags.","id":"musiclibrary.overridetags","label":"Prefer online information","level":"standard","parent":"","type":"boolean","value":false},{"control":{"delayed":false,"format":"boolean","type":"toggle"},"default":false,"enabled":true,"help":"Automatically fetch album and artist information from information providers when adding songs to the library.","id":"musiclibrary.downloadinfo","label":"Fetch additional information during updates","level":"advanced","parent":"","type":"boolean","value":false},{"addontype":"xbmc.metadata.scraper.albums","allowempty":false,"control":{"delayed":false,"format":"addon","type":"button"},"default":"metadata.album.universal","enabled":true,"help":"Select the default album information provider.","id":"musiclibrary.albumsscraper","label":"Default provider for album information","level":"standard","parent":"","type":"addon","value":"metadata.album.universal"},{"addontype":"xbmc.metadata.scraper.artists","allowempty":false,"control":{"delayed":false,"format":"addon","type":"button"},"default":"metadata.artists.universal","enabled":true,"help":"Select the default artist information provider.","id":"musiclibrary.artistsscraper","label":"Default provider for artist information","level":"standard","parent":"","type":"addon","value":"metadata.artists.universal"},{"control":{"delayed":false,"format":"boolean","type":"toggle"},"default":true,"enabled":true,"help":"Automatically generate picture thumbnails when entering picture folder.","id":"pictures.generatethumbs","label":"Automatically generate thumbnails","level":"basic","parent":"","type":"boolean","value":true},{"control":{"delayed":false,"format":"boolean","type":"toggle"},"default":true,"enabled":true,"help":"Show videos in picture file lists.","id":"pictures.showvideos","label":"Show video files in listings","level":"basic","parent":"","type":"boolean","value":true},{"control":{"delayed":false,"format":"boolean","type":"toggle"},"default":false,"enabled":true,"help":"Enable automatic playback of the next file in the list.","id":"videoplayer.autoplaynextitem","label":"Play next video automatically","level":"basic","parent":"","type":"boolean","value":false},{"control":{"delayed":false,"format":"string","multiselect":true,"type":"list"},"default":[-600,-300,-180,-60,-30,-10,10,30,60,180,300,600],"definition":{"control":{"delayed":false,"format":"string","multiselect":true,"type":"list"},"default":-600,"enabled":true,"help":"Defines which step sizes to use when pressing the skip buttons. If more steps are selected for a skip direction, these can be applied by subsequent presses on the skip button within the defined skip delay. Forward (positive) and backward (negative) steps can be defined independently.","id":"videoplayer.seeksteps.definition","label":"Skip steps","level":"standard","options":[{"label":"-30 min","value":-1800},{"label":"-10 min","value":-600},{"label":"-5 min","value":-300},{"label":"-3 min","value":-180},{"label":"-60 sec","value":-60},{"label":"-30 sec","value":-30},{"label":"-10 sec","value":-10},{"label":"10 sec","value":10},{"label":"30 sec","value":30},{"label":"60 sec","value":60},{"label":"3 min","value":180},{"label":"5 min","value":300},{"label":"10 min","value":600},{"label":"30 min","value":1800}],"parent":"","type":"integer","value":-600},"delimiter":",","elementtype":"integer","enabled":true,"help":"Defines which step sizes to use when pressing the skip buttons. If more steps are selected for a skip direction, these can be applied by subsequent presses on the skip button within the defined skip delay. Forward (positive) and backward (negative) steps can be defined independently.","id":"videoplayer.seeksteps","label":"Skip steps","level":"standard","maximumItems":-1,"minimumItems":2,"parent":"","type":"list","value":[-600,-300,-180,-60,-30,-10,10,30,60,180,300,600]},{"control":{"delayed":false,"format":"string","formatlabel":"%i ms","minimumlabel":"None","type":"spinner"},"default":750,"enabled":true,"help":"Defines the time to wait for subsequent key presses before performing the skip. Only applies when using smart skipping (when using more than one skip step for a direction).","id":"videoplayer.seekdelay","label":"Skip delay","level":"standard","maximum":3000,"minimum":0,"parent":"","step":250,"type":"integer","value":750},{"control":{"delayed":false,"format":"string","multiselect":false,"type":"list"},"default":0,"enabled":true,"help":"Allow the refresh rate of the display to be changed so that it best matches the video frame rate. This may yield smoother video playback.","id":"videoplayer.adjustrefreshrate","label":"Adjust display refresh rate","level":"standard","options":[{"label":"Off","value":0},{"label":"Always","value":1},{"label":"On start / stop","value":2}],"parent":"","type":"integer","value":0},{"control":{"delayed":false,"format":"boolean","type":"toggle"},"default":false,"enabled":true,"help":"Synchronise video and audio to the refresh rate of the monitor. VideoPlayer won't use passthrough audio in this case because resampling may be required.","id":"videoplayer.usedisplayasclock","label":"Sync playback to display","level":"standard","parent":"","type":"boolean","value":false},{"control":{"delayed":false,"format":"string","formatlabel":"%i %%","minimumlabel":"Off","type":"spinner"},"default":0,"enabled":true,"help":"Stretch the video up to the set percentage in order to minimise black bars.","id":"videoplayer.errorinaspect","label":"Minimise black bars","level":"advanced","maximum":20,"minimum":0,"parent":"","step":1,"type":"integer","value":0},{"control":{"delayed":false,"format":"string","multiselect":false,"type":"list"},"default":0,"enabled":true,"help":"Select the zoom level that 4:3 videos are shown on widescreen displays.","id":"videoplayer.stretch43","label":"Display 4:3 videos as","level":"advanced","options":[{"label":"Normal","value":0},{"label":"Wide zoom","value":3},{"label":"Stretch 16:9","value":4},{"label":"Stretch 16:9 - Nonlinear","value":7},{"label":"Zoom","value":1}],"parent":"","type":"integer","value":0},{"control":{"delayed":false,"format":"string","multiselect":false,"type":"list"},"default":0,"enabled":true,"help":"Adjust the method used to process and display video.","id":"videoplayer.rendermethod","label":"Render method","level":"advanced","options":[{"label":"Auto detect","value":0},{"label":"Basic shaders (ARB)","value":1},{"label":"Advanced shaders (GLSL)","value":2}],"parent":"","type":"integer","value":0},{"control":{"delayed":false,"format":"string","formatlabel":"%i %%","type":"spinner"},"default":20,"enabled":true,"help":"Use high quality scalers when upscaling a video by at least this percentage. A value below 5% makes little sense as video is processed with high GPU load without any visible picture quality improvements.","id":"videoplayer.hqscalers","label":"Enable HQ scalers for scaling above","level":"advanced","maximum":100,"minimum":0,"parent":"videoplayer.rendermethod","step":10,"type":"integer","value":20},{"control":{"delayed":false,"format":"boolean","type":"toggle"},"default":true,"enabled":true,"help":"Enable VDPAU hardware decoding of video files, mainly used for NVIDIA graphics and in some circumstances AMD graphics.","id":"videoplayer.usevdpau","label":"Allow hardware acceleration - VDPAU","level":"advanced","parent":"","type":"boolean","value":true},{"control":{"delayed":false,"format":"boolean","type":"toggle"},"default":true,"enabled":true,"help":"Bypassing VDPAU mixer saves resources on low power systems but slightly reduces picture quality.","id":"videoplayer.usevdpaumixer","label":"Prefer VDPAU video mixer","level":"advanced","parent":"","type":"boolean","value":true},{"control":{"delayed":false,"format":"boolean","type":"toggle"},"default":true,"enabled":true,"help":"Enable VAAPI hardware decoding of video files, mainly used for Intel graphics and in some circumstances AMD graphics.","id":"videoplayer.usevaapi","label":"Allow hardware acceleration - VAAPI","level":"advanced","parent":"","type":"boolean","value":true},{"control":{"delayed":false,"format":"boolean","type":"toggle"},"default":true,"enabled":true,"help":"Enable this option to use hardware acceleration for MPEG-(1 / 2) codecs. If disabled the CPU will be used instead. Some MPEG-2 videos might have green artifacts.","id":"videoplayer.usevaapimpeg2","label":"Use MPEG-2 VAAPI","level":"expert","parent":"videoplayer.usevaapi","type":"boolean","value":true},{"control":{"delayed":false,"format":"boolean","type":"toggle"},"default":true,"enabled":true,"help":"Enable this option to use hardware acceleration for the MPEG-4 codec. If disabled the CPU will be used instead.","id":"videoplayer.usevaapimpeg4","label":"Use MPEG-4 VAAPI","level":"expert","parent":"videoplayer.usevaapi","type":"boolean","value":true},{"control":{"delayed":false,"format":"boolean","type":"toggle"},"default":true,"enabled":true,"help":"Enable this option to use hardware acceleration for VC-1 based codecs. If disabled the CPU will be used instead. Especially VC-1 interlaced fails hard on Intel hardware.","id":"videoplayer.usevaapivc1","label":"Use VC-1 VAAPI","level":"expert","parent":"videoplayer.usevaapi","type":"boolean","value":true},{"control":{"delayed":false,"format":"boolean","type":"toggle"},"default":true,"enabled":true,"help":"When enabled, VAAPI render method is preferred and the CPU has less load. If you experience hangs, disable this option.","id":"videoplayer.prefervaapirender","label":"Prefer VAAPI render method","level":"expert","parent":"videoplayer.usevaapi","type":"boolean","value":true},{"control":{"delayed":true,"format":"integer","type":"spinner"},"default":0,"enabled":true,"help":"Select in which mode stereoscopic 3D videos will be played.[CR][Ask me] Will show a dialogue to select the desired mode for each playback.[CR][Preferred mode] Will use the preferred mode specified in the \"System -> Video hardware\" section of the settings.[CR][Monoscopic / 2D] Will play the video in mono / 2D.[CR][Ignore] Disables any stereoscopic 3D processing and handling.","id":"videoplayer.stereoscopicplaybackmode","label":"Playback mode of stereoscopic 3D videos","level":"advanced","options":[{"label":"Ask me","value":0},{"label":"Preferred mode","value":1},{"label":"Monoscopic / 2D","value":2},{"label":"Ignore","value":100}],"parent":"","type":"integer","value":0},{"control":{"delayed":false,"format":"boolean","type":"toggle"},"default":true,"enabled":true,"help":"[Enabled] Switch GUI (and some TVs) back to 2D mode, between videos in a playlist or when playback ended.[CR][Disabled] GUI and TV will stay in stereoscopic 3D mode. For video playlists with mixed stereoscopic 3D and 2D content, then the GUI will also stay in stereoscopic 3D mode even when a non-stereoscopic 2D video is playing.","id":"videoplayer.quitstereomodeonstop","label":"Disable stereoscopic 3D mode when playback ended","level":"advanced","parent":"","type":"boolean","value":true},{"control":{"delayed":false,"format":"boolean","type":"toggle"},"default":true,"enabled":true,"help":"Enable teletext when watching a live TV stream.","id":"videoplayer.teletextenabled","label":"Activate teletext","level":"expert","parent":"","type":"boolean","value":true},{"control":{"delayed":false,"format":"boolean","type":"toggle"},"default":true,"enabled":true,"help":"Scale teletext to 4:3 ratio.","id":"videoplayer.teletextscale","label":"Scale teletext to 4:3","level":"expert","parent":"videoplayer.teletextenabled","type":"boolean","value":true},{"control":{"delayed":false,"format":"boolean","type":"toggle"},"default":true,"enabled":true,"help":"Automatically plays the next item in the current folder, for example in \"Files\" view after a track has been played, the next track in the same folder will automatically play.","id":"musicplayer.autoplaynextitem","label":"Play next song automatically","level":"basic","parent":"","type":"boolean","value":true},{"control":{"delayed":false,"format":"boolean","type":"toggle"},"default":false,"enabled":true,"help":"When songs are selected they are queued instead of playback starting immediately.","id":"musicplayer.queuebydefault","label":"Queue songs on selection","level":"basic","parent":"","type":"boolean","value":false},{"control":{"delayed":false,"format":"string","multiselect":true,"type":"list"},"default":[-60,-30,-10,10,30,60],"definition":{"control":{"delayed":false,"format":"string","multiselect":true,"type":"list"},"default":-60,"enabled":true,"help":"Defines which step sizes to use when pressing the skip buttons. If more steps are selected for a skip direction, these can be applied by subsequent presses on the skip button within the defined skip delay. Forward (positive) and backward (negative) steps can be defined independently.","id":"musicplayer.seeksteps.definition","label":"Skip steps","level":"standard","options":[{"label":"-30 min","value":-1800},{"label":"-10 min","value":-600},{"label":"-5 min","value":-300},{"label":"-3 min","value":-180},{"label":"-60 sec","value":-60},{"label":"-30 sec","value":-30},{"label":"-10 sec","value":-10},{"label":"10 sec","value":10},{"label":"30 sec","value":30},{"label":"60 sec","value":60},{"label":"3 min","value":180},{"label":"5 min","value":300},{"label":"10 min","value":600},{"label":"30 min","value":1800}],"parent":"","type":"integer","value":-60},"delimiter":",","elementtype":"integer","enabled":true,"help":"Defines which step sizes to use when pressing the skip buttons. If more steps are selected for a skip direction, these can be applied by subsequent presses on the skip button within the defined skip delay. Forward (positive) and backward (negative) steps can be defined independently.","id":"musicplayer.seeksteps","label":"Skip steps","level":"standard","maximumItems":-1,"minimumItems":2,"parent":"","type":"list","value":[-60,-30,-10,10,30,60]},{"control":{"delayed":false,"format":"string","formatlabel":"%i ms","minimumlabel":"None","type":"spinner"},"default":750,"enabled":true,"help":"Defines the time to wait for subsequent key presses before performing the skip. Only applies when using smart skipping (when using more than one skip step for a direction).","id":"musicplayer.seekdelay","label":"Skip delay","level":"standard","maximum":3000,"minimum":0,"parent":"","step":250,"type":"integer","value":750},{"control":{"delayed":false,"format":"string","formatlabel":"%i sec","minimumlabel":"Off","type":"spinner"},"default":0,"enabled":true,"help":"Smoothly fade from one audio track to the next. You can set the amount of overlap from 1-15 seconds.","id":"musicplayer.crossfade","label":"Crossfade between songs","level":"standard","maximum":15,"minimum":0,"parent":"","step":1,"type":"integer","value":0},{"control":{"delayed":false,"format":"boolean","type":"toggle"},"default":true,"enabled":false,"help":"Allow crossfading to occur when both tracks are from the same album.","id":"musicplayer.crossfadealbumtracks","label":"Crossfade between songs on the same album","level":"standard","parent":"musicplayer.crossfade","type":"boolean","value":true},{"addontype":"xbmc.player.musicviz","allowempty":true,"control":{"delayed":false,"format":"addon","type":"button"},"default":"visualization.spectrum","enabled":true,"help":"Select the visualisation that will be displayed while listening to music.","id":"musicplayer.visualisation","label":"Visualisation","level":"basic","parent":"","type":"addon","value":"visualization.spectrum"},{"control":{"delayed":false,"format":"string","multiselect":false,"type":"list"},"default":1,"enabled":true,"help":"Read the ReplayGain information encoded in your audio files by a program such as MP3Gain and normalise the sound levels accordingly.","id":"musicplayer.replaygaintype","label":"Volume adjustments","level":"expert","options":[{"label":"Off","value":0},{"label":"Use track levels","value":2},{"label":"Use album levels","value":1}],"parent":"","type":"integer","value":1},{"control":{"delayed":false,"format":"string","formatlabel":"%i.0 dB","type":"spinner"},"default":89,"enabled":true,"help":"Reference volume (PreAmp level) to use for files with encoded ReplayGain information. Default is 89dB as per standard. Change with caution.","id":"musicplayer.replaygainpreamp","label":"Files with ReplayGain information","level":"expert","maximum":101,"minimum":77,"parent":"musicplayer.replaygaintype","step":1,"type":"integer","value":89},{"control":{"delayed":false,"format":"string","formatlabel":"%i.0 dB","type":"spinner"},"default":89,"enabled":true,"help":"Reference volume (PreAmp level) to use for files without encoded ReplayGain information. Default is 89dB as per standard. Change with caution.","id":"musicplayer.replaygainnogainpreamp","label":"Files without ReplayGain information","level":"expert","maximum":101,"minimum":77,"parent":"musicplayer.replaygaintype","step":1,"type":"integer","value":89},{"control":{"delayed":false,"format":"boolean","type":"toggle"},"default":false,"enabled":true,"help":"Autorun DVD video when inserted in drive.","id":"dvds.autorun","label":"Play DVDs automatically","level":"basic","parent":"","type":"boolean","value":false},{"control":{"delayed":false,"format":"string","minimumlabel":"Off","type":"spinner"},"default":0,"enabled":true,"help":"Force a region for DVD playback.","id":"dvds.playerregion","label":"Forced DVD player region","level":"standard","maximum":8,"minimum":0,"parent":"","step":1,"type":"integer","value":0},{"control":{"delayed":false,"format":"boolean","type":"toggle"},"default":false,"enabled":true,"help":"Attempt to skip \"unskippable\" introductions before DVD menu.","id":"dvds.automenu","label":"Attempt to skip introduction before DVD menu","level":"advanced","parent":"","type":"boolean","value":false},{"control":{"delayed":false,"format":"string","type":"spinner"},"default":1,"enabled":true,"help":"Region A - Americas, East Asia and Southeast Asia. Region B - Africa, Middle East, Southwest Asia, Europe, Australia, New Zealand. Region C - Central Asia, mainland China, Mongolia, South Asia, Belarus, Russia, Ukraine, Kazakhstan.","id":"bluray.playerregion","label":"Blu-ray region Code","level":"standard","options":[{"label":"Region A","value":1},{"label":"Region B","value":2},{"label":"Region C","value":4}],"parent":"","type":"integer","value":1},{"control":{"delayed":false,"format":"string","multiselect":false,"type":"list"},"default":0,"enabled":true,"help":"Specifies how Blu-rays should be opened / played back. Note: Some disc menus are not fully supported and may cause problems.","id":"disc.playback","label":"Blu-ray playback mode","level":"standard","options":[{"label":"Show simplified menu","value":0},{"label":"Show Blu-ray menu","value":1},{"label":"Play main movie","value":2}],"parent":"","type":"integer","value":0},{"control":{"delayed":false,"format":"string","multiselect":false,"type":"list"},"default":0,"enabled":true,"help":"Autorun CDs when inserted in drive.","id":"audiocds.autoaction","label":"Audio CD insert action","level":"standard","options":[{"label":"None","value":0},{"label":"Play","value":1},{"label":"Rip","value":2}],"parent":"","type":"integer","value":0},{"control":{"delayed":false,"format":"boolean","type":"toggle"},"default":true,"enabled":true,"help":"Read the information belonging to an audio CD, like song title and artist, from the Internet database freedb.org.","id":"audiocds.usecddb","label":"Load audio CD information from online service","level":"standard","parent":"","type":"boolean","value":true},{"allowempty":true,"control":{"delayed":false,"format":"path","heading":"Browse for folder","type":"button"},"default":"","enabled":true,"help":"Select the location on your hard drive where ripped tracks will be saved to.","id":"audiocds.recordingpath","label":"Saved music folder","level":"expert","parent":"","sources":[],"type":"path","value":"","writable":true},{"allowempty":false,"control":{"delayed":true,"format":"string","heading":"Available options: %A, %T, %N, %B, %D, %G, %Y, %F, %S","hidden":false,"type":"edit","verifynewvalue":false},"default":"%A/%A - %B/[%N. ][%A - ]%T","enabled":true,"help":"Control how saved music is named from the tags. Tags: [B]%N[/B]: TrackNumber, [B]%S[/B]: DiscNumber, [B]%A[/B]: Artist, [B]%T[/B]: Title, [B]%B[/B]: Album, [B]%G[/B]: Genre, [B]%Y[/B]: Year, [B]%F[/B]: FileName, [B]%D[/B]: Duration, [B]%J[/B]: Date, [B]%R[/B]: Rating, [B]%I[/B]: FileSize.","id":"audiocds.trackpathformat","label":"Track naming template","level":"expert","parent":"","type":"string","value":"%A/%A - %B/[%N. ][%A - ]%T"},{"addontype":"xbmc.audioencoder","allowempty":false,"control":{"delayed":false,"format":"addon","type":"button"},"default":"audioencoder.xbmc.builtin.wav","enabled":true,"help":"Select which audio encoder to use when ripping.","id":"audiocds.encoder","label":"Encoder","level":"expert","parent":"","type":"addon","value":"audioencoder.xbmc.builtin.wav"},{"control":{"delayed":false,"format":"action","type":"button"},"enabled":false,"help":"Configure audio encoder settings such as quality and compression level","id":"audiocds.settings","label":"Settings","level":"expert","parent":"audiocds.encoder","type":"action"},{"control":{"delayed":false,"format":"boolean","type":"toggle"},"default":true,"enabled":true,"help":"Auto eject disc after rip is complete.","id":"audiocds.ejectonrip","label":"Eject disc when the CD ripping is complete","level":"expert","parent":"","type":"boolean","value":true},{"control":{"delayed":false,"format":"boolean","type":"toggle"},"default":true,"enabled":true,"help":"If EXIF information exists (date, time, camera used, etc.), it will be displayed.","id":"pictures.usetags","label":"Show EXIF picture information","level":"standard","parent":"","type":"boolean","value":true},{"control":{"delayed":false,"format":"string","formatlabel":"%i sec","type":"spinner"},"default":5,"enabled":true,"help":"Select the amount of time that each image is displayed in a slideshow.","id":"slideshow.staytime","label":"Amount of time to display each image","level":"basic","maximum":100,"minimum":1,"parent":"","step":1,"type":"integer","value":5},{"control":{"delayed":false,"format":"boolean","type":"toggle"},"default":true,"enabled":true,"help":"Images in a slideshow will pan and zoom while displayed.","id":"slideshow.displayeffects","label":"Use pan and zoom effects","level":"standard","parent":"","type":"boolean","value":true},{"control":{"delayed":false,"format":"boolean","type":"toggle"},"default":false,"enabled":true,"help":"View slideshow images in a random order.","id":"slideshow.shuffle","label":"Randomise","level":"basic","parent":"","type":"boolean","value":false},{"control":{"delayed":false,"format":"boolean","type":"toggle"},"default":false,"enabled":true,"help":"Enable high quality downscaling of pictures (uses more memory and has moderate performance impact).","id":"slideshow.highqualitydownscaling","label":"High quality downscaling","level":"standard","parent":"","type":"boolean","value":false},{"allowempty":false,"control":{"delayed":false,"format":"string","multiselect":false,"type":"list"},"default":"original","enabled":true,"help":"Defaults to the selected audio language if more than one language is available.","id":"locale.audiolanguage","label":"Preferred audio language","level":"basic","options":[{"label":"Original stream's language","value":"original"},{"label":"User interface language","value":"default"},{"label":"Abkhazian","value":"Abkhazian"},{"label":"Afar","value":"Afar"},{"label":"Afrikaans","value":"Afrikaans"},{"label":"Akan","value":"Akan"},{"label":"Albanian","value":"Albanian"},{"label":"Amharic","value":"Amharic"},{"label":"Arabic","value":"Arabic"},{"label":"Aragonese","value":"Aragonese"},{"label":"Armenian","value":"Armenian"},{"label":"Assamese","value":"Assamese"},{"label":"Avaric","value":"Avaric"},{"label":"Avestan","value":"Avestan"},{"label":"Aymara","value":"Aymara"},{"label":"Azerbaijani","value":"Azerbaijani"},{"label":"Bambara","value":"Bambara"},{"label":"Bashkir","value":"Bashkir"},{"label":"Basque","value":"Basque"},{"label":"Belarusian","value":"Belarusian"},{"label":"Bengali; Bangla","value":"Bengali; Bangla"},{"label":"Bihari","value":"Bihari"},{"label":"Bislama","value":"Bislama"},{"label":"Bosnian","value":"Bosnian"},{"label":"Breton","value":"Breton"},{"label":"Bulgarian","value":"Bulgarian"},{"label":"Burmese","value":"Burmese"},{"label":"Catalan","value":"Catalan"},{"label":"Chamorro","value":"Chamorro"},{"label":"Chechen","value":"Chechen"},{"label":"Chichewa","value":"Chichewa"},{"label":"Chinese","value":"Chinese"},{"label":"Church Slavic","value":"Church Slavic"},{"label":"Chuvash","value":"Chuvash"},{"label":"Cornish","value":"Cornish"},{"label":"Corsican","value":"Corsican"},{"label":"Cree","value":"Cree"},{"label":"Croatian","value":"Croatian"},{"label":"Czech","value":"Czech"},{"label":"Danish","value":"Danish"},{"label":"Dhivehi","value":"Dhivehi"},{"label":"Dutch","value":"Dutch"},{"label":"Dzongkha","value":"Dzongkha"},{"label":"English","value":"English"},{"label":"Esperanto","value":"Esperanto"},{"label":"Estonian","value":"Estonian"},{"label":"Ewe","value":"Ewe"},{"label":"Faroese","value":"Faroese"},{"label":"Fijian","value":"Fijian"},{"label":"Finnish","value":"Finnish"},{"label":"French","value":"French"},{"label":"Fulah","value":"Fulah"},{"label":"Galician","value":"Galician"},{"label":"Ganda","value":"Ganda"},{"label":"Georgian","value":"Georgian"},{"label":"German","value":"German"},{"label":"Greek","value":"Greek"},{"label":"Guarani","value":"Guarani"},{"label":"Gujarati","value":"Gujarati"},{"label":"Haitian","value":"Haitian"},{"label":"Hausa","value":"Hausa"},{"label":"Hebrew","value":"Hebrew"},{"label":"Herero","value":"Herero"},{"label":"Hindi","value":"Hindi"},{"label":"Hiri Motu","value":"Hiri Motu"},{"label":"Hungarian","value":"Hungarian"},{"label":"Icelandic","value":"Icelandic"},{"label":"Ido","value":"Ido"},{"label":"Igbo","value":"Igbo"},{"label":"Indonesian","value":"Indonesian"},{"label":"Interlingua","value":"Interlingua"},{"label":"Interlingue","value":"Interlingue"},{"label":"Inuktitut","value":"Inuktitut"},{"label":"Inupiat","value":"Inupiat"},{"label":"Irish","value":"Irish"},{"label":"Italian","value":"Italian"},{"label":"Japanese","value":"Japanese"},{"label":"Javanese","value":"Javanese"},{"label":"Kalaallisut","value":"Kalaallisut"},{"label":"Kannada","value":"Kannada"},{"label":"Kanuri","value":"Kanuri"},{"label":"Kashmiri","value":"Kashmiri"},{"label":"Kazakh","value":"Kazakh"},{"label":"Khmer","value":"Khmer"},{"label":"Kikuyu","value":"Kikuyu"},{"label":"Kinyarwanda","value":"Kinyarwanda"},{"label":"Kirghiz","value":"Kirghiz"},{"label":"Kirundi","value":"Kirundi"},{"label":"Komi","value":"Komi"},{"label":"Kongo","value":"Kongo"},{"label":"Korean","value":"Korean"},{"label":"Kuanyama","value":"Kuanyama"},{"label":"Kurdish","value":"Kurdish"},{"label":"Lao","value":"Lao"},{"label":"Latin","value":"Latin"},{"label":"Latvian, Lettish","value":"Latvian, Lettish"},{"label":"Limburgan","value":"Limburgan"},{"label":"Lingala","value":"Lingala"},{"label":"Lithuanian","value":"Lithuanian"},{"label":"Luba-Katanga","value":"Luba-Katanga"},{"label":"Luxembourgish","value":"Luxembourgish"},{"label":"Macedonian","value":"Macedonian"},{"label":"Malagasy","value":"Malagasy"},{"label":"Malay","value":"Malay"},{"label":"Malayalam","value":"Malayalam"},{"label":"Maltese","value":"Maltese"},{"label":"Manx","value":"Manx"},{"label":"Maori","value":"Maori"},{"label":"Marathi","value":"Marathi"},{"label":"Marshallese","value":"Marshallese"},{"label":"Mongolian","value":"Mongolian"},{"label":"Nauru","value":"Nauru"},{"label":"Navajo","value":"Navajo"},{"label":"Ndebele, North","value":"Ndebele, North"},{"label":"Ndebele, South","value":"Ndebele, South"},{"label":"Ndonga","value":"Ndonga"},{"label":"Nepali","value":"Nepali"},{"label":"Northern Sami","value":"Northern Sami"},{"label":"Norwegian","value":"Norwegian"},{"label":"Norwegian Bokmål","value":"Norwegian Bokmål"},{"label":"Norwegian Nynorsk","value":"Norwegian Nynorsk"},{"label":"Occitan","value":"Occitan"},{"label":"Ojibwa","value":"Ojibwa"},{"label":"Oriya","value":"Oriya"},{"label":"Oromo","value":"Oromo"},{"label":"Ossetic","value":"Ossetic"},{"label":"Pali","value":"Pali"},{"label":"Pashto, Pushto","value":"Pashto, Pushto"},{"label":"Persian","value":"Persian"},{"label":"Polish","value":"Polish"},{"label":"Portuguese","value":"Portuguese"},{"label":"Punjabi","value":"Punjabi"},{"label":"Quechua","value":"Quechua"},{"label":"Romanian","value":"Romanian"},{"label":"Romansh","value":"Romansh"},{"label":"Russian","value":"Russian"},{"label":"Samoan","value":"Samoan"},{"label":"Sangho","value":"Sangho"},{"label":"Sanskrit","value":"Sanskrit"},{"label":"Sardinian","value":"Sardinian"},{"label":"Scottish Gaelic","value":"Scottish Gaelic"},{"label":"Serbian","value":"Serbian"},{"label":"Serbo-Croatian","value":"Serbo-Croatian"},{"label":"Sesotho","value":"Sesotho"},{"label":"Shona","value":"Shona"},{"label":"Sichuan Yi","value":"Sichuan Yi"},{"label":"Sindhi","value":"Sindhi"},{"label":"Sinhalese","value":"Sinhalese"},{"label":"Slovak","value":"Slovak"},{"label":"Slovenian","value":"Slovenian"},{"label":"Somali","value":"Somali"},{"label":"Spanish","value":"Spanish"},{"label":"Sundanese","value":"Sundanese"},{"label":"Swahili","value":"Swahili"},{"label":"Swati","value":"Swati"},{"label":"Swedish","value":"Swedish"},{"label":"Tagalog","value":"Tagalog"},{"label":"Tahitian","value":"Tahitian"},{"label":"Tajik","value":"Tajik"},{"label":"Tamil","value":"Tamil"},{"label":"Tatar","value":"Tatar"},{"label":"Telugu","value":"Telugu"},{"label":"Thai","value":"Thai"},{"label":"Tibetan","value":"Tibetan"},{"label":"Tigrinya","value":"Tigrinya"},{"label":"Tonga","value":"Tonga"},{"label":"Tsonga","value":"Tsonga"},{"label":"Tswana","value":"Tswana"},{"label":"Turkish","value":"Turkish"},{"label":"Turkmen","value":"Turkmen"},{"label":"Twi","value":"Twi"},{"label":"Uighur","value":"Uighur"},{"label":"Ukrainian","value":"Ukrainian"},{"label":"Urdu","value":"Urdu"},{"label":"Uzbek","value":"Uzbek"},{"label":"Venda","value":"Venda"},{"label":"Vietnamese","value":"Vietnamese"},{"label":"Volapuk","value":"Volapuk"},{"label":"Walloon","value":"Walloon"},{"label":"Welsh","value":"Welsh"},{"label":"Western Frisian","value":"Western Frisian"},{"label":"Wolof","value":"Wolof"},{"label":"Xhosa","value":"Xhosa"},{"label":"Yiddish","value":"Yiddish"},{"label":"Yoruba","value":"Yoruba"},{"label":"Zhuang","value":"Zhuang"},{"label":"Zulu","value":"Zulu"}],"parent":"","type":"string","value":"original"},{"control":{"delayed":false,"format":"boolean","type":"toggle"},"default":true,"enabled":true,"help":"If enabled, audio streams that are flagged as default (and match the preferred language) are preferred over audio streams with higher quality (number of channels, codec, ...).","id":"videoplayer.preferdefaultflag","label":"Prefer default audio streams","level":"standard","parent":"","type":"boolean","value":true},{"allowempty":false,"control":{"delayed":false,"format":"string","multiselect":false,"type":"list"},"default":"original","enabled":true,"help":"Defaults to the selected subtitle language if more than one language is available.","id":"locale.subtitlelanguage","label":"Preferred subtitle language","level":"basic","options":[{"label":"None","value":"none"},{"label":"Forced only","value":"forced_only"},{"label":"Original stream's language","value":"original"},{"label":"User interface language","value":"default"},{"label":"Abkhazian","value":"Abkhazian"},{"label":"Afar","value":"Afar"},{"label":"Afrikaans","value":"Afrikaans"},{"label":"Akan","value":"Akan"},{"label":"Albanian","value":"Albanian"},{"label":"Amharic","value":"Amharic"},{"label":"Arabic","value":"Arabic"},{"label":"Aragonese","value":"Aragonese"},{"label":"Armenian","value":"Armenian"},{"label":"Assamese","value":"Assamese"},{"label":"Avaric","value":"Avaric"},{"label":"Avestan","value":"Avestan"},{"label":"Aymara","value":"Aymara"},{"label":"Azerbaijani","value":"Azerbaijani"},{"label":"Bambara","value":"Bambara"},{"label":"Bashkir","value":"Bashkir"},{"label":"Basque","value":"Basque"},{"label":"Belarusian","value":"Belarusian"},{"label":"Bengali; Bangla","value":"Bengali; Bangla"},{"label":"Bihari","value":"Bihari"},{"label":"Bislama","value":"Bislama"},{"label":"Bosnian","value":"Bosnian"},{"label":"Breton","value":"Breton"},{"label":"Bulgarian","value":"Bulgarian"},{"label":"Burmese","value":"Burmese"},{"label":"Catalan","value":"Catalan"},{"label":"Chamorro","value":"Chamorro"},{"label":"Chechen","value":"Chechen"},{"label":"Chichewa","value":"Chichewa"},{"label":"Chinese","value":"Chinese"},{"label":"Church Slavic","value":"Church Slavic"},{"label":"Chuvash","value":"Chuvash"},{"label":"Cornish","value":"Cornish"},{"label":"Corsican","value":"Corsican"},{"label":"Cree","value":"Cree"},{"label":"Croatian","value":"Croatian"},{"label":"Czech","value":"Czech"},{"label":"Danish","value":"Danish"},{"label":"Dhivehi","value":"Dhivehi"},{"label":"Dutch","value":"Dutch"},{"label":"Dzongkha","value":"Dzongkha"},{"label":"English","value":"English"},{"label":"Esperanto","value":"Esperanto"},{"label":"Estonian","value":"Estonian"},{"label":"Ewe","value":"Ewe"},{"label":"Faroese","value":"Faroese"},{"label":"Fijian","value":"Fijian"},{"label":"Finnish","value":"Finnish"},{"label":"French","value":"French"},{"label":"Fulah","value":"Fulah"},{"label":"Galician","value":"Galician"},{"label":"Ganda","value":"Ganda"},{"label":"Georgian","value":"Georgian"},{"label":"German","value":"German"},{"label":"Greek","value":"Greek"},{"label":"Guarani","value":"Guarani"},{"label":"Gujarati","value":"Gujarati"},{"label":"Haitian","value":"Haitian"},{"label":"Hausa","value":"Hausa"},{"label":"Hebrew","value":"Hebrew"},{"label":"Herero","value":"Herero"},{"label":"Hindi","value":"Hindi"},{"label":"Hiri Motu","value":"Hiri Motu"},{"label":"Hungarian","value":"Hungarian"},{"label":"Icelandic","value":"Icelandic"},{"label":"Ido","value":"Ido"},{"label":"Igbo","value":"Igbo"},{"label":"Indonesian","value":"Indonesian"},{"label":"Interlingua","value":"Interlingua"},{"label":"Interlingue","value":"Interlingue"},{"label":"Inuktitut","value":"Inuktitut"},{"label":"Inupiat","value":"Inupiat"},{"label":"Irish","value":"Irish"},{"label":"Italian","value":"Italian"},{"label":"Japanese","value":"Japanese"},{"label":"Javanese","value":"Javanese"},{"label":"Kalaallisut","value":"Kalaallisut"},{"label":"Kannada","value":"Kannada"},{"label":"Kanuri","value":"Kanuri"},{"label":"Kashmiri","value":"Kashmiri"},{"label":"Kazakh","value":"Kazakh"},{"label":"Khmer","value":"Khmer"},{"label":"Kikuyu","value":"Kikuyu"},{"label":"Kinyarwanda","value":"Kinyarwanda"},{"label":"Kirghiz","value":"Kirghiz"},{"label":"Kirundi","value":"Kirundi"},{"label":"Komi","value":"Komi"},{"label":"Kongo","value":"Kongo"},{"label":"Korean","value":"Korean"},{"label":"Kuanyama","value":"Kuanyama"},{"label":"Kurdish","value":"Kurdish"},{"label":"Lao","value":"Lao"},{"label":"Latin","value":"Latin"},{"label":"Latvian, Lettish","value":"Latvian, Lettish"},{"label":"Limburgan","value":"Limburgan"},{"label":"Lingala","value":"Lingala"},{"label":"Lithuanian","value":"Lithuanian"},{"label":"Luba-Katanga","value":"Luba-Katanga"},{"label":"Luxembourgish","value":"Luxembourgish"},{"label":"Macedonian","value":"Macedonian"},{"label":"Malagasy","value":"Malagasy"},{"label":"Malay","value":"Malay"},{"label":"Malayalam","value":"Malayalam"},{"label":"Maltese","value":"Maltese"},{"label":"Manx","value":"Manx"},{"label":"Maori","value":"Maori"},{"label":"Marathi","value":"Marathi"},{"label":"Marshallese","value":"Marshallese"},{"label":"Mongolian","value":"Mongolian"},{"label":"Nauru","value":"Nauru"},{"label":"Navajo","value":"Navajo"},{"label":"Ndebele, North","value":"Ndebele, North"},{"label":"Ndebele, South","value":"Ndebele, South"},{"label":"Ndonga","value":"Ndonga"},{"label":"Nepali","value":"Nepali"},{"label":"Northern Sami","value":"Northern Sami"},{"label":"Norwegian","value":"Norwegian"},{"label":"Norwegian Bokmål","value":"Norwegian Bokmål"},{"label":"Norwegian Nynorsk","value":"Norwegian Nynorsk"},{"label":"Occitan","value":"Occitan"},{"label":"Ojibwa","value":"Ojibwa"},{"label":"Oriya","value":"Oriya"},{"label":"Oromo","value":"Oromo"},{"label":"Ossetic","value":"Ossetic"},{"label":"Pali","value":"Pali"},{"label":"Pashto, Pushto","value":"Pashto, Pushto"},{"label":"Persian","value":"Persian"},{"label":"Polish","value":"Polish"},{"label":"Portuguese","value":"Portuguese"},{"label":"Punjabi","value":"Punjabi"},{"label":"Quechua","value":"Quechua"},{"label":"Romanian","value":"Romanian"},{"label":"Romansh","value":"Romansh"},{"label":"Russian","value":"Russian"},{"label":"Samoan","value":"Samoan"},{"label":"Sangho","value":"Sangho"},{"label":"Sanskrit","value":"Sanskrit"},{"label":"Sardinian","value":"Sardinian"},{"label":"Scottish Gaelic","value":"Scottish Gaelic"},{"label":"Serbian","value":"Serbian"},{"label":"Serbo-Croatian","value":"Serbo-Croatian"},{"label":"Sesotho","value":"Sesotho"},{"label":"Shona","value":"Shona"},{"label":"Sichuan Yi","value":"Sichuan Yi"},{"label":"Sindhi","value":"Sindhi"},{"label":"Sinhalese","value":"Sinhalese"},{"label":"Slovak","value":"Slovak"},{"label":"Slovenian","value":"Slovenian"},{"label":"Somali","value":"Somali"},{"label":"Spanish","value":"Spanish"},{"label":"Sundanese","value":"Sundanese"},{"label":"Swahili","value":"Swahili"},{"label":"Swati","value":"Swati"},{"label":"Swedish","value":"Swedish"},{"label":"Tagalog","value":"Tagalog"},{"label":"Tahitian","value":"Tahitian"},{"label":"Tajik","value":"Tajik"},{"label":"Tamil","value":"Tamil"},{"label":"Tatar","value":"Tatar"},{"label":"Telugu","value":"Telugu"},{"label":"Thai","value":"Thai"},{"label":"Tibetan","value":"Tibetan"},{"label":"Tigrinya","value":"Tigrinya"},{"label":"Tonga","value":"Tonga"},{"label":"Tsonga","value":"Tsonga"},{"label":"Tswana","value":"Tswana"},{"label":"Turkish","value":"Turkish"},{"label":"Turkmen","value":"Turkmen"},{"label":"Twi","value":"Twi"},{"label":"Uighur","value":"Uighur"},{"label":"Ukrainian","value":"Ukrainian"},{"label":"Urdu","value":"Urdu"},{"label":"Uzbek","value":"Uzbek"},{"label":"Venda","value":"Venda"},{"label":"Vietnamese","value":"Vietnamese"},{"label":"Volapuk","value":"Volapuk"},{"label":"Walloon","value":"Walloon"},{"label":"Welsh","value":"Welsh"},{"label":"Western Frisian","value":"Western Frisian"},{"label":"Wolof","value":"Wolof"},{"label":"Xhosa","value":"Xhosa"},{"label":"Yiddish","value":"Yiddish"},{"label":"Yoruba","value":"Yoruba"},{"label":"Zhuang","value":"Zhuang"},{"label":"Zulu","value":"Zulu"}],"parent":"","type":"string","value":"original"},{"control":{"delayed":false,"format":"boolean","type":"toggle"},"default":false,"enabled":true,"help":"Enable to parse for CC in video stream. Puts slightly more load on the CPU","id":"subtitles.parsecaptions","label":"Enable parsing for closed captions","level":"standard","parent":"","type":"boolean","value":false},{"control":{"delayed":false,"format":"string","multiselect":false,"type":"list"},"default":0,"enabled":true,"help":"Location of subtitles on the screen.","id":"subtitles.align","label":"Subtitle position on screen","level":"advanced","options":[{"label":"Fixed","value":0},{"label":"Bottom of video","value":1},{"label":"Below video","value":2},{"label":"Top of video","value":3},{"label":"Above video","value":4}],"parent":"","type":"integer","value":0},{"control":{"delayed":true,"format":"integer","type":"spinner"},"default":0,"enabled":true,"help":"Sets the visual depth of subtitles for stereoscopic 3D videos. The higher the value, the closer the subtitles will appear to the viewer.","id":"subtitles.stereoscopicdepth","label":"Stereoscopic 3D depth of subtitles","level":"advanced","maximum":10,"minimum":0,"parent":"","step":1,"type":"integer","value":0},{"allowempty":false,"control":{"delayed":false,"format":"string","multiselect":false,"type":"list"},"default":"arial.ttf","enabled":true,"help":"Set the font type to be used for text based (usually downloaded) subtitles.","id":"subtitles.font","label":"Font to use for text subtitles","level":"standard","options":[{"label":"arial.ttf","value":"arial.ttf"},{"label":"teletext.ttf","value":"teletext.ttf"}],"parent":"","type":"string","value":"arial.ttf"},{"allowempty":false,"control":{"delayed":false,"format":"string","multiselect":false,"type":"list"},"default":"DEFAULT","enabled":true,"help":"Set the font character set to be used for subtitles.","id":"subtitles.charset","label":"Character set","level":"standard","options":[{"label":"Default","value":"DEFAULT"},{"label":"Arabic (ISO)","value":"ISO-8859-6"},{"label":"Arabic (Windows)","value":"CP1256"},{"label":"Baltic (ISO)","value":"ISO-8859-4"},{"label":"Baltic (Windows)","value":"CP1257"},{"label":"Central Europe (ISO)","value":"ISO-8859-2"},{"label":"Central Europe (Windows)","value":"CP1250"},{"label":"Chinese Simplified (GBK)","value":"GBK"},{"label":"Chinese Traditional (Big5)","value":"BIG5"},{"label":"Cyrillic (ISO)","value":"ISO-8859-5"},{"label":"Cyrillic (Windows)","value":"CP1251"},{"label":"Greek (ISO)","value":"ISO-8859-7"},{"label":"Greek (Windows)","value":"CP1253"},{"label":"Hebrew (ISO)","value":"ISO-8859-8"},{"label":"Hebrew (Windows)","value":"CP1255"},{"label":"Hong Kong (Big5-HKSCS)","value":"BIG5-HKSCS"},{"label":"Japanese (Shift-JIS)","value":"SHIFT_JIS"},{"label":"Korean","value":"CP949"},{"label":"South Europe (ISO)","value":"ISO-8859-3"},{"label":"Thai (Windows)","value":"CP874"},{"label":"Turkish (ISO)","value":"ISO-8859-9"},{"label":"Turkish (Windows)","value":"CP1254"},{"label":"Vietnamesse (Windows)","value":"CP1258"},{"label":"Western Europe (ISO)","value":"ISO-8859-1"},{"label":"Western Europe (Windows)","value":"CP1252"}],"parent":"subtitles.font","type":"string","value":"DEFAULT"},{"control":{"delayed":false,"format":"string","multiselect":false,"type":"list"},"default":28,"enabled":true,"help":"Set the font size to be used for subtitles.","id":"subtitles.height","label":"Size","level":"expert","maximum":74,"minimum":12,"parent":"subtitles.font","step":2,"type":"integer","value":28},{"control":{"delayed":false,"format":"string","multiselect":false,"type":"list"},"default":1,"enabled":true,"help":"Set the font style to be used for subtitles.","id":"subtitles.style","label":"Style","level":"expert","options":[{"label":"Normal","value":0},{"label":"Bold","value":1},{"label":"Italics","value":2},{"label":"Bold italics","value":3}],"parent":"subtitles.font","type":"integer","value":1},{"control":{"delayed":false,"format":"string","multiselect":false,"type":"list"},"default":1,"enabled":true,"help":"Set the font colour to be used for subtitles.","id":"subtitles.color","label":"Colour","level":"expert","options":[{"label":"Yellow","value":0},{"label":"White","value":1},{"label":"Blue","value":2},{"label":"Bright green","value":3},{"label":"Yellow green","value":4},{"label":"Cyan","value":5},{"label":"Light grey","value":6},{"label":"Grey","value":7}],"parent":"subtitles.font","type":"integer","value":1},{"control":{"delayed":false,"format":"boolean","type":"toggle"},"default":false,"enabled":true,"help":"Override ASS / SSA subtitles fonts.","id":"subtitles.overrideassfonts","label":"Override ASS / SSA subtitles fonts","level":"expert","parent":"","type":"boolean","value":false},{"control":{"delayed":false,"format":"string","multiselect":true,"type":"list"},"default":["English"],"definition":{"allowempty":false,"control":{"delayed":false,"format":"string","multiselect":true,"type":"list"},"default":"English","enabled":true,"help":"Set languages to use when searching for subtitles.[CR]Note: Not all subtitle services will use all languages.","id":"subtitles.languages.definition","label":"Languages to download subtitles for","level":"standard","options":[{"label":"Original stream's language","value":"original"},{"label":"User interface language","value":"default"},{"label":"Abkhazian","value":"Abkhazian"},{"label":"Afar","value":"Afar"},{"label":"Afrikaans","value":"Afrikaans"},{"label":"Akan","value":"Akan"},{"label":"Albanian","value":"Albanian"},{"label":"Amharic","value":"Amharic"},{"label":"Arabic","value":"Arabic"},{"label":"Aragonese","value":"Aragonese"},{"label":"Armenian","value":"Armenian"},{"label":"Assamese","value":"Assamese"},{"label":"Avaric","value":"Avaric"},{"label":"Avestan","value":"Avestan"},{"label":"Aymara","value":"Aymara"},{"label":"Azerbaijani","value":"Azerbaijani"},{"label":"Bambara","value":"Bambara"},{"label":"Bashkir","value":"Bashkir"},{"label":"Basque","value":"Basque"},{"label":"Belarusian","value":"Belarusian"},{"label":"Bengali; Bangla","value":"Bengali; Bangla"},{"label":"Bihari","value":"Bihari"},{"label":"Bislama","value":"Bislama"},{"label":"Bosnian","value":"Bosnian"},{"label":"Breton","value":"Breton"},{"label":"Bulgarian","value":"Bulgarian"},{"label":"Burmese","value":"Burmese"},{"label":"Catalan","value":"Catalan"},{"label":"Chamorro","value":"Chamorro"},{"label":"Chechen","value":"Chechen"},{"label":"Chichewa","value":"Chichewa"},{"label":"Chinese","value":"Chinese"},{"label":"Church Slavic","value":"Church Slavic"},{"label":"Chuvash","value":"Chuvash"},{"label":"Cornish","value":"Cornish"},{"label":"Corsican","value":"Corsican"},{"label":"Cree","value":"Cree"},{"label":"Croatian","value":"Croatian"},{"label":"Czech","value":"Czech"},{"label":"Danish","value":"Danish"},{"label":"Dhivehi","value":"Dhivehi"},{"label":"Dutch","value":"Dutch"},{"label":"Dzongkha","value":"Dzongkha"},{"label":"English","value":"English"},{"label":"Esperanto","value":"Esperanto"},{"label":"Estonian","value":"Estonian"},{"label":"Ewe","value":"Ewe"},{"label":"Faroese","value":"Faroese"},{"label":"Fijian","value":"Fijian"},{"label":"Finnish","value":"Finnish"},{"label":"French","value":"French"},{"label":"Fulah","value":"Fulah"},{"label":"Galician","value":"Galician"},{"label":"Ganda","value":"Ganda"},{"label":"Georgian","value":"Georgian"},{"label":"German","value":"German"},{"label":"Greek","value":"Greek"},{"label":"Guarani","value":"Guarani"},{"label":"Gujarati","value":"Gujarati"},{"label":"Haitian","value":"Haitian"},{"label":"Hausa","value":"Hausa"},{"label":"Hebrew","value":"Hebrew"},{"label":"Herero","value":"Herero"},{"label":"Hindi","value":"Hindi"},{"label":"Hiri Motu","value":"Hiri Motu"},{"label":"Hungarian","value":"Hungarian"},{"label":"Icelandic","value":"Icelandic"},{"label":"Ido","value":"Ido"},{"label":"Igbo","value":"Igbo"},{"label":"Indonesian","value":"Indonesian"},{"label":"Interlingua","value":"Interlingua"},{"label":"Interlingue","value":"Interlingue"},{"label":"Inuktitut","value":"Inuktitut"},{"label":"Inupiat","value":"Inupiat"},{"label":"Irish","value":"Irish"},{"label":"Italian","value":"Italian"},{"label":"Japanese","value":"Japanese"},{"label":"Javanese","value":"Javanese"},{"label":"Kalaallisut","value":"Kalaallisut"},{"label":"Kannada","value":"Kannada"},{"label":"Kanuri","value":"Kanuri"},{"label":"Kashmiri","value":"Kashmiri"},{"label":"Kazakh","value":"Kazakh"},{"label":"Khmer","value":"Khmer"},{"label":"Kikuyu","value":"Kikuyu"},{"label":"Kinyarwanda","value":"Kinyarwanda"},{"label":"Kirghiz","value":"Kirghiz"},{"label":"Kirundi","value":"Kirundi"},{"label":"Komi","value":"Komi"},{"label":"Kongo","value":"Kongo"},{"label":"Korean","value":"Korean"},{"label":"Kuanyama","value":"Kuanyama"},{"label":"Kurdish","value":"Kurdish"},{"label":"Lao","value":"Lao"},{"label":"Latin","value":"Latin"},{"label":"Latvian, Lettish","value":"Latvian, Lettish"},{"label":"Limburgan","value":"Limburgan"},{"label":"Lingala","value":"Lingala"},{"label":"Lithuanian","value":"Lithuanian"},{"label":"Luba-Katanga","value":"Luba-Katanga"},{"label":"Luxembourgish","value":"Luxembourgish"},{"label":"Macedonian","value":"Macedonian"},{"label":"Malagasy","value":"Malagasy"},{"label":"Malay","value":"Malay"},{"label":"Malayalam","value":"Malayalam"},{"label":"Maltese","value":"Maltese"},{"label":"Manx","value":"Manx"},{"label":"Maori","value":"Maori"},{"label":"Marathi","value":"Marathi"},{"label":"Marshallese","value":"Marshallese"},{"label":"Mongolian","value":"Mongolian"},{"label":"Nauru","value":"Nauru"},{"label":"Navajo","value":"Navajo"},{"label":"Ndebele, North","value":"Ndebele, North"},{"label":"Ndebele, South","value":"Ndebele, South"},{"label":"Ndonga","value":"Ndonga"},{"label":"Nepali","value":"Nepali"},{"label":"Northern Sami","value":"Northern Sami"},{"label":"Norwegian","value":"Norwegian"},{"label":"Norwegian Bokmål","value":"Norwegian Bokmål"},{"label":"Norwegian Nynorsk","value":"Norwegian Nynorsk"},{"label":"Occitan","value":"Occitan"},{"label":"Ojibwa","value":"Ojibwa"},{"label":"Oriya","value":"Oriya"},{"label":"Oromo","value":"Oromo"},{"label":"Ossetic","value":"Ossetic"},{"label":"Pali","value":"Pali"},{"label":"Pashto, Pushto","value":"Pashto, Pushto"},{"label":"Persian","value":"Persian"},{"label":"Polish","value":"Polish"},{"label":"Portuguese","value":"Portuguese"},{"label":"Punjabi","value":"Punjabi"},{"label":"Quechua","value":"Quechua"},{"label":"Romanian","value":"Romanian"},{"label":"Romansh","value":"Romansh"},{"label":"Russian","value":"Russian"},{"label":"Samoan","value":"Samoan"},{"label":"Sangho","value":"Sangho"},{"label":"Sanskrit","value":"Sanskrit"},{"label":"Sardinian","value":"Sardinian"},{"label":"Scottish Gaelic","value":"Scottish Gaelic"},{"label":"Serbian","value":"Serbian"},{"label":"Serbo-Croatian","value":"Serbo-Croatian"},{"label":"Sesotho","value":"Sesotho"},{"label":"Shona","value":"Shona"},{"label":"Sichuan Yi","value":"Sichuan Yi"},{"label":"Sindhi","value":"Sindhi"},{"label":"Sinhalese","value":"Sinhalese"},{"label":"Slovak","value":"Slovak"},{"label":"Slovenian","value":"Slovenian"},{"label":"Somali","value":"Somali"},{"label":"Spanish","value":"Spanish"},{"label":"Sundanese","value":"Sundanese"},{"label":"Swahili","value":"Swahili"},{"label":"Swati","value":"Swati"},{"label":"Swedish","value":"Swedish"},{"label":"Tagalog","value":"Tagalog"},{"label":"Tahitian","value":"Tahitian"},{"label":"Tajik","value":"Tajik"},{"label":"Tamil","value":"Tamil"},{"label":"Tatar","value":"Tatar"},{"label":"Telugu","value":"Telugu"},{"label":"Thai","value":"Thai"},{"label":"Tibetan","value":"Tibetan"},{"label":"Tigrinya","value":"Tigrinya"},{"label":"Tonga","value":"Tonga"},{"label":"Tsonga","value":"Tsonga"},{"label":"Tswana","value":"Tswana"},{"label":"Turkish","value":"Turkish"},{"label":"Turkmen","value":"Turkmen"},{"label":"Twi","value":"Twi"},{"label":"Uighur","value":"Uighur"},{"label":"Ukrainian","value":"Ukrainian"},{"label":"Urdu","value":"Urdu"},{"label":"Uzbek","value":"Uzbek"},{"label":"Venda","value":"Venda"},{"label":"Vietnamese","value":"Vietnamese"},{"label":"Volapuk","value":"Volapuk"},{"label":"Walloon","value":"Walloon"},{"label":"Welsh","value":"Welsh"},{"label":"Western Frisian","value":"Western Frisian"},{"label":"Wolof","value":"Wolof"},{"label":"Xhosa","value":"Xhosa"},{"label":"Yiddish","value":"Yiddish"},{"label":"Yoruba","value":"Yoruba"},{"label":"Zhuang","value":"Zhuang"},{"label":"Zulu","value":"Zulu"}],"parent":"","type":"string","value":"English"},"delimiter":",","elementtype":"string","enabled":true,"help":"Set languages to use when searching for subtitles.[CR]Note: Not all subtitle services will use all languages.","id":"subtitles.languages","label":"Languages to download subtitles for","level":"standard","maximumItems":-1,"minimumItems":1,"parent":"","type":"list","value":["English"]},{"control":{"delayed":false,"format":"integer","multiselect":false,"type":"list"},"default":0,"enabled":true,"help":"Specify where downloaded subtitles should be saved, the same location as the video or a custom location.","id":"subtitles.storagemode","label":"Subtitle storage location","level":"advanced","options":[{"label":"Next to the video","value":0},{"label":"Custom location","value":1}],"parent":"","type":"integer","value":0},{"allowempty":true,"control":{"delayed":false,"format":"path","heading":"Browse for folder","type":"button"},"default":"","enabled":true,"help":"Set a custom directory for your subtitles. This can be a file share.","id":"subtitles.custompath","label":"Custom subtitle folder","level":"advanced","parent":"subtitles.storagemode","sources":["videos"],"type":"path","value":"","writable":false},{"control":{"delayed":false,"format":"boolean","type":"toggle"},"default":true,"enabled":true,"help":"Pause the current video while searching for subtitles and resume once the subtitle is available.","id":"subtitles.pauseonsearch","label":"Pause when searching for subtitles","level":"advanced","parent":"","type":"boolean","value":true},{"control":{"delayed":false,"format":"boolean","type":"toggle"},"default":false,"enabled":true,"help":"Automatically download first subtitle from the search result list","id":"subtitles.downloadfirst","label":"Auto download first subtitle","level":"advanced","parent":"","type":"boolean","value":false},{"addontype":"xbmc.subtitle.module","allowempty":true,"control":{"delayed":false,"format":"addon","type":"button"},"default":"","enabled":true,"help":"Select the service that will be used as default to search for TV show subtitles.","id":"subtitles.tv","label":"Default TV show service","level":"standard","parent":"","type":"addon","value":""},{"addontype":"xbmc.subtitle.module","allowempty":true,"control":{"delayed":false,"format":"addon","type":"button"},"default":"","enabled":true,"help":"Select the service that will be used as default to search for movie subtitles.","id":"subtitles.movie","label":"Default movie service","level":"standard","parent":"","type":"addon","value":""},{"control":{"delayed":false,"format":"boolean","type":"toggle"},"default":false,"enabled":true,"help":"Prefer the audio stream for the visually impaired to other audio streams of the same language","id":"accessibility.audiovisual","label":"Prefer audio stream for the visually impaired","level":"basic","parent":"","type":"boolean","value":false},{"control":{"delayed":false,"format":"boolean","type":"toggle"},"default":false,"enabled":true,"help":"Prefer the audio stream for the hearing impaired to other audio streams of the same language","id":"accessibility.audiohearing","label":"Prefer audio stream for the hearing impaired","level":"basic","parent":"","type":"boolean","value":false},{"control":{"delayed":false,"format":"boolean","type":"toggle"},"default":false,"enabled":true,"help":"Prefer the subtitle stream for the hearing impaired to other subtitle streams of the same language","id":"accessibility.subhearing","label":"Prefer subtitles for the hearing impaired","level":"basic","parent":"","type":"boolean","value":false},{"control":{"delayed":false,"format":"boolean","type":"toggle"},"default":false,"enabled":true,"help":"Prevent the \"Connection lost\" notification window from displaying when the PVR backend server is not available.","id":"pvrmanager.hideconnectionlostwarning","label":"Disable \"Connection lost\" warnings","level":"advanced","parent":"","type":"boolean","value":false},{"control":{"delayed":false,"format":"boolean","type":"toggle"},"default":true,"enabled":true,"help":"Import channel groups from the PVR backend (if supported). Will delete user created groups if they're not found on the backend.","id":"pvrmanager.syncchannelgroups","label":"Synchronise channel groups with backend(s)","level":"standard","parent":"","type":"boolean","value":true},{"control":{"delayed":false,"format":"boolean","type":"toggle"},"default":true,"enabled":true,"help":"Sort the channels by channel number from the backend, but use own numbering for channels.","id":"pvrmanager.backendchannelorder","label":"Use channel order from backend(s)","level":"advanced","parent":"","type":"boolean","value":true},{"control":{"delayed":false,"format":"boolean","type":"toggle"},"default":false,"enabled":true,"help":"Use the channel numbering from the backend, instead of configuring them manually in the channel manager. Only works with one enabled PVR add-on!","id":"pvrmanager.usebackendchannelnumbers","label":"Use channel numbers from backend","level":"advanced","parent":"","type":"boolean","value":false},{"control":{"delayed":false,"format":"action","type":"button"},"enabled":true,"help":"Open the channel manager, which allows modifying the channel order, channel name, icon, etc.","id":"pvrmanager.channelmanager","label":"Channel manager","level":"standard","parent":"","type":"action"},{"control":{"delayed":false,"format":"action","type":"button"},"enabled":true,"help":"Open the group manager, which allows modification of groups and their respective channels","id":"pvrmanager.groupmanager","label":"Group manager","level":"standard","parent":"","type":"action"},{"control":{"delayed":false,"format":"action","type":"button"},"enabled":true,"help":"Instruct the backend to search for channels (if supported).","id":"pvrmanager.channelscan","label":"Search for channels","level":"standard","parent":"","type":"action"},{"control":{"delayed":false,"format":"action","type":"button"},"enabled":true,"help":"Delete the databases for channels and guide and reimport the data from the backend afterwards.","id":"pvrmanager.resetdb","label":"Clear data","level":"standard","parent":"","type":"action"},{"control":{"delayed":false,"format":"string","formatlabel":"%i sec","minimumlabel":"Off","type":"spinner"},"default":5,"enabled":true,"help":"Display programming information when changing channels, such as the current TV show.","id":"pvrmenu.displaychannelinfo","label":"Show channel information when switching channels","level":"advanced","maximum":15,"minimum":0,"parent":"","step":1,"type":"integer","value":5},{"control":{"delayed":false,"format":"boolean","type":"toggle"},"default":true,"enabled":true,"help":"Close the on screen display controls after switching channels.","id":"pvrmenu.closechannelosdonswitch","label":"Close channel OSD after switching channels","level":"advanced","parent":"","type":"boolean","value":true},{"allowempty":true,"control":{"delayed":false,"format":"path","heading":"Browse for folder","type":"button"},"default":"","enabled":true,"help":"Folder where channel icons are stored.","id":"pvrmenu.iconpath","label":"Folder with channel icons","level":"advanced","parent":"","sources":[],"type":"path","value":"","writable":false},{"control":{"delayed":false,"format":"action","type":"button"},"enabled":false,"help":"Scan for missing channel icons.","id":"pvrmenu.searchicons","label":"Scan for missing icons","level":"standard","parent":"","type":"action"},{"control":{"delayed":false,"format":"string","formatlabel":"%i days","type":"spinner"},"default":3,"enabled":true,"help":"Number of days to show in the guide and import data for from backends.","id":"epg.daystodisplay","label":"Days to display","level":"advanced","maximum":31,"minimum":1,"parent":"","step":1,"type":"integer","value":3},{"control":{"delayed":false,"format":"string","multiselect":false,"type":"list"},"default":2,"enabled":true,"help":"Select what will happen when an item is selected in the guide: [Show context menu] Will trigger the context menu from where you can choose further actions; [Switch to channel] Will instantly tune to the related channel; [Show information] Will display a detailed information with plot and further options; [Record] Will create a recording timer for the selected item.","id":"epg.selectaction","label":"Default select action","level":"standard","options":[{"label":"Show context menu","value":0},{"label":"Switch to channel","value":1},{"label":"Show information","value":2},{"label":"Record","value":3}],"parent":"","type":"integer","value":2},{"control":{"delayed":false,"format":"boolean","type":"toggle"},"default":true,"enabled":true,"help":"Hide \"No information available\" labels when no guide data is available for a channel.","id":"epg.hidenoinfoavailable","label":"Hide \"No information available\" labels","level":"advanced","parent":"","type":"boolean","value":true},{"control":{"delayed":false,"format":"string","formatlabel":"%i min","type":"spinner"},"default":120,"enabled":true,"help":"Time between imports of guide data from backends.","id":"epg.epgupdate","label":"Update interval","level":"advanced","maximum":2880,"minimum":15,"parent":"","step":15,"type":"integer","value":120},{"control":{"delayed":false,"format":"boolean","type":"toggle"},"default":false,"enabled":true,"help":"Don't import the guide data while playing TV to minimise CPU usage.","id":"epg.preventupdateswhileplayingtv","label":"Prevent updates during playback","level":"advanced","parent":"","type":"boolean","value":false},{"control":{"delayed":false,"format":"boolean","type":"toggle"},"default":false,"enabled":true,"help":"By default, the guide data is cached in a local database to speed up importing on startup.","id":"epg.ignoredbforclient","label":"Don't cache in local database","level":"advanced","parent":"","type":"boolean","value":false},{"control":{"delayed":false,"format":"action","type":"button"},"enabled":true,"help":"Delete the cached guide data and reimport it from the backend.","id":"epg.resetepg","label":"Clear data","level":"standard","parent":"","type":"action"},{"control":{"delayed":false,"format":"boolean","type":"toggle"},"default":true,"enabled":true,"help":"Display stream of selected channel in a small box instead of fullscreen.","id":"pvrplayback.playminimized","label":"Start playback minimised","level":"standard","parent":"","type":"boolean","value":true},{"control":{"delayed":false,"format":"string","multiselect":false,"type":"list"},"default":0,"enabled":true,"help":"Continue with the last viewed channel on startup.","id":"pvrplayback.startlast","label":"Continue last channel on startup","level":"standard","options":[{"label":"No","value":0},{"label":"Background","value":1},{"label":"Foreground","value":2}],"parent":"","type":"integer","value":0},{"control":{"delayed":false,"format":"boolean","type":"toggle"},"default":true,"enabled":true,"help":"Display signal quality information in the codec information window (if supported by the add-on and backend).","id":"pvrplayback.signalquality","label":"Show signal quality","level":"advanced","parent":"","type":"boolean","value":true},{"control":{"delayed":false,"format":"string","formatlabel":"%i sec","type":"spinner"},"default":10,"enabled":true,"help":"Time to wait for a channel to be received after a channel change. Useful for over-the-air channels that occasionally lose signal strength.","id":"pvrplayback.scantime","label":"Timeout when starting playback","level":"expert","maximum":60,"minimum":1,"parent":"","step":1,"type":"integer","value":10},{"control":{"delayed":false,"format":"boolean","type":"toggle"},"default":false,"enabled":true,"help":"When flipping through channels using channel up/down buttons or when pressing a number button in full screen mode, channel switches must be confirmed using the OK button.","id":"pvrplayback.confirmchannelswitch","label":"Confirm channel switches by pressing \"OK\"","level":"standard","parent":"","type":"boolean","value":false},{"control":{"delayed":false,"format":"string","formatlabel":"%i ms","type":"spinner"},"default":0,"enabled":true,"help":"When pressing channel up or down, the actual channel switch is delayed, allowing the user to flip to a channel number without waiting for each channel switch.","id":"pvrplayback.channelentrytimeout","label":"Delay channel switch","level":"advanced","maximum":10000,"minimum":0,"parent":"","step":250,"type":"integer","value":0},{"control":{"delayed":false,"format":"string","multiselect":false,"type":"list"},"default":0,"enabled":true,"help":"If enabled, this framerate is used for streams we were not able to detect fps.","id":"pvrplayback.fps","label":"Fallback framerate","level":"basic","options":[{"label":"Off","value":0},{"label":"50 Hz","value":1},{"label":"59.94 Hz","value":2}],"parent":"","type":"integer","value":0},{"control":{"delayed":false,"format":"boolean","type":"toggle"},"default":true,"enabled":true,"help":"RDS data can be used if present","id":"pvrplayback.enableradiords","label":"Enable RDS for radio channels","level":"standard","parent":"","type":"boolean","value":true},{"control":{"delayed":false,"format":"boolean","type":"toggle"},"default":false,"enabled":true,"help":"RDS inform you about traffic advisory messages","id":"pvrplayback.trafficadvisory","label":"Message traffic advisory","level":"standard","parent":"","type":"boolean","value":false},{"control":{"delayed":false,"format":"string","formatlabel":"%i.0 dB","type":"spinner"},"default":10,"enabled":false,"help":"If traffic advisory is send from RDS, volume is increased","id":"pvrplayback.trafficadvisoryvolume","label":"Increase volume on traffic advisory","level":"advanced","maximum":20,"minimum":0,"parent":"","step":1,"type":"integer","value":10},{"control":{"delayed":false,"format":"string","multiselect":false,"type":"list"},"default":0,"enabled":true,"help":"Action to perform when pressing the record button. [Record current show] will record the current show from \"now\" to the end of the show. If no TV guide data is currently available a fixed length recording starting \"now\", with the value set for \"Instant recording duration\" will be scheduled. [Record for a fixed period of time] will schedule a fixed length recording starting \"now\", with the value set for \"Instant recording duration\". [Ask what to do] will open a dialogue containing different recording actions to choose from, like \"Record current show\", \"Record next show\" and some fixed duration recordings.","id":"pvrrecord.instantrecordaction","label":"Instant recording action","level":"standard","options":[{"label":"Record current show (if guide data available)","value":0},{"label":"Record for a fixed period of time (Instant recording duration)","value":1},{"label":"Ask what to do","value":2}],"parent":"","type":"integer","value":0},{"control":{"delayed":false,"format":"string","formatlabel":"%i min","type":"spinner"},"default":120,"enabled":true,"help":"Duration of instant recordings when pressing the record button. This value will be taken into account if \"Instant recording action\" is set to \"Record for a fixed period of time\"","id":"pvrrecord.instantrecordtime","label":"Instant recording duration","level":"standard","maximum":720,"minimum":1,"parent":"","step":1,"type":"integer","value":120},{"control":{"delayed":false,"format":"integer","type":"spinner"},"default":50,"enabled":true,"help":"Priority of the recording. Higher number means higher priority. Not supported by all add-ons and backends.","id":"pvrrecord.defaultpriority","label":"Default recording priority","level":"advanced","maximum":100,"minimum":1,"parent":"","step":1,"type":"integer","value":50},{"control":{"delayed":false,"format":"string","formatlabel":"%i days","type":"spinner"},"default":99,"enabled":true,"help":"Delete recording after this time. Not supported by all add-ons and backends.","id":"pvrrecord.defaultlifetime","label":"Default recording lifetime","level":"advanced","maximum":365,"minimum":1,"parent":"","step":1,"type":"integer","value":99},{"control":{"delayed":false,"format":"string","multiselect":false,"type":"list"},"default":0,"enabled":true,"help":"Additional time to record before the scheduled start time to allow for minor broadcasting changes. Not supported by all add-ons and backends.","id":"pvrrecord.marginstart","label":"Default start padding time","level":"advanced","options":[{"label":"0 min","value":0},{"label":"1 min","value":1},{"label":"3 min","value":3},{"label":"5 min","value":5},{"label":"10 min","value":10},{"label":"15 min","value":15},{"label":"20 min","value":20},{"label":"30 min","value":30},{"label":"60 min","value":60},{"label":"90 min","value":90},{"label":"120 min","value":120},{"label":"180 min","value":180}],"parent":"","type":"integer","value":0},{"control":{"delayed":false,"format":"string","multiselect":false,"type":"list"},"default":0,"enabled":true,"help":"Additional time to record after the scheduled end time to allow for minor broadcasting changes. Not supported by all add-ons and backends.","id":"pvrrecord.marginend","label":"Default end padding time","level":"advanced","options":[{"label":"0 min","value":0},{"label":"1 min","value":1},{"label":"3 min","value":3},{"label":"5 min","value":5},{"label":"10 min","value":10},{"label":"15 min","value":15},{"label":"20 min","value":20},{"label":"30 min","value":30},{"label":"60 min","value":60},{"label":"90 min","value":90},{"label":"120 min","value":120},{"label":"180 min","value":180}],"parent":"","type":"integer","value":0},{"control":{"delayed":false,"format":"string","type":"spinner"},"default":0,"enabled":true,"help":"Timer rules shall only record new episodes. Not supported by all add-ons and backends.","id":"pvrrecord.preventduplicateepisodes","label":"Prevent duplicate episodes","level":"advanced","options":[{"label":"Record all episodes","value":0},{"label":"Record only new episodes","value":1}],"parent":"","type":"integer","value":0},{"control":{"delayed":false,"format":"boolean","type":"toggle"},"default":true,"enabled":true,"help":"Display a notification when timers are added, finished or removed by the backend.","id":"pvrrecord.timernotifications","label":"Display a notification on timer updates","level":"advanced","parent":"","type":"boolean","value":true},{"control":{"delayed":false,"format":"boolean","type":"toggle"},"default":false,"enabled":true,"help":"Execute the wakeup command below when exiting this application or going into hibernation mode. The timestamp of the next scheduled recording is passed as parameter.","id":"pvrpowermanagement.enabled","label":"Enabled","level":"advanced","parent":"","type":"boolean","value":false},{"control":{"delayed":false,"format":"string","formatlabel":"%i min","minimumlabel":"Off","type":"spinner"},"default":15,"enabled":false,"help":"The command will not be executed when a recording will be started within this timeout.","id":"pvrpowermanagement.backendidletime","label":"Backend idle time","level":"advanced","maximum":360,"minimum":0,"parent":"","step":5,"type":"integer","value":15},{"allowempty":true,"control":{"delayed":true,"format":"string","hidden":false,"type":"edit","verifynewvalue":false},"default":"","enabled":false,"help":"The command to execute (cmd [timestamp]).","id":"pvrpowermanagement.setwakeupcmd","label":"Wakeup command","level":"advanced","parent":"","type":"string","value":""},{"control":{"delayed":false,"format":"string","formatlabel":"%i min","minimumlabel":"Off","type":"spinner"},"default":15,"enabled":false,"help":"Time to subtract from the start time of the next scheduled recording.","id":"pvrpowermanagement.prewakeup","label":"Wakeup before recording","level":"advanced","maximum":60,"minimum":0,"parent":"","step":1,"type":"integer","value":15},{"control":{"delayed":false,"format":"boolean","type":"toggle"},"default":false,"enabled":false,"help":"Execute the wakeup command every day at the given time.","id":"pvrpowermanagement.dailywakeup","label":"Daily wakeup","level":"advanced","parent":"","type":"boolean","value":false},{"allowempty":false,"control":{"delayed":true,"format":"string","hidden":false,"type":"edit","verifynewvalue":false},"default":"00:00:00","enabled":false,"help":"When to execute the daily wakeup command.","id":"pvrpowermanagement.dailywakeuptime","label":"Daily wakeup time (HH:MM:SS)","level":"advanced","parent":"","type":"string","value":"00:00:00"},{"control":{"delayed":false,"format":"boolean","type":"toggle"},"default":false,"enabled":true,"help":"Asks for a pin code to access parental locked channels. Channels can be marked as locked in the channels editor on the general tab. Parental locked channels can't be played or recorded without entering a pin code, and the guide information is hidden for those channels.","id":"pvrparental.enabled","label":"Enabled","level":"advanced","parent":"","type":"boolean","value":false},{"allowempty":true,"control":{"delayed":false,"format":"integer","hidden":true,"type":"edit","verifynewvalue":true},"default":"","enabled":false,"help":"Enter a new pin code to unlock parental locked channels.","id":"pvrparental.pin","label":"Change PIN","level":"advanced","parent":"","type":"string","value":""},{"control":{"delayed":false,"format":"string","formatlabel":"%i sec","type":"spinner"},"default":300,"enabled":false,"help":"Ask for the pin code again when trying to access a parental locked channel and the code hasn't been asked for this duration.","id":"pvrparental.duration","label":"Unlock duration","level":"advanced","maximum":1200,"minimum":5,"parent":"","step":5,"type":"integer","value":300},{"control":{"delayed":false,"format":"action","type":"button"},"enabled":true,"help":"This option will bring you to any specific settings for your PVR backend, if supported by the PVR add-on and backend.","id":"pvrclient.menuhook","label":"Client specific settings","level":"standard","parent":"","type":"action"},{"allowempty":false,"control":{"delayed":true,"format":"string","hidden":false,"type":"edit","verifynewvalue":false},"default":"Kodi","enabled":true,"help":"The name to display for this device when using various network services.","id":"services.devicename","label":"Device name","level":"basic","parent":"","type":"string","value":"Kodi"},{"control":{"delayed":false,"format":"boolean","type":"toggle"},"default":true,"enabled":true,"help":"Allows applications on the network to discover enabled services via Zeroconf.","id":"services.zeroconf","label":"Announce services to other systems","level":"standard","parent":"","type":"boolean","value":false},{"control":{"delayed":false,"format":"boolean","type":"toggle"},"default":false,"enabled":true,"help":"Enable remote users to control this application through the built-in web server.","id":"services.webserver","label":"Allow remote control via HTTP","level":"standard","parent":"","type":"boolean","value":true},{"control":{"delayed":true,"format":"integer","hidden":false,"type":"edit","verifynewvalue":false},"default":8080,"enabled":true,"help":"Define the web server port.","id":"services.webserverport","label":"Port","level":"standard","maximum":65535,"minimum":1,"parent":"services.webserver","step":1,"type":"integer","value":8080},{"allowempty":true,"control":{"delayed":true,"format":"string","hidden":false,"type":"edit","verifynewvalue":false},"default":"kodi","enabled":true,"help":"Define the web server username. This only takes effect when both the username and the password are set.","id":"services.webserverusername","label":"Username","level":"standard","parent":"services.webserver","type":"string","value":"xbmc"},{"allowempty":true,"control":{"delayed":true,"format":"string","hidden":true,"type":"edit","verifynewvalue":false},"default":"","enabled":true,"help":"Define the web server password. This only takes effect when both the username and the password are set.","id":"services.webserverpassword","label":"Password","level":"standard","parent":"services.webserver","type":"string","value":"xbmc"},{"addontype":"xbmc.webinterface","allowempty":false,"control":{"delayed":false,"format":"addon","type":"button"},"default":"webinterface.default","enabled":true,"help":"Select between web interfaces installed via the add-on manager.","id":"services.webskin","label":"Web interface","level":"standard","parent":"","type":"addon","value":"webinterface.default"},{"control":{"delayed":false,"format":"boolean","type":"toggle"},"default":true,"enabled":true,"help":"Allow programs on this computer to control this application via the web interface or the JSON-RPC interface protocol.","id":"services.esenabled","label":"Allow remote control from applications on this system","level":"standard","parent":"","type":"boolean","value":true},{"control":{"delayed":false,"format":"boolean","type":"toggle"},"default":false,"enabled":true,"help":"Allow programs on the network to control this application.","id":"services.esallinterfaces","label":"Allow remote control from applications on other systems","level":"standard","parent":"","type":"boolean","value":true},{"control":{"delayed":false,"format":"boolean","type":"toggle"},"default":false,"enabled":true,"help":"Enables the UPnP server. This allows you to stream media in your libraries to a UPnP client.","id":"services.upnpserver","label":"Share my libraries","level":"basic","parent":"","type":"boolean","value":false},{"control":{"delayed":false,"format":"boolean","type":"toggle"},"default":true,"enabled":false,"help":"When a manual or automatic library update occurs, notify UPnP clients.","id":"services.upnpannounce","label":"Announce library updates","level":"advanced","parent":"services.upnpserver","type":"boolean","value":true},{"control":{"delayed":false,"format":"boolean","type":"toggle"},"default":false,"enabled":false,"help":"Look for external subtitles for videos provided by the UPnP server. This can cause extensive CPU, filesystem and network load.","id":"services.upnplookforexternalsubtitles","label":"Look for external subtitles","level":"advanced","parent":"services.upnpserver","type":"boolean","value":false},{"control":{"delayed":false,"format":"boolean","type":"toggle"},"default":false,"enabled":false,"help":"Enable the UPnP control point. This allows you to stream media to any UPnP client and control it's playback.","id":"services.upnpcontroller","label":"Look for remote UPnP players","level":"advanced","parent":"services.upnpserver","type":"boolean","value":false},{"control":{"delayed":false,"format":"boolean","type":"toggle"},"default":false,"enabled":true,"help":"Enable the UPnP client. This allows you to stream media from any UPnP server with a control point and control playback from that server.","id":"services.upnprenderer","label":"Allow remote control via UPnP","level":"standard","parent":"","type":"boolean","value":false},{"control":{"delayed":false,"format":"boolean","type":"toggle"},"default":false,"enabled":true,"help":"If enabled, the content from other AirPlay devices or applications can be received.","id":"services.airplay","label":"Enable AirPlay support","level":"standard","parent":"","type":"boolean","value":false},{"control":{"delayed":false,"format":"boolean","type":"toggle"},"default":true,"enabled":false,"help":"Allows volume control from AirPlay clients.","id":"services.airplayvolumecontrol","label":"Allow volume control","level":"advanced","parent":"services.airplay","type":"boolean","value":true},{"control":{"delayed":false,"format":"boolean","type":"toggle"},"default":false,"enabled":false,"help":"Enable AirPlay password protection.","id":"services.useairplaypassword","label":"Use password protection","level":"standard","parent":"services.airplay","type":"boolean","value":false},{"allowempty":true,"control":{"delayed":true,"format":"string","hidden":true,"type":"edit","verifynewvalue":false},"default":"","enabled":false,"help":"Sets the AirPlay password.","id":"services.airplaypassword","label":"Password","level":"standard","parent":"services.useairplaypassword","type":"string","value":""},{"control":{"delayed":false,"format":"boolean","type":"toggle"},"default":true,"enabled":false,"help":"Enables support for receiving \"Videos\" and \"Pictures\" via AirPlay. This needs to be disabled when using iOS 9 or later clients to restore music streaming via AirPlay. \"Videos\" and \"Pictures\" are only supported for iOS clients using iOS 8.x and older.","id":"services.airplayvideosupport","label":"Enable AirPlay \"Videos\" and \"Pictures\" support","level":"expert","parent":"services.airplay","type":"boolean","value":true},{"allowempty":false,"control":{"delayed":true,"format":"ip","hidden":false,"type":"edit","verifynewvalue":false},"default":"0.0.0.0","enabled":true,"help":"If a WINS server is running on the network, enter its IP address here. Otherwise, leave blank.","id":"smb.winsserver","label":"WINS server","level":"advanced","parent":"","type":"string","value":"0.0.0.0"},{"allowempty":false,"control":{"delayed":true,"format":"string","hidden":false,"type":"edit","verifynewvalue":false},"default":"WORKGROUP","enabled":true,"help":"If a WINS server is running on the network, enter its workgroup name here. Otherwise, leave blank.","id":"smb.workgroup","label":"Workgroup","level":"advanced","parent":"","type":"string","value":"WORKGROUP"},{"addontype":"xbmc.python.weather","allowempty":true,"control":{"delayed":false,"format":"addon","type":"button"},"default":"","enabled":true,"help":"Specify the default weather information source. See the add-ons manager for options.","id":"weather.addon","label":"Service for weather information","level":"basic","parent":"","type":"addon","value":""},{"control":{"delayed":false,"format":"action","type":"button"},"enabled":false,"help":"Define locations used for retrieving weather information.","id":"weather.addonsettings","label":"Settings","level":"basic","parent":"weather.addon","type":"action"},{"allowempty":false,"control":{"delayed":true,"format":"string","type":"spinner"},"default":"Default","enabled":true,"id":"videoscreen.monitor","label":"Monitor","level":"basic","options":[{"label":"Default","value":"Default"},{"label":"HDMI-2","value":"HDMI-2"}],"parent":"","type":"string","value":"Default"},{"control":{"delayed":true,"format":"string","type":"spinner"},"default":0,"enabled":true,"help":"Changes the way this application is displayed on the selected screen. Either in a window or fullscreen.","id":"videoscreen.screen","label":"Display mode","level":"basic","options":[{"label":"Windowed","value":-1},{"label":"Full screen","value":0}],"parent":"","type":"integer","value":0},{"control":{"delayed":false,"format":"string","multiselect":false,"type":"list"},"default":16,"enabled":true,"help":"Changes the resolution that the user interface is displayed in.","id":"videoscreen.resolution","label":"Resolution","level":"basic","options":[{"label":"1920x1080p ","value":16},{"label":"640x480p ","value":49},{"label":"720x400p ","value":51},{"label":"720x480p ","value":44},{"label":"800x600p ","value":41},{"label":"832x624p ","value":40},{"label":"1024x768p ","value":37},{"label":"1152x864p ","value":34},{"label":"1280x720p ","value":35},{"label":"1280x800p ","value":33},{"label":"1280x960p ","value":31},{"label":"1280x1024p ","value":27},{"label":"1360x768p ","value":32},{"label":"1440x900p ","value":29},{"label":"1600x1200p ","value":25},{"label":"1680x1050p ","value":26},{"label":"1920x1080p ","value":17},{"label":"1920x1080i ","value":23}],"parent":"videoscreen.screen","type":"integer","value":16},{"allowempty":false,"control":{"delayed":false,"format":"string","multiselect":false,"type":"list"},"default":"DESKTOP","enabled":true,"help":"Changes the refresh rate that the user interface is displayed in.","id":"videoscreen.screenmode","label":"Refresh rate","level":"basic","options":[{"label":"23.98","value":"00192001080023.97608pstd"},{"label":"24.00","value":"00192001080024.00000pstd"},{"label":"29.97","value":"00192001080029.97010pstd"},{"label":"30.00","value":"00192001080030.00000pstd"},{"label":"59.94","value":"00192001080059.94020pstd"},{"label":"60.00","value":"DESKTOP"}],"parent":"videoscreen.screen","type":"string","value":"DESKTOP"},{"control":{"delayed":false,"format":"boolean","type":"toggle"},"default":false,"enabled":true,"help":"In a multi-screen configuration, the screens not displaying this application are blacked out.","id":"videoscreen.blankdisplays","label":"Blank other displays","level":"standard","parent":"videoscreen.screen","type":"boolean","value":false},{"control":{"delayed":false,"format":"string","type":"spinner"},"default":0,"enabled":true,"help":"Delay of reset event after a change of refresh rate","id":"videoscreen.delayrefreshchange","label":"Delay after change of refresh rate","level":"advanced","options":[{"label":"Off","value":0},{"label":"0.1 seconds","value":1},{"label":"0.2 seconds","value":2},{"label":"0.3 seconds","value":3},{"label":"0.4 seconds","value":4},{"label":"0.5 seconds","value":5},{"label":"0.6 seconds","value":6},{"label":"0.7 seconds","value":7},{"label":"0.8 seconds","value":8},{"label":"0.9 seconds","value":9},{"label":"1.0 seconds","value":10},{"label":"1.1 seconds","value":11},{"label":"1.2 seconds","value":12},{"label":"1.3 seconds","value":13},{"label":"1.4 seconds","value":14},{"label":"1.5 seconds","value":15},{"label":"1.6 seconds","value":16},{"label":"1.7 seconds","value":17},{"label":"1.8 seconds","value":18},{"label":"1.9 seconds","value":19},{"label":"2.0 seconds","value":20},{"label":"2.1 seconds","value":21},{"label":"2.2 seconds","value":22},{"label":"2.3 seconds","value":23},{"label":"2.4 seconds","value":24},{"label":"2.5 seconds","value":25},{"label":"2.6 seconds","value":26},{"label":"2.7 seconds","value":27},{"label":"2.8 seconds","value":28},{"label":"2.9 seconds","value":29},{"label":"3.0 seconds","value":30},{"label":"3.1 seconds","value":31},{"label":"3.2 seconds","value":32},{"label":"3.3 seconds","value":33},{"label":"3.4 seconds","value":34},{"label":"3.5 seconds","value":35},{"label":"3.6 seconds","value":36},{"label":"3.7 seconds","value":37},{"label":"3.8 seconds","value":38},{"label":"3.9 seconds","value":39},{"label":"4.0 seconds","value":40},{"label":"4.1 seconds","value":41},{"label":"4.2 seconds","value":42},{"label":"4.3 seconds","value":43},{"label":"4.4 seconds","value":44},{"label":"4.5 seconds","value":45},{"label":"4.6 seconds","value":46},{"label":"4.7 seconds","value":47},{"label":"4.8 seconds","value":48},{"label":"4.9 seconds","value":49},{"label":"5.0 seconds","value":50},{"label":"5.1 seconds","value":51},{"label":"5.2 seconds","value":52},{"label":"5.3 seconds","value":53},{"label":"5.4 seconds","value":54},{"label":"5.5 seconds","value":55},{"label":"5.6 seconds","value":56},{"label":"5.7 seconds","value":57},{"label":"5.8 seconds","value":58},{"label":"5.9 seconds","value":59},{"label":"6.0 seconds","value":60},{"label":"6.1 seconds","value":61},{"label":"6.2 seconds","value":62},{"label":"6.3 seconds","value":63},{"label":"6.4 seconds","value":64},{"label":"6.5 seconds","value":65},{"label":"6.6 seconds","value":66},{"label":"6.7 seconds","value":67},{"label":"6.8 seconds","value":68},{"label":"6.9 seconds","value":69},{"label":"7.0 seconds","value":70},{"label":"7.1 seconds","value":71},{"label":"7.2 seconds","value":72},{"label":"7.3 seconds","value":73},{"label":"7.4 seconds","value":74},{"label":"7.5 seconds","value":75},{"label":"7.6 seconds","value":76},{"label":"7.7 seconds","value":77},{"label":"7.8 seconds","value":78},{"label":"7.9 seconds","value":79},{"label":"8.0 seconds","value":80},{"label":"8.1 seconds","value":81},{"label":"8.2 seconds","value":82},{"label":"8.3 seconds","value":83},{"label":"8.4 seconds","value":84},{"label":"8.5 seconds","value":85},{"label":"8.6 seconds","value":86},{"label":"8.7 seconds","value":87},{"label":"8.8 seconds","value":88},{"label":"8.9 seconds","value":89},{"label":"9.0 seconds","value":90},{"label":"9.1 seconds","value":91},{"label":"9.2 seconds","value":92},{"label":"9.3 seconds","value":93},{"label":"9.4 seconds","value":94},{"label":"9.5 seconds","value":95},{"label":"9.6 seconds","value":96},{"label":"9.7 seconds","value":97},{"label":"9.8 seconds","value":98},{"label":"9.9 seconds","value":99},{"label":"10.0 seconds","value":100},{"label":"10.1 seconds","value":101},{"label":"10.2 seconds","value":102},{"label":"10.3 seconds","value":103},{"label":"10.4 seconds","value":104},{"label":"10.5 seconds","value":105},{"label":"10.6 seconds","value":106},{"label":"10.7 seconds","value":107},{"label":"10.8 seconds","value":108},{"label":"10.9 seconds","value":109},{"label":"11.0 seconds","value":110},{"label":"11.1 seconds","value":111},{"label":"11.2 seconds","value":112},{"label":"11.3 seconds","value":113},{"label":"11.4 seconds","value":114},{"label":"11.5 seconds","value":115},{"label":"11.6 seconds","value":116},{"label":"11.7 seconds","value":117},{"label":"11.8 seconds","value":118},{"label":"11.9 seconds","value":119},{"label":"12.0 seconds","value":120},{"label":"12.1 seconds","value":121},{"label":"12.2 seconds","value":122},{"label":"12.3 seconds","value":123},{"label":"12.4 seconds","value":124},{"label":"12.5 seconds","value":125},{"label":"12.6 seconds","value":126},{"label":"12.7 seconds","value":127},{"label":"12.8 seconds","value":128},{"label":"12.9 seconds","value":129},{"label":"13.0 seconds","value":130},{"label":"13.1 seconds","value":131},{"label":"13.2 seconds","value":132},{"label":"13.3 seconds","value":133},{"label":"13.4 seconds","value":134},{"label":"13.5 seconds","value":135},{"label":"13.6 seconds","value":136},{"label":"13.7 seconds","value":137},{"label":"13.8 seconds","value":138},{"label":"13.9 seconds","value":139},{"label":"14.0 seconds","value":140},{"label":"14.1 seconds","value":141},{"label":"14.2 seconds","value":142},{"label":"14.3 seconds","value":143},{"label":"14.4 seconds","value":144},{"label":"14.5 seconds","value":145},{"label":"14.6 seconds","value":146},{"label":"14.7 seconds","value":147},{"label":"14.8 seconds","value":148},{"label":"14.9 seconds","value":149},{"label":"15.0 seconds","value":150},{"label":"15.1 seconds","value":151},{"label":"15.2 seconds","value":152},{"label":"15.3 seconds","value":153},{"label":"15.4 seconds","value":154},{"label":"15.5 seconds","value":155},{"label":"15.6 seconds","value":156},{"label":"15.7 seconds","value":157},{"label":"15.8 seconds","value":158},{"label":"15.9 seconds","value":159},{"label":"16.0 seconds","value":160},{"label":"16.1 seconds","value":161},{"label":"16.2 seconds","value":162},{"label":"16.3 seconds","value":163},{"label":"16.4 seconds","value":164},{"label":"16.5 seconds","value":165},{"label":"16.6 seconds","value":166},{"label":"16.7 seconds","value":167},{"label":"16.8 seconds","value":168},{"label":"16.9 seconds","value":169},{"label":"17.0 seconds","value":170},{"label":"17.1 seconds","value":171},{"label":"17.2 seconds","value":172},{"label":"17.3 seconds","value":173},{"label":"17.4 seconds","value":174},{"label":"17.5 seconds","value":175},{"label":"17.6 seconds","value":176},{"label":"17.7 seconds","value":177},{"label":"17.8 seconds","value":178},{"label":"17.9 seconds","value":179},{"label":"18.0 seconds","value":180},{"label":"18.1 seconds","value":181},{"label":"18.2 seconds","value":182},{"label":"18.3 seconds","value":183},{"label":"18.4 seconds","value":184},{"label":"18.5 seconds","value":185},{"label":"18.6 seconds","value":186},{"label":"18.7 seconds","value":187},{"label":"18.8 seconds","value":188},{"label":"18.9 seconds","value":189},{"label":"19.0 seconds","value":190},{"label":"19.1 seconds","value":191},{"label":"19.2 seconds","value":192},{"label":"19.3 seconds","value":193},{"label":"19.4 seconds","value":194},{"label":"19.5 seconds","value":195},{"label":"19.6 seconds","value":196},{"label":"19.7 seconds","value":197},{"label":"19.8 seconds","value":198},{"label":"19.9 seconds","value":199},{"label":"20.0 seconds","value":200}],"parent":"videoscreen.screen","type":"integer","value":0},{"control":{"delayed":false,"format":"boolean","type":"toggle"},"default":false,"enabled":true,"help":"Use limited colour range (16-235) instead of full colour range (0-255). Limited range should be used if your display is a regular HDMI TV and doesn't have a PC or other mode to display full range colour, however if your display is a PC monitor then leave this disabled to get proper blacks.","id":"videoscreen.limitedrange","label":"Use limited colour range (16-235)","level":"expert","parent":"","type":"boolean","value":false},{"control":{"delayed":false,"format":"boolean","type":"toggle"},"default":true,"enabled":true,"help":"Eliminate banding caused by RGB level conversion or other processing by adding a small amount of noise to the picture. This can be disabled for slower systems, or when Kodi is set to limited range RGB output and no video processing is needed.","id":"videoscreen.dither","label":"Dithering","level":"expert","parent":"","type":"boolean","value":true},{"control":{"delayed":false,"format":"integer","type":"spinner"},"default":8,"enabled":true,"help":"Video dithering output precision in bits. Use the highest setting that doesn't show banding. The default of 8 is recommended for most systems. If your GPU is set to scale the output RGB levels or you use a laptop screen, a 7 or 6 bit setting may eliminate more banding. Lower settings are available for testing purposes only to make it easy to see whether dithering is applied and that the dither noise pixel size matches the display resolution.","id":"videoscreen.ditherdepth","label":"Dither depth","level":"expert","maximum":8,"minimum":2,"parent":"","step":1,"type":"integer","value":8},{"control":{"delayed":false,"format":"boolean","type":"toggle"},"default":false,"enabled":true,"help":"Reproduce video colours accurately using a display profile or a 3D lookup table.","id":"videoscreen.cmsenabled","label":"Colour management","level":"expert","parent":"","type":"boolean","value":false},{"control":{"delayed":false,"format":"integer","multiselect":false,"type":"list"},"default":0,"enabled":true,"help":"Changes the stereoscopic 3D mode of the user interface.","id":"videoscreen.stereoscopicmode","label":"Stereoscopic 3D mode / Current","level":"advanced","options":[{"label":"Disabled","value":0},{"label":"Over / Under","value":1},{"label":"Side by side","value":2},{"label":"Anaglyph red / cyan","value":3},{"label":"Anaglyph green / magenta","value":4},{"label":"Anaglyph yellow / blue","value":5},{"label":"Interlaced","value":6},{"label":"Hardware based","value":8},{"label":"Monoscopic / 2D","value":9}],"parent":"","type":"integer","value":0},{"control":{"delayed":false,"format":"integer","multiselect":false,"type":"list"},"default":100,"enabled":true,"help":"The preferred mode in which stereoscopic 3D media such as videos should be played.","id":"videoscreen.preferedstereoscopicmode","label":"Preferred mode","level":"advanced","options":[{"label":"Same as movie","value":100},{"label":"Over / Under","value":1},{"label":"Side by side","value":2},{"label":"Anaglyph red / cyan","value":3},{"label":"Anaglyph green / magenta","value":4},{"label":"Anaglyph yellow / blue","value":5},{"label":"Interlaced","value":6},{"label":"Hardware based","value":8}],"parent":"videoscreen.stereoscopicmode","type":"integer","value":100},{"control":{"delayed":false,"format":"string","multiselect":false,"type":"list"},"default":3,"enabled":true,"help":"Defines the number of presentation buffers used by the graphics driver. Select 2 if the driver uses double buffering or 3 for triple buffering.","id":"videoscreen.noofbuffers","label":"Number of buffers used by graphics driver","level":"advanced","maximum":3,"minimum":2,"parent":"","step":1,"type":"integer","value":3},{"control":{"delayed":false,"format":"action","type":"button"},"enabled":true,"help":"Calibrate the user interface by adjusting the overscan. Use this tool if the image being displayed is too large or small for your display.","id":"videoscreen.guicalibration","label":"Video calibration...","level":"expert","parent":"","type":"action"},{"control":{"delayed":false,"format":"action","type":"button"},"enabled":true,"help":"Test patterns for display hardware calibration.","id":"videoscreen.testpattern","label":"Test patterns...","level":"expert","parent":"","type":"action"},{"allowempty":false,"control":{"delayed":false,"format":"string","multiselect":false,"type":"list"},"default":"ALSA:hdmi:CARD=HDMI,DEV=0","enabled":true,"help":"Select the device to be used for playback of audio that has been decoded such as mp3.","id":"audiooutput.audiodevice","label":"Audio output device","level":"basic","options":[{"label":"HDA Intel, HDMI #0","value":"ALSA:hdmi:CARD=HDMI,DEV=0"},{"label":"HDA Intel, SAM SAMSUNG on HDMI #1","value":"ALSA:hdmi:CARD=HDMI,DEV=1"},{"label":"HDA Intel, HDMI #2","value":"ALSA:hdmi:CARD=HDMI,DEV=2"},{"label":"HDA Intel PCH (@:CARD=PCH,DEV=0), ALC892 Analog","value":"ALSA:@:CARD=PCH,DEV=0"},{"label":"HDA Intel PCH (surround21:CARD=PCH,DEV=0), ALC892 Analog","value":"ALSA:surround21:CARD=PCH,DEV=0"},{"label":"HDA Intel PCH, ALC892 Digital S/PDIF","value":"ALSA:iec958:CARD=PCH,DEV=0"}],"parent":"","type":"string","value":"ALSA:hdmi:CARD=HDMI,DEV=0"},{"control":{"delayed":false,"format":"string","multiselect":false,"type":"list"},"default":1,"enabled":true,"help":"Select the number of channels supported by the audio connection, or the number of speakers if connected by analogue connections. This setting does not apply to passthrough audio. Note: S/PDIF supports 2.0 channels only but can still output multichannel audio using a format supported by passthrough.","id":"audiooutput.channels","label":"Number of channels","level":"basic","options":[{"label":"2.0","value":1},{"label":"2.1","value":2},{"label":"3.0","value":3},{"label":"3.1","value":4},{"label":"4.0","value":5},{"label":"4.1","value":6},{"label":"5.0","value":7},{"label":"5.1","value":8},{"label":"7.0","value":9},{"label":"7.1","value":10}],"parent":"","type":"integer","value":1},{"control":{"delayed":false,"format":"integer","multiselect":false,"type":"list"},"default":2,"enabled":true,"help":"Select how the properties of the audio output are set: [Fixed] Output properties are set to the specified sampling rate & speaker configuration at all times; [Best Match] Output properties are set to always be as close a match to the source properties as possible; [Optimized] Output properties are set at the start of playback and will not change if the properties of the source change.","id":"audiooutput.config","label":"Output configuration","level":"advanced","options":[{"label":"Fixed","value":1},{"label":"Optimized","value":2},{"label":"Best match","value":3}],"parent":"","type":"integer","value":2},{"control":{"delayed":false,"format":"integer","multiselect":false,"type":"list"},"default":90,"enabled":true,"help":"Set the number of volume control steps.","id":"audiooutput.volumesteps","label":"Volume control steps","level":"standard","maximum":90,"minimum":10,"parent":"","step":5,"type":"integer","value":90},{"control":{"delayed":false,"format":"boolean","type":"toggle"},"default":true,"enabled":true,"help":"Select how audio is downmixed, e.g. from 5.1 to 2.0.[CR][Enabled] Maintains volume level of the original audio source however the dynamic range is compressed.[CR][Disabled] Maintains the dynamic range of the original audio source when downmixed however volume will be lower. Note: Dynamic range is the difference between the quietest and loudest sounds in an audio source. Enable this setting if movie dialogues are barely audible.","id":"audiooutput.maintainoriginalvolume","label":"Maintain original volume on downmix","level":"advanced","parent":"","type":"boolean","value":true},{"control":{"delayed":false,"format":"boolean","type":"toggle"},"default":false,"enabled":true,"help":"Select to enable upmixing of 2 channel audio to the number of audio channels specified by the channel configuration.","id":"audiooutput.stereoupmix","label":"Stereo upmix","level":"advanced","parent":"","type":"boolean","value":false},{"control":{"delayed":false,"format":"string","multiselect":false,"type":"list"},"default":30,"enabled":true,"help":"Select the quality of resampling for cases where the audio output needs to be at a different sampling rate from that used by the source.[CR][Low] Is fast and will have minimal impact on system resources such as the use of the CPU.[CR][Medium] & [High] Will use progressively more system resources.","id":"audiooutput.processquality","label":"Resample quality","level":"advanced","options":[{"label":"Low (fast)","value":20},{"label":"Medium","value":30},{"label":"High","value":50}],"parent":"","type":"integer","value":30},{"control":{"delayed":true,"format":"integer","hidden":false,"type":"edit","verifynewvalue":false},"default":2,"enabled":true,"help":"When the speed change exceeds this threshold, a pitch-correction filter will be applied. This avoids the \"chipmonk voices\" that normally result from speeding up a video","id":"audiooutput.atempothreshold","label":"Threshold for pitch correction","level":"expert","maximum":100,"minimum":0,"parent":"","step":1,"type":"integer","value":2},{"control":{"delayed":false,"format":"string","multiselect":false,"type":"list"},"default":1,"enabled":true,"help":"Select the behaviour when no sound is required for either playback or GUI sounds.[CR][Always] Continuous inaudible signal is output, this keeps the receiving audio device alive for any new sounds, however this might also block sound from other applications.[CR][1-10 Minutes] Same as [Always] except that after the selected period of time audio enters a suspended state.[CR][Off] Audio output enters a suspended state. Note: Sounds can be missed if audio enters suspended state.","id":"audiooutput.streamsilence","label":"Keep audio device alive","level":"advanced","options":[{"label":"Always","value":-1},{"label":"Off","value":0},{"label":"1 Minute","value":1},{"label":"2 Minutes","value":2},{"label":"3 Minutes","value":3},{"label":"4 Minutes","value":4},{"label":"5 Minutes","value":5},{"label":"6 Minutes","value":6},{"label":"7 Minutes","value":7},{"label":"8 Minutes","value":8},{"label":"9 Minutes","value":9},{"label":"10 Minutes","value":10}],"parent":"","type":"integer","value":1},{"control":{"delayed":false,"format":"boolean","type":"toggle"},"default":true,"enabled":true,"help":"To keep certain AVRs powered we send an inaudible random noise signal. You can disable this setting if you are using headphone or analog output.","id":"audiooutput.streamnoise","label":"Send low volume noise","level":"advanced","parent":"","type":"boolean","value":true},{"control":{"delayed":false,"format":"string","multiselect":false,"type":"list"},"default":1,"enabled":true,"help":"Configure how interface sounds are handled, such as menu navigation and important notifications.","id":"audiooutput.guisoundmode","label":"Play GUI sounds","level":"basic","options":[{"label":"Only when playback stopped","value":1},{"label":"Always","value":2},{"label":"Never","value":0}],"parent":"","type":"integer","value":1},{"addontype":"kodi.resource.uisounds","allowempty":true,"control":{"delayed":false,"format":"addon","type":"button"},"default":"resource.uisounds.kodi","enabled":true,"help":"Select or disable the sounds used in the user interface.","id":"lookandfeel.soundskin","label":"GUI sounds","level":"basic","parent":"","type":"addon","value":"resource.uisounds.kodi"},{"control":{"delayed":false,"format":"boolean","type":"toggle"},"default":false,"enabled":true,"help":"Select to allow passthrough audio for playback of compressed audio such as Dolby Digital (AC3), DTS, etc. The Client of the AudioEngine, for example Videoplayer, might decide to decode the audio stream under certain conditions. In Videoplayer case, passthrough won't be used for live streams and when you sync playback to display.","id":"audiooutput.passthrough","label":"Allow passthrough","level":"standard","parent":"","type":"boolean","value":false},{"allowempty":false,"control":{"delayed":false,"format":"string","multiselect":false,"type":"list"},"default":"ALSA:hdmi:CARD=HDMI,DEV=0","enabled":false,"help":"Select the device to be used for playback of encoded formats, these are any of the formats below in the capable receiver options.","id":"audiooutput.passthroughdevice","label":"Passthrough output device","level":"standard","options":[{"label":"HDA Intel, HDMI #0","value":"ALSA:hdmi:CARD=HDMI,DEV=0"},{"label":"HDA Intel, SAM SAMSUNG on HDMI #1","value":"ALSA:hdmi:CARD=HDMI,DEV=1"},{"label":"HDA Intel, HDMI #2","value":"ALSA:hdmi:CARD=HDMI,DEV=2"},{"label":"HDA Intel PCH, ALC892 Digital S/PDIF","value":"ALSA:iec958:CARD=PCH,DEV=0"}],"parent":"","type":"string","value":"ALSA:hdmi:CARD=HDMI,DEV=0"},{"control":{"delayed":false,"format":"boolean","type":"toggle"},"default":true,"enabled":false,"help":"Select this option if your receiver is capable of decoding Dolby Digital (AC3) streams.","id":"audiooutput.ac3passthrough","label":"Dolby Digital (AC3) capable receiver","level":"advanced","parent":"","type":"boolean","value":true},{"control":{"delayed":false,"format":"boolean","type":"toggle"},"default":false,"enabled":false,"help":"Select this if the audio out connection only supports multichannel audio as Dolby Digital 5.1 (AC-3), such as a S/PDIF connection. If your system supports PCM multichannel audio via HDMI, leave this disabled.","id":"audiooutput.ac3transcode","label":"Enable Dolby Digital (AC3) transcoding","level":"advanced","parent":"audiooutput.ac3passthrough","type":"boolean","value":false},{"control":{"delayed":false,"format":"boolean","type":"toggle"},"default":false,"enabled":false,"help":"Select this option if your receiver is capable of decoding Dolby Digital Plus (E-AC3) streams.","id":"audiooutput.eac3passthrough","label":"Dolby Digital Plus (E-AC3) capable receiver","level":"advanced","parent":"","type":"boolean","value":false},{"control":{"delayed":false,"format":"boolean","type":"toggle"},"default":false,"enabled":false,"help":"Select this option if your receiver is capable of decoding DTS streams.","id":"audiooutput.dtspassthrough","label":"DTS capable receiver","level":"advanced","parent":"","type":"boolean","value":false},{"control":{"delayed":false,"format":"boolean","type":"toggle"},"default":false,"enabled":false,"help":"Select this option if your receiver is capable of decoding TrueHD streams.","id":"audiooutput.truehdpassthrough","label":"TrueHD capable receiver","level":"advanced","parent":"","type":"boolean","value":false},{"control":{"delayed":false,"format":"boolean","type":"toggle"},"default":false,"enabled":false,"help":"Select this option if your receiver is capable of decoding DTS-HD streams.","id":"audiooutput.dtshdpassthrough","label":"DTS-HD capable receiver","level":"advanced","parent":"","type":"boolean","value":false},{"control":{"delayed":false,"format":"boolean","type":"toggle"},"default":false,"enabled":true,"help":"Enables digital signal processing (DSP) of audio channels specified by the speaker configuration.","id":"audiooutput.dspaddonsenabled","label":"Enable audio DSP processing","level":"expert","parent":"","type":"boolean","value":false},{"control":{"delayed":false,"format":"action","type":"button"},"enabled":false,"help":"Configure any attached peripheral devices.","id":"input.peripherals","label":"Peripherals","level":"standard","parent":"","type":"action"},{"control":{"delayed":false,"format":"boolean","type":"toggle"},"default":true,"enabled":true,"help":"Use a mouse or touch screen device to control the interface. Note: Disabling will cause you to lose control over this application when no keyboard or remote is present.","id":"input.enablemouse","label":"Enable mouse and touch screen support","level":"basic","parent":"","type":"boolean","value":false},{"control":{"delayed":false,"format":"action","type":"button"},"enabled":true,"help":"Pair your controllers with the various input devices of different game systems.","id":"input.controllerconfig","label":"Configure attached controllers","level":"basic","parent":"","type":"action"},{"control":{"delayed":false,"format":"action","type":"button"},"enabled":false,"help":"Activate the rumble motors of all controllers.","id":"input.testrumble","label":"Test rumble","level":"advanced","parent":"","type":"action"},{"control":{"delayed":false,"format":"boolean","type":"toggle"},"default":false,"enabled":true,"help":"Powers off any controller that supports it on exit.","id":"input.controllerpoweroff","label":"Power off controllers on exit","level":"basic","parent":"","type":"boolean","value":false},{"control":{"delayed":false,"format":"boolean","type":"toggle"},"default":false,"enabled":true,"help":"If your Internet connection uses a proxy server, configure it here.","id":"network.usehttpproxy","label":"Use proxy server","level":"standard","parent":"","type":"boolean","value":false},{"control":{"delayed":false,"format":"string","multiselect":false,"type":"list"},"default":0,"enabled":false,"help":"Configure which proxy type is used.","id":"network.httpproxytype","label":"Proxy type","level":"standard","options":[{"label":"HTTP","value":0},{"label":"SOCKS4","value":1},{"label":"SOCKS4A","value":2},{"label":"SOCKS5","value":3},{"label":"SOCKS5 with remote DNS resolving","value":4}],"parent":"network.usehttpproxy","type":"integer","value":0},{"allowempty":true,"control":{"delayed":true,"format":"string","hidden":false,"type":"edit","verifynewvalue":false},"default":"","enabled":false,"help":"Configure the proxy server address.","id":"network.httpproxyserver","label":"Server","level":"standard","parent":"network.usehttpproxy","type":"string","value":""},{"control":{"delayed":true,"format":"integer","hidden":false,"type":"edit","verifynewvalue":false},"default":8080,"enabled":false,"help":"Configure the proxy server port.","id":"network.httpproxyport","label":"Port","level":"standard","maximum":65535,"minimum":1,"parent":"network.usehttpproxy","step":1,"type":"integer","value":8080},{"allowempty":true,"control":{"delayed":true,"format":"string","hidden":false,"type":"edit","verifynewvalue":false},"default":"","enabled":false,"help":"Configure the proxy server username.","id":"network.httpproxyusername","label":"Username","level":"standard","parent":"network.usehttpproxy","type":"string","value":""},{"allowempty":true,"control":{"delayed":true,"format":"string","hidden":true,"type":"edit","verifynewvalue":false},"default":"","enabled":false,"help":"Configure the proxy server password.","id":"network.httpproxypassword","label":"Password","level":"standard","parent":"network.usehttpproxy","type":"string","value":""},{"control":{"delayed":false,"format":"string","multiselect":false,"type":"list"},"default":0,"enabled":true,"help":"If your Internet connection has limited bandwidth available, use this setting to keep bandwidth usage by this application within defined limits.","id":"network.bandwidth","label":"Internet connection bandwidth limitation","level":"standard","maximum":102400,"minimum":0,"parent":"","step":512,"type":"integer","value":0},{"control":{"delayed":false,"format":"string","formatlabel":"%i min","minimumlabel":"Off","type":"spinner"},"default":0,"enabled":true,"help":"Turn off display when idle. Useful for TVs that turn off when there is no display signal detected.","id":"powermanagement.displaysoff","label":"Put display to sleep when idle","level":"basic","maximum":120,"minimum":0,"parent":"","step":5,"type":"integer","value":30},{"control":{"delayed":false,"format":"string","formatlabel":"%i min","minimumlabel":"Off","type":"spinner"},"default":0,"enabled":true,"help":"Set the time to wait for any activity to occur before shutting down.","id":"powermanagement.shutdowntime","label":"Shutdown function timer","level":"advanced","maximum":120,"minimum":0,"parent":"","step":5,"type":"integer","value":0},{"control":{"delayed":false,"format":"string","multiselect":false,"type":"list"},"default":1,"enabled":true,"help":"Define what action to perform when the shutdown function timer lapsed.","id":"powermanagement.shutdownstate","label":"Shutdown function","level":"advanced","options":[{"label":"Shutdown","value":1},{"label":"Suspend","value":3}],"parent":"","type":"integer","value":1},{"control":{"delayed":false,"format":"boolean","type":"toggle"},"default":false,"enabled":true,"help":"Automatically send Wake-on-LAN to server(s) right before trying to access shared files or services.","id":"powermanagement.wakeonaccess","label":"Try to wakeup remote servers on access","level":"standard","parent":"","type":"boolean","value":false},{"control":{"delayed":false,"format":"string","multiselect":false,"type":"list"},"default":0,"enabled":true,"help":"Change how auto updating of add-ons are handled.","id":"general.addonupdates","label":"Updates","level":"basic","options":[{"label":"Install updates automatically","value":0},{"label":"Notify, but don't install updates","value":1},{"label":"Never check for updates","value":2}],"parent":"","type":"integer","value":0},{"control":{"delayed":false,"format":"boolean","type":"toggle"},"default":true,"enabled":true,"help":"Show notification when an add-on have been updated.","id":"general.addonnotifications","label":"Show notifications","level":"basic","parent":"","type":"boolean","value":true},{"control":{"delayed":false,"format":"action","type":"button"},"enabled":true,"help":"Manage modules and support libraries that have been automatically installed as a dependency to other add-ons. Items listed as \"Orphaned\" are no longer required by any add-ons and are safe to uninstall.","id":"addons.managedependencies","label":"Manage dependencies","level":"advanced","parent":"","type":"action"},{"control":{"delayed":false,"format":"action","type":"button"},"enabled":true,"help":"Show add-ons that are currently running in the background.","id":"addons.showrunning","label":"Running","level":"advanced","parent":"","type":"action"},{"control":{"delayed":false,"format":"boolean","type":"toggle"},"default":false,"enabled":true,"help":"Allow installation of add-ons from unknown sources.","id":"addons.unknownsources","label":"Unknown sources","level":"basic","parent":"","type":"boolean","value":false},{"control":{"delayed":false,"format":"boolean","type":"toggle"},"default":false,"enabled":true,"help":"Turn debug logging on or off. Useful for troubleshooting.","id":"debug.showloginfo","label":"Enable debug logging","level":"standard","parent":"","type":"boolean","value":false},{"control":{"delayed":false,"format":"boolean","type":"toggle"},"default":true,"enabled":true,"help":"Enables verbose messages from additional libraries to be included in the debug log.","id":"debug.extralogging","label":"Enable component-specific logging","level":"standard","parent":"","type":"boolean","value":true},{"control":{"delayed":false,"format":"string","multiselect":true,"type":"list"},"default":[32768],"definition":{"control":{"delayed":false,"format":"string","multiselect":true,"type":"list"},"default":32768,"enabled":true,"help":"Specify additional libraries whose verbose messages are to be included in the debug log.","id":"debug.setextraloglevel.definition","label":"Specify component-specific logging...","level":"standard","options":[{"label":"Verbose logging for the [B]SMB[/B] library","value":32},{"label":"Verbose logging for the [B]libcURL[/B] library (HTTP(S), DAV)","value":64},{"label":"Verbose logging for the [B]FFmpeg[/B] libraries","value":128},{"label":"Verbose logging for the [B]Audio[/B] component","value":2048},{"label":"Verbose logging for the [B]Video[/B] component","value":32768},{"label":"Verbose logging for [B]D-Bus[/B] calls","value":512},{"label":"Verbose logging for [B]JSON-RPC[/B] requests","value":1024},{"label":"Verbose logging for the [B]Webserver[/B] component","value":65536},{"label":"Verbose logging for the [B]AirTunes[/B] library","value":4096},{"label":"Verbose logging for the [B]UPnP[/B] components","value":8192},{"label":"Verbose logging for the [B]libCEC[/B] library","value":16384}],"parent":"debug.extralogging","type":"integer","value":32768},"delimiter":",","elementtype":"integer","enabled":true,"help":"Specify additional libraries whose verbose messages are to be included in the debug log.","id":"debug.setextraloglevel","label":"Specify component-specific logging...","level":"standard","maximumItems":-1,"minimumItems":0,"parent":"debug.extralogging","type":"list","value":[32768]},{"allowempty":true,"control":{"delayed":false,"format":"path","heading":"Browse for folder","type":"button"},"default":"","enabled":true,"help":"Select the folder where screenshots should be saved in.","id":"debug.screenshotpath","label":"Screenshot folder","level":"standard","parent":"","sources":[],"type":"path","value":"","writable":true},{"control":{"delayed":false,"format":"boolean","type":"toggle"},"default":true,"enabled":true,"help":"Event logging allows to keep track of what has happened.","id":"eventlog.enabled","label":"Enable event logging","level":"standard","parent":"","type":"boolean","value":true},{"control":{"delayed":false,"format":"boolean","type":"toggle"},"default":false,"enabled":true,"help":"Notification event describe regular processes and actions performed by the system or the user.","id":"eventlog.enablednotifications","label":"Enable notification event logging","level":"standard","parent":"eventlog.enabled","type":"boolean","value":false},{"control":{"delayed":false,"format":"action","type":"button"},"enabled":true,"help":"Shows all events in the event log for the current profile with options to only show specific levels.","id":"eventlog.show","label":"Show event log","level":"standard","parent":"","type":"action"}]}}

enen92 commented 7 years ago

The kodi setting for dpms should work then. You have it defined to 30 minutes which is a bit long for testing :) I'll add a few debug calls to the addon

graysky2 commented 7 years ago

When I test it, I drop it down to 5 min.

enen92 commented 7 years ago

Sorry @graysky2 , life has that known ability of getting in the way. Just commited a few debug logging stuff. Can you use the version in master and send me a full debug log? You have to keep the files playing for a bigger time than the one you define in dpms. Hopefully it will give me some idea of why this is not working for you

graysky2 commented 7 years ago

Sure thing. How long do you want it setup for?

enen92 commented 7 years ago

5 minutes is enough if you set kodi dpms to 5 minutes. Please also give it a spin on the other mode. It should stop the video after 5 minutes have passed (give it a little tolerance like more 1 or 2 minutes) and trigger any action you defined like turning the monitor off.

graysky2 commented 7 years ago

OK. Please verify that I have the first test case correct: Goal: have the plugin stop the video after 5 min Measure: Enable debug logging and setup as below. Leave kodi GUI sitting and check to see if screensaver stops playing videos after 10 min. Aerial Setup:

DMPS=manual
Manual timeout = 5 min
Toggle display off = no
Put playing device on standby via a CES = no

Kodi Setup:

Settings>system>power saving>put display to sleep when ide = off
Settings>skin>screensaver>turn on after = 3 min

EDIT: Somewhere after 9 min of idle time the screensaver stopped playing as expected BUT it then starting playing again a few minutes later. I will let it go a bit longer and post the debug log. Note that I have been using x0vncserver to see what's going on with it... will that affect the results? I can setup a 2nd test without doing this if needed.

EDIT2: Debug log: https://gist.github.com/graysky2/cbd7bbbed7c2c5bf819b6e119080cef5

enen92 commented 7 years ago

Basically

first test case 1) configure addon: dpms method: kodi put display to sleep: true 2) in kodi -> settings -> power saving -> put display to sleep when idle = 5 min 3) in kodi -> settings -> interface -> screensaver -> start the screensaver

After ~5 minutes of playback the stream should stop and the display should go to sleep

2nd test case 1) configure addon: dpms method: manual time: 5 minutes 2) in kodi set "put display to sleep on idle -> Off 3) same as test case 1

Result should be the same

Please enable debug logging in Settings -> System -> Logging. Hopefully we'll check if everything is working or if there are there any errors I can solve. So an update can finally be issued.

Thank you very much. Appreciate your efforts in making this plugin better

graysky2 commented 7 years ago

OK. I will do first and second. Please see my edit to the previous post with the debug log.

enen92 commented 7 years ago

Hum OK, so it is working okay but starting if display is off. Need to see if I can detect if the display is on when the screensaver is triggered

graysky2 commented 7 years ago

OK, both cases you outlined above work as expected: after 5 min the display goes to sleep. What doesn't work is what I posted a few above wherein I have DMPS disabled and I just want the screensaver to stop playing after the specified time.

The use case is for machines where screens are never put to sleep, but users turn them on and off manually that run your screensaver. The goal is to not have the screensaving playing video content when the machines are idle for hours or days. Something like 45 min or 60 min is a good time to play the video and then just quit to the Kodi UI.

Log for case 1: https://gist.github.com/graysky2/71be8c71884efddb66d53659dcf6a4c8 Log for case 2: https://gist.github.com/graysky2/39536b18262ca13f09d44e107eca5d8d

enen92 commented 7 years ago

I am wondering if simply pausing the video instead of stoping it would work for you. Or simply stop the video but leaving the window still visible (with a background imagem or even without controls). That way i could easily check if the screensaver is still showing and will avoid starting the playback. When you trigger any action the window would be closed.

graysky2 commented 7 years ago

The only problem I see with that is that it could cause a burn in should the monitor be accidentally left on... say you're watching something but fall asleep. The video ends and the GUI is displayed. Now atv4 starts and quits showing the still image but the screen is still on... now you wake up 9 hours later and face a possible burn it.

enen92 commented 7 years ago

Yeap, probably the second option is the way to go - keep the window open but without controls as if it was an invisible window. That way DPMS will still work on Kodi side and even DIM would work :)

graysky2 commented 7 years ago

1) ATV4 comes on (set to timeout in x min) and plays videos. 2) x min later, the screensaver dims to 20% and pauses the video.

I'll be happy to test it out. The dim feature would be even better.

enen92 commented 7 years ago

Agrrr. This gave me a bit more work than I expected (https://github.com/enen92/screensaver.atv4/commit/95ca69a37f37481d68e9a4783169a6978b59597c) Let me know when you find some time to test it. If okay, I'll issue an update to the repository. You now have 2 more options on DPMS (stop video or pause video). Dim is handled by Kodi itself (can't call it from python) when you do not perform input for a certain ammount of time (and video is either paused or stopped).

The overall solution was a bit hacky but it works: -if the video is paused everything works okay - the screensaver will not be called again. -If the video is stoped a new window (transparent/placeholder) will be open by the screensaver when the original dialog (containing the player) is closed. So the "screensaver addon" is still running but it will look like it is not (just a transparent window with no controls). When the screensaver is activated again, it will detect the "transparent window" is there and will replace it by another instance of the "transparent window". That transparent window will close when any action is performed by the user (screensaver deactivate). Added also a service that runs on startup just to ensure that if kodi crashes during playback the screensaver state is set back to normal (otherwise you'd get a transparent window everytime) :)

Cheers

graysky2 commented 7 years ago

Happy to test now.

graysky2 commented 7 years ago

The latest version seems to be working as expected! Repeat testing now.

enen92 commented 7 years ago

Now those are good news :)

graysky2 commented 7 years ago

So a problem seems to be that it works when kodi is started fresh, but if you wait for it to invoke a subsequent time, the screen just goes black (no ATV4 video plays). Do you need a debug log or do you want to reproduce on your machine?

EDIT: Recent test also ignored key input from the keyboard after the screensaver came on, then stopped the video.

Debug log: https://gist.github.com/graysky2/976533c317f3dee0cbde7957614dcabb

enen92 commented 7 years ago

Yap, I was able to reproduce it as well. Let's see if I can find the missing piece.

enen92 commented 7 years ago

I think I nailed it, at least I can't reproduce it anymore ( https://github.com/enen92/screensaver.atv4/commit/0b388015a3d337f374f6d717d71a092154844d1e ). Fingers crossed

graysky2 commented 7 years ago

Trying 0b38801 now and will report back, thanks!

graysky2 commented 7 years ago

Seems pretty robust to me. Great job! I'll leave it to you to close this ticket. Thanks again for the great screensaver.

enen92 commented 7 years ago

Oh thats great! I'll send an update to the repo this afternoon.

graysky2 commented 7 years ago

Thanks, please tag it for packaging (non-repo users). Looks like 1.3.4 is the current one: https://github.com/enen92/screensaver.atv4/releases

enen92 commented 7 years ago

yap i'll do once I submit it to the repo

enen92 commented 7 years ago

done: https://github.com/enen92/screensaver.atv4/releases/tag/1.4.0 Repo PR: https://github.com/xbmc/repo-scripts/pull/448

Thank you very much for the help implementing this

graysky2 commented 7 years ago

Glad to; right back at you for the implementation!

graysky2 commented 7 years ago

Been working as expected all week. Great job!