<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://kodi.wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Martijn</id>
	<title>Official Kodi Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://kodi.wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Martijn"/>
	<link rel="alternate" type="text/html" href="https://kodi.wiki/view/Special:Contributions/Martijn"/>
	<updated>2026-06-16T02:55:22Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://kodi.wiki/index.php?title=Add-on_rules&amp;diff=135936</id>
		<title>Add-on rules</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Add-on_rules&amp;diff=135936"/>
		<updated>2018-02-24T12:10:50Z</updated>

		<summary type="html">&lt;p&gt;Martijn: /* General requirements */  add 4k fanart&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav|[[Development]]|[[Add-on development]]}}&lt;br /&gt;
&lt;br /&gt;
=== Repository Submission Guidelines - Please Read Before Submitting Your Addon ===&lt;br /&gt;
&lt;br /&gt;
Inclusion in the Kodi.org repository is at the sole discretion of Team Kodi. Because maintaining such a large repository is a large task, we have set some guidelines for inclusion. Please ensure that these guidelines are met before submitting request to be added.&lt;br /&gt;
In order to be considered for the official repository, the following guidelines must be met:&lt;br /&gt;
* All add-ons must be developed as described on the [[Add-on development]] page.&lt;br /&gt;
* You &#039;&#039;must&#039;&#039; include a license file (named LICENSE.txt). We recommend the [http://creativecommons.org/choose/non-web-popup?license_code=by-sa&amp;amp;jurisdiction=&amp;amp;version=3.0&amp;amp;lang=en CC-BY-SA 3.0] for skins and the [http://www.gnu.org/licenses/gpl-howto.html GPL v2+] for others, but most copy left licenses will suffice. Please investigate which license suits your needs and you fully understand the contents.&lt;br /&gt;
* All files must be free and legal to distribute.&lt;br /&gt;
* The add-on must not violate any known copyright laws - if in doubt, let us know and we&#039;ll look into it for you.&lt;br /&gt;
* All source files must be included. No pre-compiled files will be allowed.&lt;br /&gt;
* You acknowledge that you are the maintainer of your add-on.&lt;br /&gt;
* Team-Kodi reserves the right to update or remove it at any time as we deem necessary.&lt;br /&gt;
* If a new stable Kodi is going to be released no new submissions are accepted to the repository for the previous version. This will start from when the first [http://en.wikipedia.org/wiki/Release_candidate#Release_candidate release candidate (RC)] of the new version is released. Only fixes and updates will be accepted and processed for the previous version (e.g. if the current stable is 13.x, no updates are allowed for 11.x any more). See: [[Submitting Add-ons#Allowed submissions|Allowed submissions]]&lt;br /&gt;
* Monetization of add-ons (for instance advertising or paid subscriptions) will not be allowed. We can make an exception in case you own the copyright for the content the add-on provides. Please contact us on the forum (or add-on mailing list) if you believe such an exception may apply to your add-on.&lt;br /&gt;
* All xbmc.python.module addons must be used by at least one other add-on in official repository.&lt;br /&gt;
&lt;br /&gt;
=== Updates ===&lt;br /&gt;
Keep in mind that add-ons in the official repository should be considered &#039;&#039;stable&#039;&#039;. This means that they should be well-tested before you submit them for inclusion.&lt;br /&gt;
Because they are for stable users, they should avoid being updated too often. Too often is of course subjective. If your add-on is in rapid development, and features are constantly being added, hold off until you have hit a good stopping point and &#039;&#039;tested&#039;&#039; the current version.&lt;br /&gt;
&lt;br /&gt;
This means that you should &#039;&#039;not&#039;&#039; submit a request every time you change your code. If you are submitting updates more than once per week something is wrong. Once or twice per month is probably a better goal, barring unforeseen conditions (like a content source changing its paths). With good reasons provided we will of course make exceptions as we strive to prove the best user experience.&lt;br /&gt;
&lt;br /&gt;
=== General requirements ===&lt;br /&gt;
Here&#039;s a list of what basic sanity checks are done by repository maintainer on each submission.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Basic file checks:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* all strings used by add-ons must be localized, no hard-coded language strings should ever be used&lt;br /&gt;
* all paths should be treated as case-sensitive, so that they work on all OSs and file systems.&lt;br /&gt;
* all paths and files should be lower-case due to the previous point&lt;br /&gt;
** exceptions are README, COPYING, LICENSE.txt that should be upper-case and the &amp;quot;Default&amp;quot; directory in &amp;lt;tt&amp;gt;resources/skins&amp;lt;/tt&amp;gt;, for add-ons that need it.&lt;br /&gt;
* exception are the translation language folders which should be first letter capitalized.&lt;br /&gt;
* the following file-types are not allowed: .so .dll .pyo .exe .xbt .xpr Thumbs.db and so on&amp;lt;any binary files&amp;gt;&lt;br /&gt;
* all text files should use UNIX end-of-line&lt;br /&gt;
* all .xml files must pass xml validation&lt;br /&gt;
* all .xml files must have xml declaration as header&lt;br /&gt;
* all .xml/.txt must have unix style EOL&#039;s&lt;br /&gt;
* don&#039;t use a BOM at the start of your files&lt;br /&gt;
* file permissions: files should not be marked as executable&lt;br /&gt;
* filenames must have correct encoding (for skins: check your studio logos for corrupt filenames)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Things that must be included:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*  [[Add-on structure#addon.xml|addon.xml]] must contain correct and valid info / version&lt;br /&gt;
*  [[Add-on structure#icon.png|icon.png]] must be present (256x256) or (512x512)&lt;br /&gt;
*  [[Add-on structure#fanart.jpg|fanart.jpg]] must be present (1280x720 or 1920x1080 or 3840x2160)&lt;br /&gt;
*  [[Add-on structure#LICENSE.txt|LICENSE.txt]] must be present&lt;br /&gt;
{{See also|Add-on_structure}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Things that can&#039;t be included:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* no .xbt files (these will be generated by our repository)&lt;br /&gt;
* no other add-ons included  (skinners: if you need a script, submit it separately and depend on it)&lt;br /&gt;
* don&#039;t include unneeded files (.pdf, .doc, thumbs.db, etc...)&lt;br /&gt;
* no licensed fonts / background images / anything&lt;br /&gt;
&lt;br /&gt;
=== Requirements for skins ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Basic checks:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* The file size must be sane. There is no hard limit, but a 100mb skin is pushing it.&lt;br /&gt;
* No mods. Mods are great, and pop up frequently in the forums. But they are only confusing to non-forum-goers. This can be vague, each is evaluated on its own merit. By naming your &amp;quot;mod&amp;quot; different and make it substantial different enough, we will of course take it in consideration.&lt;br /&gt;
* Due to a bug in TexturePacker, all graphics files should have a resolution of at least 4x4.&lt;br /&gt;
* themes must be in a subfolder of the themes/ folder in the skin root (eg. skin.foo/themes/blue/&amp;lt;files&amp;gt;). The .xbt file will be created by our repo backend.&lt;br /&gt;
* If you want to have some images outside of Textures.xbt, then make sure you place those images outside of the media/ folder and reference them using special://skin/backdrops/* or similar.  This is most useful for backgrounds - it keeps the size of the packed textures down.  Any images you have in the media/ folder will be placed in Textures.xbt in the official repository.&lt;br /&gt;
* Please be careful with addon dependencies. Only add dependencies that are needed for the skin to function properly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Code checks:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* all labels must be localized&lt;br /&gt;
* code should be case-sensitive&lt;br /&gt;
* skins should not create warning/errors in the logfile, this can be a lot of things:&lt;br /&gt;
:* invalid includes&lt;br /&gt;
:* undefined actions&lt;br /&gt;
:* unable to evaluate condition&lt;br /&gt;
:* undefined vars&lt;br /&gt;
:* can&#039;t focus &#039;id&#039;&lt;br /&gt;
&lt;br /&gt;
{{Note|This of course also applies to script add-ons that use skin files}}&lt;br /&gt;
&lt;br /&gt;
==== Optional support ====&lt;br /&gt;
&lt;br /&gt;
This is optional and should not block inclusion in official repo.&lt;br /&gt;
&lt;br /&gt;
* mouse support&lt;br /&gt;
* touchscreen support&lt;br /&gt;
* peripheral dialogs&lt;br /&gt;
* PVR support&lt;br /&gt;
* ADSP support&lt;br /&gt;
* RDS support&lt;br /&gt;
&lt;br /&gt;
=== Requirements for scripts and plugins ===&lt;br /&gt;
&lt;br /&gt;
* all special:// paths should be translated using xbmc.translatePath(&amp;quot;special://foo/bar&amp;quot;)&lt;br /&gt;
* xbmc.translatePath(xbmcaddon.Addon().getAddonInfo(&#039;path&#039;)).decode(&#039;utf-8&#039;) should be used for files included with the add-on&lt;br /&gt;
* xbmc.translatePath(xbmcaddon.Addon().getAddonInfo(&#039;profile&#039;)).decode(&#039;utf-8&#039;) should be used for storing add-on related files&lt;br /&gt;
* direct access to the Kodi database is &#039;&#039;&#039;not&#039;&#039;&#039; allowed. You must use [[JSON RPC]] for this.&lt;br /&gt;
* directly using analytics (Google Analytics for example) from within add-ons is not allowed. This should be handled server side by using user-agent.&lt;br /&gt;
* addons should use the xbmc.log() method to write to the logfile and use the debug logging level only. print statements should not be used. &lt;br /&gt;
* add-ons should store all their data in their own subfolder inside the addon_data directory. Access (read/write/delete) to any other files / folders is not allowed by default.&lt;br /&gt;
* Plugins should &#039;&#039;&#039;not&#039;&#039;&#039; force certain skin viewtypes on their own. They should set the correct media content from which the correct skin view type is automatically provided.&lt;br /&gt;
&#039;&#039;Exceptions to this rule may be granted in specific cases only. Please contact Team XBMC&#039;s add-on repository maintainers via the add-on mailing list if your add-on needs access to such files.&#039;&#039;&lt;br /&gt;
In case we grant such an exception for your addon, access (read/write/delete) to other files/directories must be opt-in by the user, and be clear for the user to understand what is being accessed.&lt;br /&gt;
&lt;br /&gt;
=== Requirements for scrapers ===&lt;br /&gt;
* scraper must return the following minimum information: movie title, year, plot, cast, poster, fanart&lt;br /&gt;
* use &#039;chain function&#039; for calling functions in common scrapers&lt;br /&gt;
* remove the deprecated XML tags from the scraper header in case you use a scraper editor made for pre-Dharma versions of XBMC&lt;br /&gt;
&lt;br /&gt;
[[Category:Add-on development]]&lt;br /&gt;
[[Category:Team Kodi specific notes]]&lt;/div&gt;</summary>
		<author><name>Martijn</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Archive:Google_Summer_of_Code/2018&amp;diff=135033</id>
		<title>Archive:Google Summer of Code/2018</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Archive:Google_Summer_of_Code/2018&amp;diff=135033"/>
		<updated>2018-02-12T19:21:31Z</updated>

		<summary type="html">&lt;p&gt;Martijn: Fix forum links&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav| [[Google Summer of Code]] }}&lt;br /&gt;
[[File:GSOC_2016_logo.png|left|150px]]Welcome to the Kodi [http://summerofcode.withgoogle.com Google Summer of Code] ideas page. &amp;lt;!--We are pleased to announce that we have been accepted as an official [http://www.google-melange.com/gsoc/org/google/gsoc2016/Kodi GSOC mentor organization this year].--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We encourage interested students to review some of the ideas on this page, and then feel free to provide input on any ideas you may have in the &#039;&#039;&#039;[http://forum.kodi.tv/forumdisplay.php?fid=257 Kodi GSoC forum]&#039;&#039;&#039; and chat about any project you’d love to cover. To propose a project, see &#039;&#039;&#039;[[#Students project proposal ideas]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
From  the 12th to the 27th of March, any interested students may apply at the [http://summerofcode.withgoogle.com GSOC home page] to work with Kodi. After that, Google will notify applicants whether we get to work with each other according to the [http://developers.google.com/open-source/gsoc/timeline GSOC schedule].&lt;br /&gt;
{{-}}&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
| align=left |&lt;br /&gt;
__TOC__&lt;br /&gt;
| align=right |&lt;br /&gt;
{{YouTube|kQq0mx-wshk}}&lt;br /&gt;
|}&lt;br /&gt;
== About Us ==&lt;br /&gt;
As there may be many students who have landed here as a result of GSOC, but are unfamiliar with the project, here are a few resources that may help explain what we are about.&lt;br /&gt;
&lt;br /&gt;
:Kodi (formerly known as XBMC) is an award-winning free and open source (GPL) software media player and entertainment hub for digital media, designed around the 10-foot interface (living room) environment. Created in 2003 by a group of like minded programmers, Kodi is a non-profit project run and developed by volunteers located around the world. More than 500 software developers have contributed to Kodi, and 100-plus translators have worked to expand its reach, making it available in more than 60 languages. For more information, see the page &#039;&#039;&#039;[[Kodi]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
To get an idea of what Kodi is truly capable of, it really must be seen. Check out a few other user-created videos:&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://www.youtube.com/watch?v=NcogPuSo-DU Kodi with the default Confluence skin]&amp;lt;br /&amp;gt; &lt;br /&gt;
[http://www.youtube.com/watch?v=4asUCtE0ONU Kodi with Aeon Nox skin]&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://www.youtube.com/watch?v=4NR57ELY28s Kodi on Raspberry Pi]&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://www.youtube.com/watch?v=e_0PB5hfz_k Kodi&#039;s new PVR functionality]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kodi is written primarily in c++ and runs on a variety of platforms including Android, iOS, Linux, OS X, and Windows. It has been ported to work on several low-power platforms including the Raspberry Pi and Android.&lt;br /&gt;
&lt;br /&gt;
Kodi was a mentoring organization in [[Google Summer of Code 2008|2008]], [[Google Summer of Code 2012|2012]], [[Google Summer of Code 2013|2013]], [[Google Summer of Code 2015|2015]], and [[Google Summer of Code/2017|2017]], and had team members involved in GSoC for other projects during 2011.&lt;br /&gt;
&lt;br /&gt;
If Kodi is selected as a mentoring organization for 2018, students will need to review the Overview of a good project proposal, follow the outline for proposals when applying, and review the list of project ideas detailed below. Students are welcome to propose ideas outside the list and are encouraged to be as creative as they like.&lt;br /&gt;
&lt;br /&gt;
=== Mentors ===&lt;br /&gt;
All mentors and backup mentors are extremely experienced in the Kodi codebase and will thus be able to assist students in getting to know the codebase and in quickly identifying projects that are both achievable for someone unfamiliar with the internal workings of Kodi and desirable to the wider Kodi community.&lt;br /&gt;
&lt;br /&gt;
==Prerequisites==&lt;br /&gt;
C++ coding skills, basic familiarity with [[Git usage|Git]], solid understanding and interest in programming. Ability to quickly understand existing code is beneficial.&lt;br /&gt;
&lt;br /&gt;
== Project Proposals ==&lt;br /&gt;
=== Overview ===&lt;br /&gt;
Qualifications for a good Summer of Code proposal:&lt;br /&gt;
* Discrete, well-defined, modular&lt;br /&gt;
* Comprised of a series of measurable sub-goals&lt;br /&gt;
* Based on open specs that are available free of charge&lt;br /&gt;
* Based on complete specs&lt;br /&gt;
An example of a good proposal is the implementation of a new feature or function that is not yet available in Kodi.&lt;br /&gt;
&lt;br /&gt;
An example of a less desirable proposal is one that&#039;s not as measurable, such as refactoring an existing API. Bad proposals tend to be ones that would require touching a lot of core code.&lt;br /&gt;
&lt;br /&gt;
To re-iterate:&lt;br /&gt;
* Localized/isolated code projects = &#039;&#039;good&#039;&#039;&lt;br /&gt;
* Global code refactoring = &#039;&#039;bad&#039;&#039;&lt;br /&gt;
* A project should have a set of subgoals, so even if the end goal turns out to be too big some of the parts will be of benefit.&lt;br /&gt;
* Not too big! This is an important problem when choosing a project, while it is fun to think about solving a grand project its not always realistic. Its better to finish a smaller project than to start a grand one.&lt;br /&gt;
&lt;br /&gt;
=== Where to submit proposals ===&lt;br /&gt;
In addition to submitting to the [https://summerofcode.withgoogle.com/ Google Summer of Code] website, you are highly encouraged to submit your idea/proposal to the [http://forum.kodi.tv/forumdisplay.php?fid=274 Kodi forum] for discussion. Any proposal not submitted to the forum for discussion will likely not be considered.&lt;br /&gt;
&lt;br /&gt;
=== Outline for proposals ===&lt;br /&gt;
{{divbox|blue||&lt;br /&gt;
PROJECT TITLE GOES HERE&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Name:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;forum/e-mail:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Summary:&#039;&#039;&#039; A somewhat small but explanatory walk through of the project. It should not be overly detailed just enough to understand the problem trying to be fixed and how this project opt to solve it.&lt;br /&gt;
* &#039;&#039;&#039;How will I achieve this:&#039;&#039;&#039; Explain how the project will be done, what technologies are needed and how to implement them.&lt;br /&gt;
* &#039;&#039;&#039;What will the project focus on:&#039;&#039;&#039; Explain what the project will focus on, what is the important parts of the project.&lt;br /&gt;
* &#039;&#039;&#039;Benefits:&#039;&#039;&#039; Who will benefit and why from this project. Think about what a user or developer may need or do to benefit from it. Why does it benefit many users.&lt;br /&gt;
* &#039;&#039;&#039;Goals:&#039;&#039;&#039; What is the goal of the project, a project may not always solve the problem entirely as it may take to much time. Think hard about what can be accomplished during a summer with your skill and deduct that quite a bit. If the project can&#039;t be done after this perhaps its better to opt for a smaller one or one with subgoals.&lt;br /&gt;
* &#039;&#039;&#039;What does it touch in Kodi:&#039;&#039;&#039; Think about what parts of the code this may touch, Kodi is a big application and a lot of the code is spread out and very complex. If a project touches to much it may be impossible to complete.&lt;br /&gt;
* &#039;&#039;&#039;Requirements:&#039;&#039;&#039; What is needed to complete the project, what code language knowledge what hardware etc.&lt;br /&gt;
* &#039;&#039;&#039;Possible mentors:&#039;&#039;&#039; Place to add possible mentors (Team-Kodi will add this). &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Team-Kodi proposal ideas up for discussion ==&lt;br /&gt;
&lt;br /&gt;
===Intro/outro Detection===&lt;br /&gt;
&#039;&#039;&#039;Description:&#039;&#039;&#039; It would be nice to detect intros and outros of a file dynamically. Then make the intros and outros skipable. One way to do this would be to create a machine learning model per show and distribute those via an api. The scope of this project would focus on some examples and making it easy to add more later. Then implement an addon or core addition that takes those models and acts on them when playing a file, ultimatly making it possible to skip forward.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Expected outcome:&#039;&#039;&#039; Being able to skip past intros or outros of shows and maybe even movies.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills preferred:&#039;&#039;&#039; Python, C++, something to run an api - GO or Elixir would be prefered&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Possible mentors:&#039;&#039;&#039; Razze&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Hard&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; Risky/Exploratory&lt;br /&gt;
&lt;br /&gt;
=== Better Profile Support ===&lt;br /&gt;
&#039;&#039;&#039;Description:&#039;&#039;&#039; Profile support inside Kodi remains extremely hacked together. Improving profile projects would likely be broken down into smaller chunks to make each chunk truly achieveable in a summer. Database handling for profiles needs to be reviewed and changed so that the user expirience is more streamlined. It should also be possible to better guard code paths that need to check for specific profile rights. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Expected outcome:&#039;&#039;&#039; Profiles should be more user frendly then before and not be an after thought. Being able to easily add more profile features is the big ultimate goal, as we want to support profiles for kids, that automatically hide media that&#039;s not for them. Just as an example.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills preferred:&#039;&#039;&#039; C++&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Possible mentors:&#039;&#039;&#039; spiff&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Hard&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; Core development&lt;br /&gt;
&lt;br /&gt;
=== Replacing depends with a CMake-based system ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Description:&#039;&#039;&#039; Kodi has its own system for building the many libraries Kodi depends on that supports most platforms (Linux, Android, OS X, iOS) and cross-compiling called depends. At the moment, it is implemented with autotools and hand-crafted Makefiles. This has lead to a lot of code duplication, poor maintainability, and not being very user-friendly. Also, it does not currently work on Windows. This task would be about replacing the current system with a new implementation in CMake that has better maintainability.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Expected outcome:&#039;&#039;&#039; A CMake-based dependency build system that offers roughly the same features as depends (i.e. all required libraries covered, diverse platform support, crosscompilation). If the solution can also be applied to Windows by e.g. adding minimal CMake files to replace some UNIX-only build systems, that would be a big plus, but it is not necessary.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills preferred:&#039;&#039;&#039; CMake, shell scripting, general familiarity with UNIX/Linux&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Possible mentors:&#039;&#039;&#039; wsnipex&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Medium&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; Infrastructure/Automation&lt;br /&gt;
&lt;br /&gt;
===Add-ons===&lt;br /&gt;
====Add code validation and do statistical analysis in kodis addon checker====&lt;br /&gt;
&#039;&#039;&#039;Description:&#039;&#039;&#039; Kodis addon checker checks each Kodi addon PR on github for certain problems, which ultimatly makes reviewing python addons easier for the team. These checks are fairly simple right now and would greatly benefit from improvements. It would be very nice to actually check the python code that is submitted for errors and also do statistical analysis on each PR. The addon checker is written in python and can be fround here https://github.com/xbmc/addon-check&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Expected outcome:&#039;&#039;&#039; Safer and faster acceptance and reviews for the official kodi addon repos. As most of the code will be checked by the machine. Also fewer slipups with regard to oversight.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills preferred:&#039;&#039;&#039; Python&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Possible mentors:&#039;&#039;&#039; Razze&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Medium&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; Low-hanging fruit&lt;br /&gt;
&lt;br /&gt;
====Automatic addon checker for binary addons====&lt;br /&gt;
&#039;&#039;&#039;Description:&#039;&#039;&#039; Kodis addon checker checks each Kodi addon PR on github for certain problems, which ultimatly makes reviewing python addons easier for the team. But the other type of addons, binary addons is not being checked so far. Which makes reviews and codeing guidlines hard to handle. Thus it would be nice to also check those addons, either via the current checker written in python or a new binary addon specific checker. Goals would include checking the addon.xml, the C++ code and a check for potentially malicious code.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Expected outcome:&#039;&#039;&#039; Being able to run the checker against all binary repo PRs on github.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills preferred:&#039;&#039;&#039; Python, C++&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Possible mentors:&#039;&#039;&#039; Razze&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Hard&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; Low-hanging fruit&lt;br /&gt;
&lt;br /&gt;
====Addon Submissions====&lt;br /&gt;
&#039;&#039;&#039;Description:&#039;&#039;&#039; Write a tool or an website to easily submit addons to our addon repo. The tool will need to login at github and send a PR in the name of the author to the correct repo and branch on kodis github. The user experiance needs to be very good to not keep anyone from submitting. It should also be able to offer some oppinions on the code that will be commited before it actually get&#039;s send. So it would catch the most common errors on the client side.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Expected outcome:&#039;&#039;&#039; A tool to get more submissions with better quality and lower the bar for addon authors to get started with repo submissions.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills preferred:&#039;&#039;&#039; Depending if this will be a standalone tool or an website the choice of technology would be quiet different. It would be a new tool, so that&#039;s fine. For an website python/djang, elixir/phoenix or something similar would be a good choice. For a stand alone tool we might do a full ui in java or electron or settle for a commandline interface via javascript.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Possible mentors:&#039;&#039;&#039; Razze&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Easy&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; Low-hanging fruit&lt;br /&gt;
&lt;br /&gt;
===Achievements in Retroplayer===&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;: Retroarch has developed support for achievements in certain select libretro cores. This project would consist of porting whatever work might be portable and otherwise integrating the existing libretro achievement system into Kodi&#039;s retroplayer implemented using Kodi&#039;s UI system. Could be tackled a few different ways, including simply linking the user to the retroachievements.org or creating a full achievement database in Kodi.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Expected Outcome&#039;&#039;&#039;: Users should be able to see their achievements in Kodi. Player manager and Player profile support may be in development concurrently, so thought should be given to those systems.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills preferred&#039;&#039;&#039;: C++, python, possibly php&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Possible mentor&#039;&#039;&#039;: garbear&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;: medium&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;: Fun/Peripheral&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Notes&#039;&#039;&#039;: Garbear has broken down the Retroplayer project into manageable pieces including input, core, game addons, peripheral addons, netplay, a game library implementation, and shaders to do things like emulate a CRT monitor.  This is one example, but many pieces are currently being worked on or are near completion, and many more could use help from a student familiar with the area. Visit the retroplayer section of the Kodi forum to see all the major projects still to do.&lt;br /&gt;
&lt;br /&gt;
===Add a picture library===&lt;br /&gt;
&#039;&#039;&#039;Description:&#039;&#039;&#039; At the moment kodi has the concept of libaries for movies, tvshows and music. Libraries are far nicer for users to handle as they keep their data and basically act upon the data that got collected without having to get it on each directory traversal. It also enables filtering, sorting and searches. The project would focus on adding a picture database and getting it filled via file scrapping. When that&#039;s done we would progress to write basic libary views for pictures.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Expected outcome:&#039;&#039;&#039; A functional picture library for kodi with the possiblity to scan file and having them added to your library. It should also be possible to look at your files via a libary frontend, just like it&#039;s possible for tvshows, movies or music.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills preferred:&#039;&#039;&#039; C++, SQLite, MySQL/MariaDB&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Possible mentors:&#039;&#039;&#039; Razze&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Easy&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; Core development&lt;br /&gt;
&lt;br /&gt;
===Use machine learning to improve suggestions===&lt;br /&gt;
&#039;&#039;&#039;Description:&#039;&#039;&#039; Kodi currently can&#039;t suggest simiar media to watch/listen to. It would be possible to just show media that&#039;s similar on the base of a tag, but that would be quiet rudimentary. Better would be to create something driven by the user or profile that&#039;s currently logged in. This would mean that watched/listend and collected data be added to the model and we would serve the best possible suggstion for a user. Machine learning might be the best approach as we would be able to create a model and just ship that model and act on it when kodi tries to serve suggestions.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Expected outcome:&#039;&#039;&#039; Far better suggestions then before. Some places might even just get suggestions due to this project, as it did not make much sense to do suggestions before this.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills preferred:&#039;&#039;&#039; Python, TensorFlow, C++, SQLite, MariaDB/MySQL&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Possible mentors:&#039;&#039;&#039; Razze&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Hard&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; Risky/Exploratory&lt;br /&gt;
&lt;br /&gt;
===Using fuzz testing to fuzz test Kodi===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Description:&#039;&#039;&#039; Adding fuzz testing to Kodi would be very valuable to find problems in the current code base. Especially security problems. First step would be choosing a framework either american fuzzy lop, libFuzzer or other similar projects. After we decided on that it would be time to start to fuzz different methods that are widely used in Kodi and try to expose flaws in those. If this leads to success, it should be documented and made repeatable.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Expected outcome:&#039;&#039;&#039; Being able to easily add more fuzz tests and having the process to do this documented.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills preferred:&#039;&#039;&#039; C++, CMake &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Possible mentors:&#039;&#039;&#039; Razze&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty:&#039;&#039;&#039; Medium&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; Risky/Exploratory &lt;br /&gt;
&lt;br /&gt;
===other ideas===&lt;br /&gt;
These ideas still need expanding and/or assigned a potential mentor. If one of these ideas interests you, feel free to ask for more info in the GSOC 2018 forum area. We may be able to assign a mentor if enough interest is shown&lt;br /&gt;
*Using fruit or similar to use DI in Kodi and write tests&lt;br /&gt;
*High quality scalers for OpenGL(GLSL). Scale Y and UV plane separately (&#039;&#039;&#039;mentor&#039;&#039;&#039;: fernet menta)&lt;br /&gt;
*Support downloading of of media items (the actual file not just the metadata) from another Kodi instance (e.g. through UPnP) into the local library. This could be done in a &amp;quot;send to&amp;quot; way and in a &amp;quot;download&amp;quot; way and it could also be combined with transcoding depending on the target device. (possible mentor: montellese)&lt;br /&gt;
*UPnP device profiles. there&#039;s already a PR that goes in that direction and the problem is that right now we can only really provide device specific MIME type hacks but if we have transcoding we&#039;ll definitely need this (possible mentor: montellese)&lt;br /&gt;
&lt;br /&gt;
=== More ===&lt;br /&gt;
We feel it is important to note that, while we are interested in a focus on the listed three areas, we would like to stress passion, expertise, and creativity above all else. If you would like to do something completely different, definitely send in that proposal. The ideas listed above are, as always, merely suggestions. We will be interested in any idea, so long as you can communicate your interest, your background, and your solution the problem.&lt;br /&gt;
&lt;br /&gt;
== Students project proposal ideas ==&lt;br /&gt;
&lt;br /&gt;
Submit your own proposals on the &#039;&#039;&#039;[https://forum.kodi.tv/forumdisplay.php?fid=284 Kodi GSoC forum]&#039;&#039;&#039;. They can be as big or as small as you feel you can comfortably accomplish between &#039;&#039;&#039;PROJECT START DATE&#039;&#039;&#039; and &#039;&#039;&#039;PROJECT END DATE&#039;&#039;&#039;. In the end, it&#039;s better to have a smaller, completed project, rather than a larger, incomplete project.&lt;br /&gt;
&lt;br /&gt;
To submit a proposal idea:&lt;br /&gt;
# Copy the text from &#039;&#039;&#039;[[#Outline for proposals]]&#039;&#039;&#039;.&lt;br /&gt;
# Create a new forum post &#039;&#039;&#039;[https://forum.kodi.tv/forumdisplay.php?fid=284 HERE]&#039;&#039;&#039; and paste the text.&lt;br /&gt;
# Fill out everything using your specific proposal.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Google Summer of Code]]&lt;/div&gt;</summary>
		<author><name>Martijn</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Kodi_v18_(Leia)_changelog&amp;diff=132669</id>
		<title>Kodi v18 (Leia) changelog</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Kodi_v18_(Leia)_changelog&amp;diff=132669"/>
		<updated>2018-01-29T20:45:56Z</updated>

		<summary type="html">&lt;p&gt;Martijn: /* Android Specific */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav|[[Releases]] {{l2| [[Leia]] }} }}&lt;br /&gt;
&lt;br /&gt;
{{notice|Kodi v17 (Krypton) final has just been released, so please keep in mind that a final non-alpha/beta v18 (Leia) release is still far far away into the future. As such, these new features/functions and API changes is a placeholder containing changes to the current Kodi mainline (the git master tree repository on GitHub). It is a very much a work in progress, this is only listing changes commited to the master branch after Jarvis branching, and many many many features/functions and API additions, alterations or removal are still subject to future change.}}&lt;br /&gt;
{{incomplete}}&lt;br /&gt;
{{future|18}}&lt;br /&gt;
&lt;br /&gt;
{{see also|Kodi v18 (Leia) FAQ|Leia API changes|Releases}}&lt;br /&gt;
&lt;br /&gt;
This is a placeholder and Kodi Wiki copy of the condensed changelog for the future Kodi v18.x version (codename: &amp;quot;Leia&amp;quot;) releases with a summery of the most important core features and functions as well as other notable changes to key areas of the application software or its user interface.&lt;br /&gt;
&lt;br /&gt;
== Changelog ==&lt;br /&gt;
&lt;br /&gt;
=== Gaming (Games interface and Game Clients)===&lt;br /&gt;
* Added a RetroPlayer player core supporting game clients as well as emulator cores via libretro API&amp;lt;ref name=&amp;quot;RetroPlayer&amp;quot;&amp;gt;RetroPlayer http://forum.kodi.tv/showthread.php?tid=164725&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;http://github.com/xbmc/xbmc/pull/11022&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Added extentions to Kodi&#039;s Addons AP to support Game Client Addons, supporting Kodi&#039;s VFS (Virtual File System), etc.&amp;lt;ref name=&amp;quot;RetroPlayer&amp;quot;/&amp;gt;&lt;br /&gt;
* Added support for Game Client Addons as new type of addons with just-in-time emulator installation&amp;lt;ref name=&amp;quot;RetroPlayer&amp;quot;/&amp;gt;&lt;br /&gt;
* Added a Games window and Game OSD (On-Screen-Display) entries to the GUI&amp;lt;ref name=&amp;quot;RetroPlayer&amp;quot;/&amp;gt;&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/12367&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Added a gaming and game configuration interface for Game settings to the GUI&amp;lt;ref name=&amp;quot;RetroPlayer&amp;quot;/&amp;gt;&lt;br /&gt;
* Added support for Game Info Tags (game info tag) and exposed properties to Python list items&amp;lt;ref name=&amp;quot;RetroPlayer&amp;quot;/&amp;gt;&lt;br /&gt;
* Added a savestate (savestate) manager to Kodi for games&amp;lt;ref&amp;gt;http://github.com/xbmc/xbmc/pull/11034&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Added initial support for basic gameplay persistence (auto-save &amp;amp; auto-load)&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/12434&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Added support for in-game (save RAM) saves&amp;lt;ref&amp;gt;http://github.com/xbmc/xbmc/pull/11380&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Added support for Keyboard players via Joystick Emulation&amp;lt;ref name=&amp;quot;RetroPlayer&amp;quot;/&amp;gt;&lt;br /&gt;
* Added support for libretro API and game cores (emulators and games) that support it&lt;br /&gt;
* Added [[Game_Add-ons|game clients addons]] for many popular third-party game console emulators and native open source games *&lt;br /&gt;
** &#039;&#039;* [[Game_Add-ons|Game clients addons]] for Kodi is changing quickly so checkout the [[Game_Add-ons|game clients addons]] article for a current list&#039;&#039;&lt;br /&gt;
* ?&lt;br /&gt;
&lt;br /&gt;
=== Live TV and PVR (Personal Video Recorder) ===&lt;br /&gt;
* Major GUI actions refactoring to eliminate duplicate and dead code. Add context menu support for Estuary PVR home screen widgets &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/10870&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Guide window: Get rid of obsolete views &amp;quot;channel&amp;quot;, &amp;quot;now&amp;quot; and &amp;quot;next&amp;quot; &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/10838&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Core: Refactor and fix &amp;quot;play minimized&amp;quot; settings handling &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/11203&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Guide, channel, video fullscreen, music visualisation window: Direct channel number input. &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/11434&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Settings: Remove setting &#039;hide connection lost warning&#039; &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/11500&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Search dialog: Refactor and complete implementation of EPG search filter &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/11570&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Timer settings dialog: Prefill recordings folder with timer title &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/11679&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Recordings window: Content view filter &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/11704&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Settings: Remove non-working recording settings defaults &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/11746&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Guide window: &#039;Smart selection&#039; of epg events. &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/11782&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Channelgroup manager: Add support for radio channel groups &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/11877&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Guide window: Add possibility to switch between horizontal and vertical epg grid view &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/11958&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Search window: improvements and fixes &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/12001&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Estuary home screen: Add Info support to recently played channel widget &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/12254&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Estuary: Add episodename to live tv and recordings osd sub label, cleanup seek bar for live tv &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/12306&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Estuary: PVR info dialog, recordings window: cleanup and extend &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/12416&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Drop &#039;channel guide&#039; button from epg event info dialog, add &#039;channel guide&#039; to context menu &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/12526&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Settings: Introduce new setting &#039;Startup action&#039; and add &#039;Play TV/Radio &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/12548&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Settings: Make &#039;epg.lingertime&#039; an official setting, remove the respective advanced setting &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/12740&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Setting: Remove obsolete and unused setting &#039;pvrplayback.scantime&#039; &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/12800&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Core: Fixes/Improvements for multiple enable PVR client addons &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/12959&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Core: Fixes/Improvements for subchannel numbers support (ATSC) &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/13069&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Core: Global direct channel number input &amp;amp; global unique channel numbers &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/13135&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Database: Fix error &amp;quot;Abort due to constraint violation. Query: INSERT INTO channels...&amp;quot; &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/13150&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Estuary: Rework PVR seekbar + Fix PVR info dialog &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/13158&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Core: Make next/previous chapter work for PVR recordings &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/13164&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Direct channel number input: No delay on switch to previous channel with key 0 &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/13232&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Settings: Make shared channel selection optional &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/13237&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Estuary: PVR info panel cleanup &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/13255&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Guide window: &#039;Go to date&#039; context menu item &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/13282&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Estuary: Season/Episode info in Guide window and dialog &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/13300&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Estuary: Add percent played progress bar to PVR info panel (for recordings) &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/13338&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Guide window: Channel groups selector &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/13364&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Guide window: Tweaks for more consistency and readability &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/13402&amp;lt;/ref&amp;gt;&lt;br /&gt;
* PVR-Addon API changes &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/12028&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/12303&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/12552&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/12609&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/12660&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/12689&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/12755&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/13228&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Added, updated, and improved PVR backend clients addons for all popular third-party external [[PVR backend]] platforms:&lt;br /&gt;
** New: [[Add-on:Zattoo PVR Client|Zattoo PVR Client]] PVR Addon backend client maintained and available from Kodi&#039;s community&lt;br /&gt;
** New: [[Add-on:Teleboy PVR Client|Teleboy PVR Client]] PVR Addon backend client maintained and available from Kodi&#039;s community&lt;br /&gt;
** [[Add-on:PVR Demo Client|PVR Demo Client]] dummy addon with fake (method stub) [[PVR backend]] for [[PVR]] skinning and regression testing&lt;br /&gt;
** [[Add-on:IPTV Simple Client|IPTV Simple Client]] PVR Addon backend client maintained and available from Kodi&#039;s community&lt;br /&gt;
** [[Add-on:FilmOn PVR Client|FilmOn]] PVR Addon backend client maintained and available from Kodi&#039;s community&lt;br /&gt;
** [[Add-on:Stalker Client|Stalker Middleware]] PVR Addon backend client maintained and available from Kodi&#039;s community&lt;br /&gt;
** [[Add-on:HDHomeRun PVR|HDHomeRun]] PVR Addon backend client maintained and available from Kodi&#039;s community&lt;br /&gt;
** [[Add-on:Digital Devices Octopus NET Client|Digital Devices Octopus NET Client]] PVR Addon backend client maintained and made available by [http://digitaldevices.de/home/ Digital Devices]&lt;br /&gt;
** [[Add-on:VU+ / Enigma2 Client|Enigma2 (Dreambox / Vu+ / DBox2)]] PVR Addon backend client maintained and available from Kodi&#039;s community&lt;br /&gt;
** [[Add-on:VBox TV Gateway PVR Client|VBox TV Gateway]] PVR Addon backend client maintained and available from Kodi&#039;s community&lt;br /&gt;
** [[Add-on:Njoy N7 PVR Client|Njoy Digital (N7)]] PVR Addon backend client maintained and available from Kodi&#039;s community&lt;br /&gt;
** [[Add-on:PCTV Systems Client|PCTV Systems (Broadway)]] PVR Addon backend client maintained and available from Kodi&#039;s community&lt;br /&gt;
** [[Add-on:Tvheadend HTSP Client|Tvheadend HTSP Client]] PVR Addon backend client maintained and available from Kodi&#039;s community&lt;br /&gt;
** [[Add-on:VDR VNSI Client|VDR VNSI Client]] PVR Addon backend client maintained and available from Kodi&#039;s community&lt;br /&gt;
** [[Add-on:MythTV PVR Client|MythTV PVR Client]] Addon backend client maintained and available from the Kodi&#039;s community&lt;br /&gt;
** [[Add-on:NextPVR PVR Client|NextPVR (former GB-PVR)]] PVR Addon backend client maintained and available from Kodi&#039;s community&lt;br /&gt;
** [[Add-on:Argus TV Client|Argus TV (former ForTheRecord)]] PVR Addon backend client maintained and available from Kodi&#039;s community&lt;br /&gt;
** [[Add-on:DVBLink PVR Client|DVBLink PVR Client]] Addon backend client maintained and available from Kodi&#039;s community&lt;br /&gt;
** [[Add-on:DVBViewer Client|DVBViewer Client]] PVR Addon backend client maintained and available from Kodi&#039;s community&lt;br /&gt;
** [[Add-on:MediaPortal PVR Client|MediaPortal PVR Client]] Addon backend client maintained and available from Kodi&#039;s community&lt;br /&gt;
** [[Add-on:PVR.WMC|WMC (Windows Media Center)]] PVR Addon backend client maintained and available from Kodi&#039;s community&lt;br /&gt;
* ?&lt;br /&gt;
&lt;br /&gt;
=== Add-ons Framework, API, and Manager ===&lt;br /&gt;
For full changelogs of all Addons APIs, see [[Leia API changes]], [http://forum.kodi.tv/forumdisplay.php?fid=174 JSON-RPC], and [http://forum.kodi.tv/forumdisplay.php?fid=26 Add-ons] Development Forums&lt;br /&gt;
* Major refactoring of Kodi&#039;s core handling and GUI management of binary addons&amp;lt;ref&amp;gt;http://github.com/xbmc/xbmc/pulls?q=label%3A%22Binary+Addons%22+is%3Aclosed&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Added framework to support VFS (Virtual File System) as binary addons&amp;lt;ref&amp;gt;http://github.com/xbmc/xbmc/pull/8966&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Added framework support for binary addons for video decoder codecs&amp;lt;ref name=&amp;quot;Addon video codec implementation&amp;quot;&amp;gt;https://github.com/xbmc/xbmc/pull/12340&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Added framework support for binary addons for image (picture) decoder codecs&lt;br /&gt;
* Added extentions to Kodi&#039;s Addons API to support binary addons for video decoder codecs&amp;lt;ref name=&amp;quot;Addon video codec implementation&amp;quot;/&amp;gt;&lt;br /&gt;
* Added extentions to Kodi&#039;s Addons API to support binary addons for image decoder codecs&lt;br /&gt;
* Added support for Python addons to use PyCryptoDome crypto module for decryption&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/11477&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Added option to pass HTTP cookies with AVOption to Kodi&#039;s Video Player&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/12257&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Added support to allow addons to edit all used controls on their processed window&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/12259&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Added support to allow Python addons to set the videoinfotag path&amp;lt;ref&amp;gt;http://github.com/xbmc/xbmc/pull/11012&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Added support to allow Python addons to get/set the dbid of a (music) listitem&amp;lt;ref&amp;gt;http://github.com/xbmc/xbmc/pull/10858&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Added support for mediatype to musicinfotag tag retrieving via Python API&amp;lt;ref&amp;gt;http://github.com/xbmc/xbmc/pull/11110&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Added support &amp;quot;int/float slider&amp;quot; to Kodi&#039;s Python API&amp;lt;ref&amp;gt;http://github.com/xbmc/xbmc/pull/11230&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Added support &amp;quot;setContent for mediawindows&amp;quot; to Kodi&#039;s Python API&amp;lt;ref&amp;gt;http://github.com/xbmc/xbmc/pull/11258&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Added help for load of shared library and allow the use of their own addon temp folder&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/12379&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Added support to inspect add-on dependencies prior to installation&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/12242&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Added ability to remove add-on settings upon uninstall&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/11499&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Changed to new addon gui interface for list items to use on addon window&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/12214&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Changed service addons to use event handlers instead of synchronous addon hooks&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/12370&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Updated &amp;quot;Peripheral Addons&amp;quot; for game controllers, gamepads, joysticks, and input peripherals profiles (in Kodi-game repo&amp;lt;ref&amp;gt;http://github.com/kodi-game/ kodi-game repo on GitHub&amp;lt;/ref&amp;gt;):&lt;br /&gt;
** [http://github.com/xbmc/peripheral.joystick Joystick Controller Addon]&lt;br /&gt;
** [http://github.com/kodi-game/peripheral.xarcade X-Arcade (XGaming Tankstick) support for Kodi Addon]&lt;br /&gt;
** [http://github.com/kodi-game/peripheral.steamcontroller Steam Controller (gamepad) Addon]&lt;br /&gt;
** [http://github.com/kodi-game/kodi-game-controllers/tree/master/addons/game.controller.default Default Game Controller Addon  (reference game controller addon based on Xbox 360 gamepad)]&lt;br /&gt;
*** [http://github.com/kodi-game/kodi-game-controllers/tree/master/addons/game.controller.ps PlayStation Game Controller Addon]&lt;br /&gt;
*** [http://github.com/kodi-game/kodi-game-controllers/tree/master/addons/game.controller.nes Nintendo NES Game Controller Addon]&lt;br /&gt;
*** [http://github.com/kodi-game/kodi-game-controllers/tree/master/addons/game.controller.snes Nintendo SNES Game Controller Addon]&lt;br /&gt;
*** [http://github.com/kodi-game/kodi-game-controllers/tree/master/addons/game.controller.n64 Nintendo N64 Game Controller Addon]&lt;br /&gt;
*** [http://github.com/kodi-game/kodi-game-controllers/tree/master/addons/game.controller.gba Nintendo GBA Game Controller Addon]&lt;br /&gt;
*** [http://github.com/kodi-game/kodi-game-controllers/tree/master/addons/game.controller.genesis Sega Genesis Game Controller Addon]&lt;br /&gt;
*** [http://github.com/kodi-game/kodi-game-controllers/tree/master/addons/game.controller.dreamcast Sega Dreamcast Game Controller Addon]&lt;br /&gt;
* ?&lt;br /&gt;
&lt;br /&gt;
=== GUI Engine (Skinning Engine) ===&lt;br /&gt;
For full changelog on changes to the skinning engine, see [[Leia API changes]] and the [http://forum.kodi.tv/showthread.php?tid=298565 Skin Development Forum]&lt;br /&gt;
* Added windows to support Games and Game OSD in the new default skins (Estuary and Estouchy)&lt;br /&gt;
* Added player process info dialog to Kodi&#039;s default skin (Estuary)&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/11718&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Added support for addons to use banner and ClearLogo&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/12244&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Added support for skins/gui to allow implicit container referencing for non-media windows&amp;lt;ref&amp;gt;http://github.com/xbmc/xbmc/pull/10883&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Added support for addons to add &amp;quot;Enable/Disable&amp;quot; to context menu&amp;lt;ref&amp;gt;http://github.com/xbmc/xbmc/pull/11124&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Added support for remember last used keyboard layout in GUI&amp;lt;ref&amp;gt;http://github.com/xbmc/xbmc/pull/11242&amp;lt;/ref&amp;gt; &lt;br /&gt;
* Added support for ISO 639-2/T language code retrieval (required by libbluray)&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/12258&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Added window that display Kodi privacy policy in GUI settings under system info&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/10785&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Added support to map a key to browse for subtitle in video fullscreen window&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/11649&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Improved Kodi&#039;s GUI engine with  optimizations for message handling and SmartRedraw&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/12213&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Improved Kodi&#039;s GUI engine support for scaling container layouts&amp;lt;ref&amp;gt;http://github.com/xbmc/xbmc/pull/11229&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Improved Kodi&#039;s GUI engine by allowing %-values for origin, camera and animation attribs&amp;lt;ref&amp;gt;http://github.com/xbmc/xbmc/pull/11233&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Changed so that context menu reloading loads async to aviod GUI lockup on wait&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/11841&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Updated guilib ABI (for libgui) to version 5.13.0&amp;lt;ref&amp;gt;http://github.com/xbmc/xbmc/pull/11306&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Updated keyboard layout for some languages and added support Croatian, Slovenian, and Thai (Kedmanee)&lt;br /&gt;
* Updated image resource addons (as example weather icons, weather fanart, studio logos, and genre icons)&lt;br /&gt;
* ?&lt;br /&gt;
&lt;br /&gt;
=== Platform Independent Playback ===&lt;br /&gt;
* Added support for &amp;quot;InputStream&amp;quot; (input stream) addons to pass CryptoSession flags field&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/12428&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Added support for BD-J / Blu-ray Disc Java menu support (requires system Java runtime enviroment)&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/12339&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/12310&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Added support for Blu-ray Disc detection and use provided meta data for Blu-ray Disc names&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/12488&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Added support for video buffers to be used by decoders and renderers&amp;lt;ref name=&amp;quot;VideoPlayer updates for Leia&amp;quot;&amp;gt;https://github.com/xbmc/xbmc/pull/12212&amp;lt;/ref&amp;gt;&lt;br /&gt;
** Added support for platforms to register custom buffers, like example dma&amp;lt;ref name=&amp;quot;VideoPlayer updates for Leia&amp;quot;/&amp;gt;&lt;br /&gt;
* Added a VC1-Packet bitstream parser implementation for improved VC-1 playback&amp;lt;ref&amp;gt;http://github.com/xbmc/xbmc/pull/11417&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Added and updated many (binary) audio decoder and encoder addons for Kodi&lt;br /&gt;
* Added a few (binary) video decoder addons for Kodi&amp;lt;ref name=&amp;quot;Addon video codec implementation&amp;quot;/&amp;gt;&lt;br /&gt;
* Added a &amp;quot;RAW&amp;quot; (libraw based) image decoder addon to Kodi&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/11671&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Improved MMAL playback of H.264 MVC (Blu-ray 3D) stereoscopic video with framepacking decoding on Raspberry Pi&lt;br /&gt;
* Improved Stereoscopic 3D playback of 3D videos (as well as better 2D playback of 3D videos)&lt;br /&gt;
* Improved and enhanced Blu-ray support (including updated libbluray dependecies from the VideoLAN project&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/12305&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;http://git.videolan.org/?p=libbluray.git;a=blob;f=ChangeLog&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Improved support for &amp;quot;InputStream&amp;quot; (input stream) addons as system addons&lt;br /&gt;
* Updated &amp;quot;InputStream&amp;quot; (input stream) client addons for common network streaming protocols and popular services:&lt;br /&gt;
** [http://github.com/xbmc/xbmc/tree/master/addons/kodi.inputstream InputStream Addon (default reference InputStream Addon by Team Kodi]&lt;br /&gt;
** [http://github.com/mapfau/inputstream.test Test InputStream Addon (Test InputStream Addon for Kodi&#039;s new inputstream interface]&lt;br /&gt;
** [http://github.com/peak3d/inputstream.adaptive Adaptive InputStream Addon (InputStream Client addon for several manifest types)]&lt;br /&gt;
** [http://github.com/xbmc/repo-binary-addons/tree/master/inputstream.rtmp RTMP InputStream Addon (InputStream Client for RTMP streams using librtmp)]&lt;br /&gt;
** [http://github.com/peak3d/inputstream.mpd MPD (MPEG-DASH) InputStream Addon]&lt;br /&gt;
** [http://github.com/peak3d/inputstream.smoothstream SmoothStream InputStream Addon for MS-SSTR (SmoothStreamingMedia) Smooth Streaming Protocol] &lt;br /&gt;
** [http://github.com/mapfau/inputstream.nxmsl NXMSL InputStream Addon for Netflix style manifests over MSL]&lt;br /&gt;
* Updated FFmpeg multimedia codec and demux libraries to stable branch release version [http://www.ffmpeg.org/download.html#release_3.3.2 FFmpeg 3.3 (3.3.2)]&amp;lt;ref&amp;gt;http://git.videolan.org/?p=ffmpeg.git;a=blob_plain;f=Changelog;hb=release/3.3.2 FFmpeg 3.3.2 release changelog&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/12358&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Removed certain audio codecs from core and made them into audio decoder and audio encoder add-ons&lt;br /&gt;
* Removed certain video codecs from core and made them into video decoder add-ons&amp;lt;ref name=&amp;quot;Addon video codec implementation&amp;quot;/&amp;gt;&lt;br /&gt;
* Removed certain image codecs from core and made them into image decoder add-ons&lt;br /&gt;
* ?&lt;br /&gt;
&lt;br /&gt;
=== Library ===&lt;br /&gt;
* Addded support to use the Favourites function in context menus&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/11967&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Added support for context menus to favourites home screen widget&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/11929&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Added support for  processing of WRITER tag for ID3 v2, Vorbis and APE formats&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/11735&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Added support for sorting using artist sort name tags in music&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/11738&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Added support to &amp;quot;Sort By Date Added&amp;quot; in Music Video title node&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/12495&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Changed to never cache listing of PVR directories on library scans&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/11761&amp;lt;/ref&amp;gt;&lt;br /&gt;
* ?&lt;br /&gt;
&lt;br /&gt;
=== Web Scrapers ===&lt;br /&gt;
* Added support for Python (script) based web scrapers for Kodi&amp;lt;ref&amp;gt;http://github.com/xbmc/xbmc/pull/9984&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Refactored and updated many XML based scrapers in Kodi for music, movies, tv shows, and music videos&lt;br /&gt;
* Updated music, movies, tv shows, and music video scrapers for Kodi&lt;br /&gt;
* ?&lt;br /&gt;
&lt;br /&gt;
=== AudioEngine ===&lt;br /&gt;
* Added a new Sndio sink for [[AudioEngine#ActiveAE|ActiveAE]] for BSD, other BSD Unix based systems, and Linux&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/11962&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Improved the default cross-platform event driven active state machine pattern [[AudioEngine#ActiveAE|ActiveAE]] (Kodi&#039;s [[AudioEngine]])&lt;br /&gt;
* Improved ALSA sink for [[AudioEngine#ActiveAE|ActiveAE]] for Linux Desktop and generic Linux based Embedded Systems&lt;br /&gt;
* Improved PulseAudio sink for [[AudioEngine#ActiveAE|ActiveAE]] for Linux Desktop&lt;br /&gt;
* Improved OSS (Open Sound System) sink for [[AudioEngine#ActiveAE|ActiveAE]] for BSD, like FreeBSD and similar BSD Unix based systems&lt;br /&gt;
* Improved AUDIOTRACK sink for [[AudioEngine#ActiveAE|ActiveAE]] for [[Amlogic]]&lt;br /&gt;
* Improved Pi Audio sink for [[AudioEngine#ActiveAE|ActiveAE]] for [[Raspberry Pi]]&lt;br /&gt;
* Improved DirectSound sink for [[AudioEngine#ActiveAE|ActiveAE]] for Windows&lt;br /&gt;
* Improved WASAPI sink for [[AudioEngine#ActiveAE|ActiveAE]] for Windows&lt;br /&gt;
* Improved CoreAudio sink for [[AudioEngine#ActiveAE|ActiveAE]] for (Mac) OS X and iOS&lt;br /&gt;
* Improved Darwin sink for [[AudioEngine#ActiveAE|ActiveAE]] for (Mac) OS X and iOS&lt;br /&gt;
* ?&lt;br /&gt;
&lt;br /&gt;
=== Other ===&lt;br /&gt;
* Added a new unified setting for &amp;quot;Startup action&amp;quot; and added &amp;quot;Play TV/Radio&amp;quot;&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/12548&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Added support to build Kodi with support for Bluetooth&amp;lt;ref&amp;gt;http://github.com/xbmc/xbmc/pull/11137&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Added possibility for CMake build system to add additional libraries on install&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/12423&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Updated and improved mappings for new and existing remote controls&lt;br /&gt;
* Improved Kodi&#039;s JSON-RPC API&lt;br /&gt;
* Improved compiling/building and code documentation (following doxygen coding guidelines)&lt;br /&gt;
* Changed to use spdlog for Kodi logging as well as improved and further optimized logging (including debug logs)&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/11833&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Changed XML format of setting values for Kodi&#039;s settings configuration&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/12277&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Updated default web interface (webinterface is called &amp;quot;Chorus2&amp;quot; and is currently at version 2.4.4)&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/11872&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Updated critical dependency libraries such as openssl, gnutls, and CMake (used to compile Kodi and its binary addons)&lt;br /&gt;
* Removed last dependencies of SDL (Simple DirectMedia Layer) which was hardware abstraction for input devices&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/12272&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/11881&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Removed all glew (libglew library) dependencies in Kodi&#039;s code&amp;lt;ref&amp;gt;http://github.com/xbmc/xbmc/pull/11128&amp;lt;/ref&amp;gt;&lt;br /&gt;
* ?&lt;br /&gt;
&lt;br /&gt;
=== Android Specific ===&lt;br /&gt;
* Added support for speech-to-text in Kodi OSD keyboard on Android TV (triggered by voice button on remote)&lt;br /&gt;
* Added support for Android to move the Kodi app to SD card&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/12168&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Added support for Android TV Leanback search and recommendations meta data from Kodi&amp;lt;ref&amp;gt;|https://github.com/xbmc/xbmc/pull/11901&amp;lt;/ref&amp;gt;&lt;br /&gt;
** Default setting for Android TV Leanback suggestion to random unwatched movies and music albums&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/11963&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Moved to Android NDK 16&lt;br /&gt;
* Changed Rendertype from GUILayer to VideoLayer for Android MediaCodecSurface&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/12097&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Changed to use NDK native C interface for Android MediaCodec (for performance gains)&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/11931&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Changed to support ZeroConf via native Android API (and deprecates mDNSresponder)&amp;lt;ref&amp;gt;http://github.com/xbmc/xbmc/pull/11393&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Changed to support network information via native Android API (and deprecates POSIX)&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/12243&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Changed handling of Kodi&#039;s Java interfaces via JNI for better consistency&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/12292&amp;lt;/ref&amp;gt;&lt;br /&gt;
* ?&lt;br /&gt;
&lt;br /&gt;
=== BSD Specific ===&lt;br /&gt;
* Improved Kodi support for [http://en.wikipedia.org/wiki/Berkeley_Software_Distribution BSD (operating system)] on FreeBSD, PC-BSD, and other similar BSD platforms&lt;br /&gt;
* Improved VAAPI (Video Acceleration API) support (requires VAAPI compatible hardware and drivers)&lt;br /&gt;
* Improved VDPAU (NVIDIA) Hardware Video Acceleration (requires VDPAU compatible hardware and drivers)&lt;br /&gt;
* ?&lt;br /&gt;
&lt;br /&gt;
=== Linux Specific ===&lt;br /&gt;
* Added support for a generic DRM/KMS implementation using GBM to create required surfaces&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/11955&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Added support for Mir windowing system (Mir 1.0) for Kodi&amp;lt;ref&amp;gt;http://github.com/xbmc/xbmc/pull/10898&amp;lt;/ref&amp;gt; and added support for VAAPI on Mir using DRM&amp;lt;ref&amp;gt;http://github.com/xbmc/xbmc/pull/11040&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Added support for the middle mouse button on embedded platforms&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/11956&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Added support more yuv420p bitwidths for direct rendering on Linux&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/12479&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Added support for using VAAPI hardware video decoding with OpenGL ES&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/12113&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Added support for build Kodi with imx support using CMake&amp;lt;ref&amp;gt;http://github.com/xbmc/xbmc/pull/11288&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Moved the CMake build system to the top of the code tree (moved to root)&amp;lt;ref&amp;gt;http://github.com/xbmc/xbmc/pull/10446&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Improved support for UltraHD decoding / 4K resolution output when hardware supports it&lt;br /&gt;
* Improved ARM processor architecture (using [[Raspberry Pi]] as reference device)&lt;br /&gt;
* Improved OpenGL ES and EGL support (using [[Raspberry Pi]] as reference device)&lt;br /&gt;
* Improved VAAPI (Video Acceleration API) support (requires VAAPI compatible hardware and drivers)&lt;br /&gt;
* Improved VDPAU (NVIDIA) Hardware Video Acceleration (requires VDPAU compatible hardware and drivers)&lt;br /&gt;
* Improved XvBA (AMD/ATI) Hardware Video Acceleration (requires XvBA compatible hardware and drivers)&lt;br /&gt;
* Improved dedicated AMLCodec hardware accelerated video decoding support for Linux on Amlogic devices&lt;br /&gt;
* Removed the unused and unmaintained OpenMAX video decoder from Kodi&#039;s VideoPlayer&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/12197&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Removed support for autotools based build system for Kodi and binary addons (in favour of CMake)&amp;lt;ref&amp;gt;http://github.com/xbmc/xbmc/pull/10429&amp;lt;/ref&amp;gt;&lt;br /&gt;
* ?&lt;br /&gt;
&lt;br /&gt;
=== iOS Specific ===&lt;br /&gt;
* Added support for iOS 10.0 by adding support for compiling Kodi with Xcode 8 IDE and iOS SDK 10.0&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/10539&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Improved Apple VDADecoder Video Acceleration support for iOS (on iPad, iPhone, and iPod iDevices)&lt;br /&gt;
* Improved support for TVOS (Apple&#039;s iOS fork for Apple TV 4) in Kodi mainline&lt;br /&gt;
* Improved support for iOS on ARM64 (64-bit iOS)&lt;br /&gt;
* ?&lt;br /&gt;
&lt;br /&gt;
=== OS X Specific ===&lt;br /&gt;
* Added support for compiling Kodi with Xcode 8 IDE for OSX 10.11 (El Capitan) and macOS 10.12 (Sierra)&lt;br /&gt;
* Improved Apple VDADecoder Video Acceleration support for (Mac) OS X&lt;br /&gt;
* ?&lt;br /&gt;
&lt;br /&gt;
=== Windows Specific ===&lt;br /&gt;
* Added support to build Kodi for Windows 64 / Windows for Intel 64-bit (x86-64)&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/12065&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Added support for 3D LUT (3D Lookup Table) and dithering to Windows video renderer&amp;lt;ref name=&amp;quot;WinRenderer re-work&amp;quot;&amp;gt;https://github.com/xbmc/xbmc/pull/12475&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Improved support to compiling Kodi for Microsoft&#039;s UWP (Universal Windows Platform) APIs&lt;br /&gt;
* Changed the inner working of render buffers and rendering methods&amp;lt;ref name=&amp;quot;WinRenderer re-work&amp;quot;/&amp;gt;&lt;br /&gt;
* Changed to using unicode win32 api methods&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/11780&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Changed windowing systems for screen saver handling on Windows OS platforms&lt;br /&gt;
* Changed to make Kodi for Windows platform independent of posix/main.cpp&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/12215&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Removed support for Windows Vista as the operating-system is no longer supported by Microsoft&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/11953&amp;lt;/ref&amp;gt;&lt;br /&gt;
* ?&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[Leia API changes]]&lt;br /&gt;
{{Changelogs}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Manual]]&lt;br /&gt;
[[Category:Leia|*]]&lt;br /&gt;
[[Category:Changelogs|18]]&lt;/div&gt;</summary>
		<author><name>Martijn</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Submitting_Add-ons&amp;diff=127252</id>
		<title>Submitting Add-ons</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Submitting_Add-ons&amp;diff=127252"/>
		<updated>2017-02-08T21:09:29Z</updated>

		<summary type="html">&lt;p&gt;Martijn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav|[[Development]]|[[Add-on development]]}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Submitting a Compliant Add-on to the Kodi.tv Repo ===&lt;br /&gt;
&lt;br /&gt;
After you have read the [[Add-on rules|repository guidelines]] and made sure your addon is compliant with them, you may begin the submission process using the following steps.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Allowed submissions ===&lt;br /&gt;
&lt;br /&gt;
We have restricted the allowed submissions of add-ons to past Kodi versions.&lt;br /&gt;
Several reasons:&lt;br /&gt;
* Kodi code improvements&lt;br /&gt;
* Reduce support load for add-on developers&lt;br /&gt;
* Reduce workload for repository maintainers&lt;br /&gt;
&lt;br /&gt;
Below is a table of on which submissions are allowed to official Kodi repository.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ Allowed add-on submissions&lt;br /&gt;
! codename !! version !! update !! new&lt;br /&gt;
|-&lt;br /&gt;
| Dharma || 10.x || no || no&lt;br /&gt;
|-&lt;br /&gt;
| Eden || 11.x || no || no&lt;br /&gt;
|-&lt;br /&gt;
| Frodo || 12.x || no || no&lt;br /&gt;
|-&lt;br /&gt;
| Gotham || 13.x || yes || no&lt;br /&gt;
|-&lt;br /&gt;
| Helix || 14.x || yes || no&lt;br /&gt;
|-&lt;br /&gt;
| Isengard || 15.x || yes || no&lt;br /&gt;
|-&lt;br /&gt;
| Jarvis || 16.x || yes || no&lt;br /&gt;
|-&lt;br /&gt;
| Krypton || 17.x || yes || yes&lt;br /&gt;
|-&lt;br /&gt;
| Leia || 18.x || yes || yes&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Additional feature is that we now use combined repositories. So if your add-on is Gotham/Helix compatible, you only need to send it to Gotham repository.&lt;br /&gt;
If it&#039;s only Helix compatible you need to send it to Helix repository.&lt;br /&gt;
This of course requires that the minimal Kodi dependencies are set accordingly.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ Which repos are used&lt;br /&gt;
! codename !! version !! repo&lt;br /&gt;
|-&lt;br /&gt;
| Dharma || 10.x || Dharma&lt;br /&gt;
|-&lt;br /&gt;
| Eden || 11.x || Eden&lt;br /&gt;
|-&lt;br /&gt;
| Frodo || 12.x || Frodo&lt;br /&gt;
|-&lt;br /&gt;
| Gotham || 13.x || Gotham&lt;br /&gt;
|-&lt;br /&gt;
| Helix || 14.x || Gotham || Helix&lt;br /&gt;
|-&lt;br /&gt;
| Isengard || 15.x || Gotham || Helix || Isengard&lt;br /&gt;
|-&lt;br /&gt;
| Jarvis || 16.x || Gotham || Helix || Isengard  || Jarvis&lt;br /&gt;
|-&lt;br /&gt;
| Krypton || 17.x || Gotham || Helix || Isengard  || Jarvis  || Krypton&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{see also|Addon.xml#Dependency_versions}}&lt;br /&gt;
&lt;br /&gt;
=== Github ===&lt;br /&gt;
&lt;br /&gt;
==== Pull requests ====&lt;br /&gt;
New add-ons or updates may be submitted directly to the [[Official add-on repository]] on Github as pull requests. We encourage add-on developers to use this method as the process is easier for both parties involved. Of course this requires some initial git knowledge and we strongly suggest to read up on this subject before using this method. To reduce size we have split up the git repositories in several locations. Please visit [[Official add-on repository]] to see where they are. Each contains a small readme with a short description of it&#039;s contents as well as a link to a short explanation on how to submit using git command line. There are also git tools available that have a graphic interface and the steps above should be done in a similar way. Please consult the manual of those programs.&lt;br /&gt;
&lt;br /&gt;
In addition to the [[Add-on rules|repository guidelines]] the following rules apply when submitting PRs on Github:&lt;br /&gt;
&lt;br /&gt;
* PR should contain one commit only.&lt;br /&gt;
* Commit message should have the format &amp;quot;[addonid] version&amp;quot;. Example: &amp;quot;[my.cool.addon] 1.0.1&amp;quot; &lt;br /&gt;
&lt;br /&gt;
Only PRs from the add-on author or his successor will be accepted. Patches should be submitted upstream to the original author first. For an easy way to create PR from your own git repository, see [[HOW-TO: create add-on PRs using Git Subtree Merging]].&lt;br /&gt;
&lt;br /&gt;
==== Issue ticket ====&lt;br /&gt;
If you are not experienced yet with git and pull requests you may also use the &amp;quot;issue&amp;quot; option where you submit a request to get you add-on added. In this ticket you need to provide the basic information needed so our repo maintainers know where to get the correct version. &lt;br /&gt;
This consists of &lt;br /&gt;
  - Add-on name: &lt;br /&gt;
  - Add-on ID:&lt;br /&gt;
  - Version number:&lt;br /&gt;
  - Kodi/repository version:&lt;br /&gt;
  - Code location URL:&lt;br /&gt;
  - Revision/tag: &lt;br /&gt;
  - Branch:&lt;br /&gt;
&lt;br /&gt;
Further information is provide when you initially create the issue on github as comments in the ticket.&lt;br /&gt;
Same [[Add-on rules|repository guidelines]] apply here as well.&lt;br /&gt;
&lt;br /&gt;
WARNING: Do not create bug tickets in these repositories as they will be closed without notice. &lt;br /&gt;
&lt;br /&gt;
==== How to submit your add-on and subsequent updates ====&lt;br /&gt;
Submitting updates is done the same way as with pull requests or issue ticket.&lt;br /&gt;
&lt;br /&gt;
==== Repository lists ====&lt;br /&gt;
You can create pull requests or tickets on the following individual repositories.&lt;br /&gt;
&lt;br /&gt;
  https://github.com/xbmc/repo-plugins&lt;br /&gt;
  https://github.com/xbmc/repo-resources&lt;br /&gt;
  https://github.com/xbmc/repo-scrapers&lt;br /&gt;
  https://github.com/xbmc/repo-scripts&lt;br /&gt;
  https://github.com/xbmc/repo-skins&lt;br /&gt;
  https://github.com/xbmc/repo-webinterfaces&lt;br /&gt;
&lt;br /&gt;
=== Additional information ===&lt;br /&gt;
Note that skin .xbt files will be generated automatically for skins so you do not include this in your pull request or created tickets. &lt;br /&gt;
After the add-on has been added or updated it will be available from the Kodi repository in Kodi itself, on http://addons.kodi.tv/ and on the wiki page http://kodi.wiki/index.php?title=Category:All_add-ons.&lt;br /&gt;
&lt;br /&gt;
{{Note|Please locate you add-on in the root of the git repository. This to make sure we can easily pull the add-on into our repository.&lt;br /&gt;
Example: https://github.com/XBMC-Addons/service.xbmc.versioncheck}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{tip|We automatically combine all repos into one single repo list on our server and provide that list to Kodi. You only need to do a request for the minimum repo your add-on supports.}}&lt;br /&gt;
&lt;br /&gt;
=== The mailing list ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; MAILINGLIST IS NOT USED ANYMORE. ALL REQUESTS SHOULD GO THROUGH GITHUB &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[Category:Add-on development]]&lt;/div&gt;</summary>
		<author><name>Martijn</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Submitting_Add-ons&amp;diff=127251</id>
		<title>Submitting Add-ons</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Submitting_Add-ons&amp;diff=127251"/>
		<updated>2017-02-08T21:07:42Z</updated>

		<summary type="html">&lt;p&gt;Martijn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav|[[Development]]|[[Add-on development]]}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Submitting a Compliant Add-on to the Kodi.tv Repo ===&lt;br /&gt;
&lt;br /&gt;
After you have read the [[Add-on rules|repository guidelines]] and made sure your addon is compliant with them, you may begin the submission process using the following steps.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Allowed submissions ===&lt;br /&gt;
&lt;br /&gt;
We have restricted the allowed submissions of add-ons to past Kodi versions.&lt;br /&gt;
Several reasons:&lt;br /&gt;
* Kodi code improvements&lt;br /&gt;
* Reduce support load for add-on developers&lt;br /&gt;
* Reduce workload for repository maintainers&lt;br /&gt;
&lt;br /&gt;
Below is a table of on which submissions are allowed to official Kodi repository.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ Allowed add-on submissions&lt;br /&gt;
! codename !! version !! update !! new&lt;br /&gt;
|-&lt;br /&gt;
| Dharma || 10.x || no || no&lt;br /&gt;
|-&lt;br /&gt;
| Eden || 11.x || no || no&lt;br /&gt;
|-&lt;br /&gt;
| Frodo || 12.x || no || no&lt;br /&gt;
|-&lt;br /&gt;
| Gotham || 13.x || yes || no&lt;br /&gt;
|-&lt;br /&gt;
| Helix || 14.x || yes || no&lt;br /&gt;
|-&lt;br /&gt;
| Isengard || 15.x || yes || no&lt;br /&gt;
|-&lt;br /&gt;
| Jarvis || 16.x || yes || no&lt;br /&gt;
|-&lt;br /&gt;
| Krypton || 17.x || yes || yes&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Additional feature is that we now use combined repositories. So if your add-on is Gotham/Helix compatible, you only need to send it to Gotham repository.&lt;br /&gt;
If it&#039;s only Helix compatible you need to send it to Helix repository.&lt;br /&gt;
This of course requires that the minimal Kodi dependencies are set accordingly.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ Which repos are used&lt;br /&gt;
! codename !! version !! repo&lt;br /&gt;
|-&lt;br /&gt;
| Dharma || 10.x || Dharma&lt;br /&gt;
|-&lt;br /&gt;
| Eden || 11.x || Eden&lt;br /&gt;
|-&lt;br /&gt;
| Frodo || 12.x || Frodo&lt;br /&gt;
|-&lt;br /&gt;
| Gotham || 13.x || Gotham&lt;br /&gt;
|-&lt;br /&gt;
| Helix || 14.x || Gotham || Helix&lt;br /&gt;
|-&lt;br /&gt;
| Isengard || 15.x || Gotham || Helix || Isengard&lt;br /&gt;
|-&lt;br /&gt;
| Jarvis || 16.x || Gotham || Helix || Isengard  || Jarvis&lt;br /&gt;
|-&lt;br /&gt;
| Krypton || 17.x || Gotham || Helix || Isengard  || Jarvis  || Krypton&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{see also|Addon.xml#Dependency_versions}}&lt;br /&gt;
&lt;br /&gt;
=== Github ===&lt;br /&gt;
&lt;br /&gt;
==== Pull requests ====&lt;br /&gt;
New add-ons or updates may be submitted directly to the [[Official add-on repository]] on Github as pull requests. We encourage add-on developers to use this method as the process is easier for both parties involved. Of course this requires some initial git knowledge and we strongly suggest to read up on this subject before using this method. To reduce size we have split up the git repositories in several locations. Please visit [[Official add-on repository]] to see where they are. Each contains a small readme with a short description of it&#039;s contents as well as a link to a short explanation on how to submit using git command line. There are also git tools available that have a graphic interface and the steps above should be done in a similar way. Please consult the manual of those programs.&lt;br /&gt;
&lt;br /&gt;
In addition to the [[Add-on rules|repository guidelines]] the following rules apply when submitting PRs on Github:&lt;br /&gt;
&lt;br /&gt;
* PR should contain one commit only.&lt;br /&gt;
* Commit message should have the format &amp;quot;[addonid] version&amp;quot;. Example: &amp;quot;[my.cool.addon] 1.0.1&amp;quot; &lt;br /&gt;
&lt;br /&gt;
Only PRs from the add-on author or his successor will be accepted. Patches should be submitted upstream to the original author first. For an easy way to create PR from your own git repository, see [[HOW-TO: create add-on PRs using Git Subtree Merging]].&lt;br /&gt;
&lt;br /&gt;
==== Issue ticket ====&lt;br /&gt;
If you are not experienced yet with git and pull requests you may also use the &amp;quot;issue&amp;quot; option where you submit a request to get you add-on added. In this ticket you need to provide the basic information needed so our repo maintainers know where to get the correct version. &lt;br /&gt;
This consists of &lt;br /&gt;
  - Add-on name: &lt;br /&gt;
  - Add-on ID:&lt;br /&gt;
  - Version number:&lt;br /&gt;
  - Kodi/repository version:&lt;br /&gt;
  - Code location URL:&lt;br /&gt;
  - Revision/tag: &lt;br /&gt;
  - Branch:&lt;br /&gt;
&lt;br /&gt;
Further information is provide when you initially create the issue on github as comments in the ticket.&lt;br /&gt;
Same [[Add-on rules|repository guidelines]] apply here as well.&lt;br /&gt;
&lt;br /&gt;
WARNING: Do not create bug tickets in these repositories as they will be closed without notice. &lt;br /&gt;
&lt;br /&gt;
==== How to submit your add-on and subsequent updates ====&lt;br /&gt;
Submitting updates is done the same way as with pull requests or issue ticket.&lt;br /&gt;
&lt;br /&gt;
==== Repository lists ====&lt;br /&gt;
You can create pull requests or tickets on the following individual repositories.&lt;br /&gt;
&lt;br /&gt;
  https://github.com/xbmc/repo-plugins&lt;br /&gt;
  https://github.com/xbmc/repo-resources&lt;br /&gt;
  https://github.com/xbmc/repo-scrapers&lt;br /&gt;
  https://github.com/xbmc/repo-scripts&lt;br /&gt;
  https://github.com/xbmc/repo-skins&lt;br /&gt;
  https://github.com/xbmc/repo-webinterfaces&lt;br /&gt;
&lt;br /&gt;
=== Additional information ===&lt;br /&gt;
Note that skin .xbt files will be generated automatically for skins so you do not include this in your pull request or created tickets. &lt;br /&gt;
After the add-on has been added or updated it will be available from the Kodi repository in Kodi itself, on http://addons.kodi.tv/ and on the wiki page http://kodi.wiki/index.php?title=Category:All_add-ons.&lt;br /&gt;
&lt;br /&gt;
{{Note|Please locate you add-on in the root of the git repository. This to make sure we can easily pull the add-on into our repository.&lt;br /&gt;
Example: https://github.com/XBMC-Addons/service.xbmc.versioncheck}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{tip|We automatically combine all repos into one single repo list on our server and provide that list to Kodi. You only need to do a request for the minimum repo your add-on supports.}}&lt;br /&gt;
&lt;br /&gt;
=== The mailing list ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; MAILINGLIST IS NOT USED ANYMORE. ALL REQUESTS SHOULD GO THROUGH GITHUB &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[Category:Add-on development]]&lt;/div&gt;</summary>
		<author><name>Martijn</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Addon.xml&amp;diff=127066</id>
		<title>Addon.xml</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Addon.xml&amp;diff=127066"/>
		<updated>2017-01-28T11:43:36Z</updated>

		<summary type="html">&lt;p&gt;Martijn: /* Dependency versions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav|[[Development]]|[[Add-on development]]}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Every skin, script, or plugin in Kodi contains an &amp;lt;code&amp;gt;addon.xml&amp;lt;/code&amp;gt; file which describes the add-on, providing credits, version information and dependencies. Below, we will explain how this file is structured and which elements must be used to create an add-on for Kodi. You can also consult the examples at the end to see how this file is laid out depending on if you are developing a skin or script.&lt;br /&gt;
&lt;br /&gt;
Every &amp;lt;code&amp;gt;addon.xml&amp;lt;/code&amp;gt; file has the same basic structure, this example is for a video plugin:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;yes&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;addon id=&amp;quot;plugin.addon.id&amp;quot; name=&amp;quot;Your Add-on&amp;quot; version=&amp;quot;1.2.3&amp;quot; provider-name=&amp;quot;You&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;requires&amp;gt;&lt;br /&gt;
    &amp;lt;import addon=&amp;quot;xbmc.python&amp;quot; version=&amp;quot;2.1.0&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/requires&amp;gt;&lt;br /&gt;
  &amp;lt;extension point=&amp;quot;xbmc.python.pluginsource&amp;quot; library=&amp;quot;addon.py&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;provides&amp;gt;video&amp;lt;/provides&amp;gt;&lt;br /&gt;
  &amp;lt;/extension&amp;gt;&lt;br /&gt;
  &amp;lt;extension point=&amp;quot;xbmc.addon.metadata&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;summary lang=&amp;quot;en_gb&amp;quot;&amp;gt;Your add-on&#039;s summary&amp;lt;/summary&amp;gt;&lt;br /&gt;
    &amp;lt;description lang=&amp;quot;en_gb&amp;quot;&amp;gt;Your add-on&#039;s description&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;disclaimer lang=&amp;quot;en_gb&amp;quot;&amp;gt;&amp;lt;/disclaimer&amp;gt;&lt;br /&gt;
    &amp;lt;language&amp;gt;&amp;lt;/language&amp;gt;&lt;br /&gt;
    &amp;lt;platform&amp;gt;all&amp;lt;/platform&amp;gt;&lt;br /&gt;
    &amp;lt;license&amp;gt;&amp;lt;/license&amp;gt;&lt;br /&gt;
    &amp;lt;forum&amp;gt;&amp;lt;/forum&amp;gt;&lt;br /&gt;
    &amp;lt;website&amp;gt;&amp;lt;/website&amp;gt;&lt;br /&gt;
    &amp;lt;email&amp;gt;&amp;lt;/email&amp;gt;&lt;br /&gt;
    &amp;lt;source&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
    &amp;lt;news&amp;gt;&amp;lt;/news&amp;gt;&lt;br /&gt;
    &amp;lt;assets&amp;gt;&lt;br /&gt;
        &amp;lt;icon&amp;gt;&amp;lt;/icon&amp;gt;&lt;br /&gt;
        &amp;lt;fanart&amp;gt;&amp;lt;/fanart&amp;gt;&lt;br /&gt;
        &amp;lt;screenshot&amp;gt;&amp;lt;/screenshot&amp;gt;&lt;br /&gt;
    &amp;lt;/assets&amp;gt;&lt;br /&gt;
  &amp;lt;/extension&amp;gt;&lt;br /&gt;
&amp;lt;/addon&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There are a few important things to note in the above sample:&lt;br /&gt;
&lt;br /&gt;
* The &amp;lt;code&amp;gt;&amp;lt;addon&amp;gt;&amp;lt;/code&amp;gt; element must be present, and be the root node. It presents data about the add-on package as a whole.&lt;br /&gt;
* Inside the &amp;lt;code&amp;gt;&amp;lt;addon&amp;gt;&amp;lt;/code&amp;gt; element is a &amp;lt;code&amp;gt;&amp;lt;requires&amp;gt;&amp;lt;/code&amp;gt; element, listing all the dependencies that this add-on needs in order to function.&lt;br /&gt;
* Then there are one or more &amp;lt;code&amp;gt;&amp;lt;extension&amp;gt;&amp;lt;/code&amp;gt; elements, each of which describes a part of Kodi that the add-on extends.&lt;br /&gt;
* Finally, there is a specific &amp;lt;code&amp;gt;&amp;lt;extension&amp;gt;&amp;lt;/code&amp;gt; element that extends &amp;lt;code&amp;gt;&amp;quot;xbmc.addon.metadata&amp;quot;&amp;lt;/code&amp;gt;. This describes the add-on to the user.&lt;br /&gt;
&lt;br /&gt;
= Elements =&lt;br /&gt;
 &lt;br /&gt;
== &amp;lt;addon&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;&amp;lt;addon&amp;gt;&amp;lt;/code&amp;gt; element has 4 attributes, all required: &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;version&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;provider-name&amp;lt;/code&amp;gt;. For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;addon id=&amp;quot;script.hello.world&amp;quot; name=&amp;quot;Hello World&amp;quot; version=&amp;quot;0.0.1&amp;quot; provider-name=&amp;quot;Dev1, Dev2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== id attribute ===&lt;br /&gt;
&lt;br /&gt;
The id attribute is the unique identifier used for this add-on.  It must be unique, and must use only lowercase characters, periods, underscores, dashes and numbers.  This identifier is also used as the name of the folder that contains the add-on, so for ease of searching, we suggest you use something like &amp;lt;type&amp;gt;.&amp;lt;uniquename&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== version attribute ===&lt;br /&gt;
&lt;br /&gt;
The version attribute is used by Kodi to determine whether updates are available. This should be use a version scheme like &amp;lt;code&amp;gt;x.y.z&amp;lt;/code&amp;gt; (major.minor.patch). For example: &amp;lt;code&amp;gt;version=&amp;quot;0.0.1&amp;quot;&amp;lt;/code&amp;gt;. Generally, you&#039;ll start with a version of &amp;lt;code&amp;gt;0.y.z&amp;lt;/code&amp;gt; for test releases and once you feel it is ready for a full release, you&#039;d bump the version to &amp;lt;code&amp;gt;1.0.0&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== How versioning works ====&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;2.2.9&amp;lt;/code&amp;gt; is newer than &amp;lt;code&amp;gt;2.2.1&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;2.2.10&amp;lt;/code&amp;gt;   is newer than &amp;lt;code&amp;gt;2.2.1&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;2.3.0&amp;lt;/code&amp;gt;   is newer than &amp;lt;code&amp;gt;2.2.9&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;2.2.1&amp;lt;/code&amp;gt; is newer than &amp;lt;code&amp;gt;2.2.1~alpha&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;2.2.1&amp;lt;/code&amp;gt; is newer than &amp;lt;code&amp;gt;2.2.1~beta&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;2.2.1~beta&amp;lt;/code&amp;gt; is newer than &amp;lt;code&amp;gt;2.2.1~alpha&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;2.2.1~beta3&amp;lt;/code&amp;gt; is newer than &amp;lt;code&amp;gt;2.2.1~beta2&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;2.2.1~beta10&amp;lt;/code&amp;gt; is newer than &amp;lt;code&amp;gt;2.2.1~beta1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{tip|Text should only be added for a beta version. In other cases version number should only contain numbers.}}&lt;br /&gt;
&lt;br /&gt;
=== name attribute ===&lt;br /&gt;
&lt;br /&gt;
The name attribute is the name of the add-on as it appears in the UI.  This should be in English where it makes sense for it to be so, and is not translatable.&lt;br /&gt;
&lt;br /&gt;
=== provider-name attribute ===&lt;br /&gt;
&lt;br /&gt;
The provider-name attribute is used as the author field.  This could be a team of authors or a single author. If the add-on is maintained by multiple people please separate them with a comma (&amp;lt;code&amp;gt;,&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;requires&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;&amp;lt;requires&amp;gt;&amp;lt;/code&amp;gt; element contains one or more &amp;lt;code&amp;gt;&amp;lt;import&amp;gt;&amp;lt;/code&amp;gt; elements which specify which other add-ons this particular add-on requires, and which version of those add-ons it requires. These add-ons may be part of Kodi itself, or may be parts of other third-party add-ons.&lt;br /&gt;
&lt;br /&gt;
Kodi will only allow the add-on to be run if suitable versions of the (non-optional) add-ons on which this add-on depends are installed. When a user installs your add-on from an online repository via Kodi&#039;s add-on manager, Kodi attempts to resolve these dependencies, and install anything that your add-on relies on first. The dependency must be provided with the minimum version number your script/skin requires.&lt;br /&gt;
&lt;br /&gt;
=== Examples ===&lt;br /&gt;
&lt;br /&gt;
Here is a sample &amp;lt;code&amp;gt;&amp;lt;requires&amp;gt;&amp;lt;/code&amp;gt; block that imports two required modules:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;requires&amp;gt;&lt;br /&gt;
  &amp;lt;import addon=&amp;quot;xbmc.python&amp;quot;                 version=&amp;quot;2.14.0&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;import addon=&amp;quot;script.module.elementtree&amp;quot;   version=&amp;quot;1.2.7&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;import addon=&amp;quot;script.module.simplejson&amp;quot;    version=&amp;quot;2.0.10&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/requires&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here&#039;s another example, which will only install on OpenELEC:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;requires&amp;gt;&lt;br /&gt;
  &amp;lt;import addon=&amp;quot;os.openelec.tv&amp;quot; version=&amp;quot;2.0&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/requires&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;import&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
Each &amp;lt;code&amp;gt;&amp;lt;import&amp;gt;&amp;lt;/code&amp;gt; element describes one dependency for an add-on, with two required attributes: &amp;lt;code&amp;gt;addon&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;version&amp;lt;/code&amp;gt;. There is also an optional attribute called, fittingly, &amp;lt;code&amp;gt;optional&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
If your add-on relies on other third-party add-ons, Kodi will automatically install them as well, provided they are available on an existing add-on repository. If they aren&#039;t available on any existing repository, the user must install the other add-ons themselves. Note that you need to include any Python libraries you need directly in your add-on; these can&#039;t be loaded with an &amp;lt;code&amp;gt;&amp;lt;import&amp;gt;&amp;lt;/code&amp;gt; element, since Kodi wouldn&#039;t know what to do with them.&lt;br /&gt;
&lt;br /&gt;
=== addon attribute ===&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;addon&amp;lt;/code&amp;gt; attribute specifies the id of the required add-on, e.g. &amp;lt;code&amp;gt;script.module.elementtree&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== version attribute ===&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;version&amp;lt;/code&amp;gt; attribute specifies the minimum version of the required add-on to be installed.&lt;br /&gt;
&lt;br /&gt;
==== Dependency versions ====&lt;br /&gt;
&lt;br /&gt;
Each different Kodi version might require you to use a higher version of the &amp;lt;code&amp;gt;xbmc.*&amp;lt;/code&amp;gt; add-on dependencies to control on which version of Kodi the add-on can be installed.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ Current versions&lt;br /&gt;
! Kodi version !! xbmc.python !! xbmc.gui !! xbmc.json !! xbmc.metadata !! xbmc.addon&lt;br /&gt;
|-&lt;br /&gt;
| Dharma 10.1 &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;Deprecated&amp;lt;/font&amp;gt;|| 1.0 || 2.11 || 2.0|| 1.0 || 0.1&lt;br /&gt;
|-&lt;br /&gt;
| Eden 11.0 &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;Deprecated&amp;lt;/font&amp;gt; || 2.0 || 3.0 || 4.0 || 1.0 || 11.0&lt;br /&gt;
|-&lt;br /&gt;
| Frodo 12.x &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;Deprecated&amp;lt;/font&amp;gt;|| 2.1.0 || 4.0.0 || 6.0.0 || 2.1.0 || 12.0.0&lt;br /&gt;
|-&lt;br /&gt;
| Gotham 13.x || 2.14.0 (ABI 2.1.0) || 5.0.1 || 6.6.0 (ABI 6.0.0) || 2.1.0 || 13.0.0 (ABI 12.0.0)&lt;br /&gt;
|-&lt;br /&gt;
| Helix 14.x || 2.19.0 (ABI 2.1.0) || 5.3.0 || 6.20.0 (ABI 6.0.0) || 2.1.0 || 14.0.0 (ABI 12.0.0)&lt;br /&gt;
|-&lt;br /&gt;
| Isengard 15.x || 2.20.0 (ABI 2.1.0) || 5.9.0 (ABI 5.3.0) || 6.25.1 (ABI 6.0.0) || 2.1.0 || 15.0.0 (ABI 12.0.0)&lt;br /&gt;
|-&lt;br /&gt;
| Jarvis 16.x || 2.24.0 (ABI 2.1.0) || 5.10.0 || 6.32.4 (ABI 6.0.0) || 2.1.0 || 16.0.0 (ABI 12.0.0)&lt;br /&gt;
|-&lt;br /&gt;
| Krypton 17.x || 2.25.0 (ABI 2.1.0) || 5.12.0 || 7.0.0 (ABI 6.0.0) || 2.1.0 || 17.0.0 (ABI 12.0.0)&lt;br /&gt;
|-&lt;br /&gt;
| Krypton 18.x || 2.25.0 (ABI 2.1.0) || 5.13.0 || 7.0.0 (ABI 6.0.0) || 2.1.0 || 16.9.701 (ABI 12.0.0)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Each Kodi version contain a certain backwards compatibility. For example add-ons made for Gotham 13.x can still work ion Jarvis 16.x. Do note that this might change in the future. The &#039;&#039;&#039;ABI&#039;&#039;&#039; version you see in the table above is the backwards compatibility version for which add-ons are still marked &amp;quot;working&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== optional attribute ===&lt;br /&gt;
&lt;br /&gt;
The dependency may be made optional by setting the &amp;lt;code&amp;gt;optional&amp;lt;/code&amp;gt; attribute to &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;. This will only install the dependency when the add-on actually needs it. Even if this dependency is missing, the add-on can still be installed.&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;extension&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;&amp;lt;extension&amp;gt;&amp;lt;/code&amp;gt; element describes the technical aspects of this add-on. It will have at least a point attribute which will give the part of Kodi that the add-on extends. For instance, the &amp;lt;code&amp;gt;addon.xml&amp;lt;/code&amp;gt; file for the Confluence skin extends the &amp;lt;code&amp;gt;xbmc.gui.skin&amp;lt;/code&amp;gt; part of xbmc. All available extension points are given below.&lt;br /&gt;
&lt;br /&gt;
The various extension points that Kodi provides are given in the list below.&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
!Extension point&lt;br /&gt;
!Add-on Category&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;[[Skinning|xbmc.gui.skin]]&amp;lt;/code&amp;gt;&lt;br /&gt;
|Skin&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.webinterface&amp;lt;/code&amp;gt;&lt;br /&gt;
|Web interface&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;[[Add-on repositories|xbmc.addon.repository]]&amp;lt;/code&amp;gt;&lt;br /&gt;
|&#039;&#039;None&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;[[HOW-TO:_Automatically_start_addons_using_services|xbmc.service]]&amp;lt;/code&amp;gt;&lt;br /&gt;
|Services&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.metadata.scraper.albums&amp;lt;/code&amp;gt;&lt;br /&gt;
|Album information&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.metadata.scraper.artists&amp;lt;/code&amp;gt;&lt;br /&gt;
|Artist information&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.metadata.scraper.movies&amp;lt;/code&amp;gt;&lt;br /&gt;
|Movie information&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.metadata.scraper.musicvideos&amp;lt;/code&amp;gt;&lt;br /&gt;
|Music video information&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.metadata.scraper.tvshows&amp;lt;/code&amp;gt;&lt;br /&gt;
|TV information&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.metadata.scraper.library&amp;lt;/code&amp;gt;&lt;br /&gt;
|&#039;&#039;None&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.ui.screensaver&amp;lt;/code&amp;gt;&lt;br /&gt;
|Screensaver&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.player.musicviz&amp;lt;/code&amp;gt;&lt;br /&gt;
|Visualization&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;[[Plugin sources#What Kodi requires for your add-on|xbmc.python.pluginsource]]&amp;lt;/code&amp;gt;&lt;br /&gt;
|Music Add-ons (audio) / Picture Add-ons (image) / Program Add-ons (executable) / Video Add-ons (video)&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;[[Script sources#What Kodi requires for your add-on|xbmc.python.script]]&amp;lt;/code&amp;gt;&lt;br /&gt;
|Music Add-ons (audio) / Picture Add-ons (image) / Program Add-ons (executable) / Video Add-ons (video)&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.python.weather&amp;lt;/code&amp;gt;&lt;br /&gt;
|Weather&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.subtitle.module&amp;lt;/code&amp;gt;&lt;br /&gt;
|Subtitle service module&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;[[Script lyrics#What Kodi requires for your add-on|xbmc.python.lyrics]]&amp;lt;/code&amp;gt;&lt;br /&gt;
|Lyrics&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;[[Script library#What Kodi requires for your add-on|xbmc.python.library]]&amp;lt;/code&amp;gt;&lt;br /&gt;
|&#039;&#039;None&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.python.module&amp;lt;/code&amp;gt;&lt;br /&gt;
|These don&#039;t show up in the addon browser and are purely as support for other scripts.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.addon.video&amp;lt;/code&amp;gt;&lt;br /&gt;
|Video Add-ons (video)&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.addon.audio&amp;lt;/code&amp;gt;&lt;br /&gt;
|Music Add-ons (audio)&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.addon.image&amp;lt;/code&amp;gt;&lt;br /&gt;
|Picture Add-ons (image)&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;kodi.resource.images&amp;lt;/code&amp;gt;&lt;br /&gt;
|Additional image files&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;kodi.resource.language&amp;lt;/code&amp;gt;&lt;br /&gt;
|Additional language files&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Add-ons that don&#039;t correspond to a specific add-on category can not be installed by users. These are usually supporting or shared add-ons that are installed automatically by the add-ons that require them.&lt;br /&gt;
&lt;br /&gt;
=== xbmc.python.pluginsource ===&lt;br /&gt;
{{See also|Plugin sources}}&lt;br /&gt;
&lt;br /&gt;
The most common extension point that will be used by plugin addon developers is &amp;lt;code&amp;gt;xbmc.python.pluginsource&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== library attribute ====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;&amp;lt;extension point=&amp;quot;xbmc.python.pluginsource&amp;quot;&amp;gt;&amp;lt;/code&amp;gt; element has an extra attribute: &amp;lt;code&amp;gt;library&amp;lt;/code&amp;gt;. This is the name of the Python script (startup script) that will be run when the add-on is activated. This file must exist in the root of your add-on directory.&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;provides&amp;gt; element ====&lt;br /&gt;
&lt;br /&gt;
The extension has an additional child element named &amp;lt;code&amp;gt;&amp;lt;provides&amp;gt;&amp;lt;/code&amp;gt;, which contains a whitespace separated list of &amp;lt;code&amp;gt;image&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;video&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;audio&amp;lt;/code&amp;gt;, and/or &amp;lt;code&amp;gt;executable&amp;lt;/code&amp;gt;. This determines in what area (or context) of the Kodi system your addon will make itself visible in (please note that this applies only to plugin extension points):&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
!Provides&lt;br /&gt;
!Appears in&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;image&amp;lt;/code&amp;gt;&lt;br /&gt;
|Pictures&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;audio&amp;lt;/code&amp;gt;&lt;br /&gt;
|Music&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;video&amp;lt;/code&amp;gt;&lt;br /&gt;
|Video&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;executable&amp;lt;/code&amp;gt;&lt;br /&gt;
|Programs&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;(blank)&#039;&#039;&lt;br /&gt;
|Not visible&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Example ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;extension point=&amp;quot;xbmc.python.pluginsource&amp;quot; library=&amp;quot;gpodderxbmc.py&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;provides&amp;gt;audio video&amp;lt;/provides&amp;gt;&lt;br /&gt;
&amp;lt;/extension&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== xbmc.addon.metadata ===&lt;br /&gt;
&lt;br /&gt;
This special extension point &#039;&#039;must&#039;&#039; be provided by all add-ons, and is the way that your add-on is described to users of the Kodi add-on manager.&lt;br /&gt;
&lt;br /&gt;
==== Required elements ====&lt;br /&gt;
&lt;br /&gt;
There are several elements that this should contain and all are compulsory (except the broken tag). Each of the elements below must always be present in English as a minimum.&lt;br /&gt;
&lt;br /&gt;
Many of these elements can be translated into multiple languages and should be added once for each supported language. The &amp;lt;code&amp;gt;lang&amp;lt;/code&amp;gt; attribute should contain a [https://en.wikipedia.org/wiki/Locale_(computer_software) locale identifier]. If omitted, it defaults to en_GB. (Note: Kodi v14 and older uses ISO-639 code. See [[List of language codes (ISO-639:1988)]]).&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;summary&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
One or more &amp;lt;code&amp;gt;&amp;lt;summary&amp;gt;&amp;lt;/code&amp;gt; elements provide a short summary of what the add-on does. This should be a single sentence. It may be translated into multiple languages.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;summary lang=&amp;quot;en_GB&amp;quot;&amp;gt;Hello World script provides some basic examples on how to create your first script.&amp;lt;/summary&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;description&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
One or more &amp;lt;code&amp;gt;&amp;lt;description&amp;gt;&amp;lt;/code&amp;gt; elements provide a more detailed summary of what the add-on does. It may be translated into multiple languages.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;description lang=&amp;quot;en_GB&amp;quot;&amp;gt;Hello World script provides some basic examples on how to create your first script&lt;br /&gt;
 and hopefully will increase the number of Kodi users to start creating their own addons.&amp;lt;/description&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;disclaimer&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
One or more &amp;lt;code&amp;gt;&amp;lt;disclaimer&amp;gt;&amp;lt;/code&amp;gt; elements that indicate what (if any) things the user should know about the add-on. There is no need to have a disclaimer if you don&#039;t want one, though if something requires settings, or only works in a particular country then you may want to state this here. It may be translated into multiple languages.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;disclaimer lang=&amp;quot;en_GB&amp;quot;&amp;gt;Feel free to use this script. For information visit the wiki.&amp;lt;/disclaimer&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;news&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
{{note|Used in Kodi v17 Krypton and later only. Older versions are forward compatible.}}&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;&amp;lt;news&amp;gt;&amp;lt;/code&amp;gt; element should contains a simple description of the major changes made to the add-on (new functionality, big fixes, etc). This is displayed in the Kodi addon installation/update system. (In the author&#039;s opinion, too many add-ons skip this piece of information, making it difficult for users to determine whether a particular problem that they may have been having has been fixed or not.)&lt;br /&gt;
&lt;br /&gt;
Here is an example: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;news&amp;gt;v0.1.2  (2014-1-15)&lt;br /&gt;
- Added notification for Ubuntu users checking through apt command&amp;lt;/news&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;platform&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;&amp;lt;platform&amp;gt;&amp;lt;/code&amp;gt; tag specifies which platforms (operating systems, hardware) this add-on runs on. Many add-ons will run on all platforms, so &amp;lt;code&amp;gt;all&amp;lt;/code&amp;gt; is an option. If the platform tag is missing, we assume the add-on runs on all platforms. A combination of these is also possible. Currently available options are:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;all&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;linux&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;osx&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;osx64&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;osx32&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;ios&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;windx&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;android&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;platform&amp;gt;all&amp;lt;/platform&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;language&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;&amp;lt;language&amp;gt;&amp;lt;/code&amp;gt; elements indicate the language(s) of the &#039;&#039;content&#039;&#039; provided by your add-on. It applies to plugins, scripts, scrapers etc. This allows browsing the add-on list by language. When there is no specific language provided in your content, leave it blank.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;language&amp;gt;en de fr&amp;lt;/language&amp;gt;&lt;br /&gt;
    or&lt;br /&gt;
&amp;lt;language&amp;gt;&amp;lt;/language&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;license&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;&amp;lt;license&amp;gt;&amp;lt;/code&amp;gt; element indicates what license is used for this add-on.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;license&amp;gt;GNU GENERAL PUBLIC LICENSE. Version 2, June 1991&amp;lt;/license&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;forum&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;&amp;lt;forum&amp;gt;&amp;lt;/code&amp;gt; element provides the forum thread URL for this specific add-on. Leave this blank if there is no forum thread.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;forum&amp;gt;http://www.myaddonwebsite.com/forum.php?thread=12345&amp;lt;/forum&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;website&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;&amp;lt;website&amp;gt;&amp;lt;/code&amp;gt; element provides the website URL for this specific add-on.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;website&amp;gt;http://www.myaddonwebsite.com/&amp;lt;/website&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;nowiki&amp;gt;&amp;lt;source&amp;gt;&amp;lt;/nowiki&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;source&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; element provides the URL for the source code for this specific add-on.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;source&amp;gt;http://github.com/someone/myaddon&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;email&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;&amp;lt;email&amp;gt;&amp;lt;/code&amp;gt; element provides the email address of the author if he wishes to do so for this specific add-on. Here are two examples of how you can make it look (the second one it harder for spambots to use). This can be left blank if you do not want to make your email address public.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;email&amp;gt;foo@bar.com&amp;lt;/email&amp;gt;&lt;br /&gt;
    or&lt;br /&gt;
&amp;lt;email&amp;gt;foo at bar dot com&amp;lt;/email&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;broken&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;&amp;lt;broken&amp;gt;&amp;lt;/code&amp;gt; tag will mark the add-on as broken in the Kodi repo and provide the reason why. You don&#039;t need to do a version bump for this to work. However a bump is recommended as you could also add this to the changelog.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;broken&amp;gt;deprecated&amp;lt;/broken&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;assets&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
{{note|Kodi v17 Krypton and later.}}&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;&amp;lt;assets&amp;gt;&amp;lt;/code&amp;gt; element is a manifest that describes the various assets the add-on provides and where they are located. Supported sub-elements are:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;icon&amp;gt;&amp;lt;/code&amp;gt; See [[Add-on_structure#icon.png]]&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;fanart&amp;gt;&amp;lt;/code&amp;gt; See [[Add-on_structure#fanart.jpg]]&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;screenshot&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If some elements are empty or not specified, it will be treated as non-existing/not provided.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;assets&amp;gt;&lt;br /&gt;
    &amp;lt;icon&amp;gt;resources/icon.png&amp;lt;/icon&amp;gt;&lt;br /&gt;
    &amp;lt;fanart&amp;gt;resources/fanart.jpg&amp;lt;/fanart&amp;gt;&lt;br /&gt;
    &amp;lt;screenshot&amp;gt;resources/screenshot-01.jpg&amp;lt;/screenshot&amp;gt;&lt;br /&gt;
    &amp;lt;screenshot&amp;gt;resources/screenshot-02.jpg&amp;lt;/screenshot&amp;gt;&lt;br /&gt;
    &amp;lt;screenshot&amp;gt;resources/screenshot-03.jpg&amp;lt;/screenshot&amp;gt;&lt;br /&gt;
    &amp;lt;screenshot&amp;gt;resources/screenshot-04.jpg&amp;lt;/screenshot&amp;gt;&lt;br /&gt;
&amp;lt;/assets&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
With the above example definition, the files must be placed in the &amp;lt;code&amp;gt;resources&amp;lt;/code&amp;gt; folder.&lt;br /&gt;
&lt;br /&gt;
== Skin specific elements ==&lt;br /&gt;
=== Overview ===&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
|  &#039;&#039;&#039;effectslowdown&#039;&#039;&#039;&lt;br /&gt;
|  A multiplier that is applied to all &amp;lt;animation&amp;gt; effect lengths in the skin. Useful to slow down all animations globally so that you can better configure timings and see interactions between animating controls.&lt;br /&gt;
|- &lt;br /&gt;
|  &#039;&#039;&#039;debugging&#039;&#039;&#039;&lt;br /&gt;
|  When set to true, it&#039;ll display onscreen debug information (xml filename, mouse position and focused control type and name) in the skin.&lt;br /&gt;
|- &lt;br /&gt;
|  &#039;&#039;&#039;res&#039;&#039;&#039;&lt;br /&gt;
|  Support for arbitrary skin resolutions.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== How window xml files are found ===&lt;br /&gt;
&lt;br /&gt;
Kodi can run in many differing resolutions, and a skin should try and cater to all these resolutions. The easiest way is to develop for one specific resolution and make sure that all controls contain &amp;lt;width&amp;gt; and &amp;lt;height&amp;gt; tags. That way, Kodi can scale the controls to the new screen resolution.&lt;br /&gt;
&lt;br /&gt;
However, you may choose to develop alternative window xml files for differing resolutions (such as for HDTV resolutions, or for widescreen versus 4x3 resolutions).&lt;br /&gt;
&lt;br /&gt;
The order that Kodi looks for it&#039;s skin files are as follows:&lt;br /&gt;
&lt;br /&gt;
# It first looks in the current screenmode folder (one of 1080i, 720p, NTSC16x9, NTSC, PAL16x9 or PAL)&lt;br /&gt;
# If the current screenmode is 1080i and there&#039;s no 1080i folder, it then looks in the 720p folder.&lt;br /&gt;
# Finally, it looks in the &#039;&#039;&#039;res&#039;&#039;&#039; folder.&lt;br /&gt;
&lt;br /&gt;
This allows you to just put any window files that do not require special treatment for 16x9 resolutions etc. in the &amp;lt;defaultresolution&amp;gt; folder, preventing needless repetition.&lt;br /&gt;
&lt;br /&gt;
= Examples =&lt;br /&gt;
&lt;br /&gt;
== addon.xml for skins ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
﻿&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;addon&lt;br /&gt;
  id=&amp;quot;skin.confluence&amp;quot;&lt;br /&gt;
  version=&amp;quot;2.1.3&amp;quot;&lt;br /&gt;
  name=&amp;quot;Confluence&amp;quot;&lt;br /&gt;
  provider-name=&amp;quot;Jezz_X, Team Kodi&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;requires&amp;gt;&lt;br /&gt;
    &amp;lt;import addon=&amp;quot;xbmc.gui&amp;quot; version=&amp;quot;4.0.0&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/requires&amp;gt;&lt;br /&gt;
  &amp;lt;extension&lt;br /&gt;
    point=&amp;quot;xbmc.gui.skin&amp;quot;&lt;br /&gt;
    debugging=&amp;quot;false&amp;quot;&lt;br /&gt;
    effectslowdown=&amp;quot;0.75&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;res width=&amp;quot;1280&amp;quot; height=&amp;quot;720&amp;quot; aspect=&amp;quot;16:9&amp;quot; default=&amp;quot;true&amp;quot; folder=&amp;quot;720p&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;/extension&amp;gt;&lt;br /&gt;
  &amp;lt;extension point=&amp;quot;xbmc.addon.metadata&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;summary lang=&amp;quot;en&amp;quot;&amp;gt;Confluence skin by Jezz_X. (Kodi&#039;s default skin)&amp;lt;/summary&amp;gt;&lt;br /&gt;
    &amp;lt;description lang=&amp;quot;en&amp;quot;&amp;gt;Confluence is the default skin for Kodi 9.11 and above. It is a combination of concepts from many popular skins, and attempts to embrace and integrate their good ideas into a skin that should be easy for first time Kodi users to understand and use.&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;disclaimer lang=&amp;quot;en&amp;quot;&amp;gt;Confluence is the default skin for Kodi, removing it may cause issues&amp;lt;/disclaimer&amp;gt;&lt;br /&gt;
    &amp;lt;platform&amp;gt;all&amp;lt;/platform&amp;gt;&lt;br /&gt;
    &amp;lt;license&amp;gt;GNU GENERAL PUBLIC LICENSE. Version 2, June 1991&amp;lt;/license&amp;gt;&lt;br /&gt;
    &amp;lt;forum&amp;gt;&amp;lt;/forum&amp;gt;&lt;br /&gt;
    &amp;lt;website&amp;gt;&amp;lt;/website&amp;gt;&lt;br /&gt;
    &amp;lt;email&amp;gt;&amp;lt;/email&amp;gt;&lt;br /&gt;
    &amp;lt;source&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
    &amp;lt;news&amp;gt;&amp;lt;/news&amp;gt;&lt;br /&gt;
    &amp;lt;assets&amp;gt;&lt;br /&gt;
        &amp;lt;icon&amp;gt;&amp;lt;/icon&amp;gt;&lt;br /&gt;
        &amp;lt;fanart&amp;gt;&amp;lt;/fanart&amp;gt;&lt;br /&gt;
        &amp;lt;screenshot&amp;gt;&amp;lt;/screenshot&amp;gt;&lt;br /&gt;
    &amp;lt;/assets&amp;gt;&lt;br /&gt;
  &amp;lt;/extension&amp;gt;&lt;br /&gt;
&amp;lt;/addon&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
One thing to note is that &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;all tag names are lower case.&amp;lt;/font&amp;gt; XML tag names are case sensitive!&lt;br /&gt;
&lt;br /&gt;
== addon.xml for scripts ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;yes&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;addon&lt;br /&gt;
    id=&amp;quot;script.artwork.downloader&amp;quot;&lt;br /&gt;
    name=&amp;quot;Artwork Downloader&amp;quot;&lt;br /&gt;
    version=&amp;quot;12.0.12&amp;quot;&lt;br /&gt;
    provider-name=&amp;quot;Martijn&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;requires&amp;gt;&lt;br /&gt;
    &amp;lt;import addon=&amp;quot;xbmc.python&amp;quot;                 version=&amp;quot;2.1.0&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;import addon=&amp;quot;xbmc.json&amp;quot;                   version=&amp;quot;6.0.0&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;import addon=&amp;quot;xbmc.addon&amp;quot;                  version=&amp;quot;12.0.0&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;import addon=&amp;quot;script.module.elementtree&amp;quot;   version=&amp;quot;1.2.7&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;import addon=&amp;quot;script.module.simplejson&amp;quot;    version=&amp;quot;2.0.10&amp;quot; optional=&amp;quot;true&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;import addon=&amp;quot;script.common.plugin.cache&amp;quot;  version=&amp;quot;1.3.0&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/requires&amp;gt;&lt;br /&gt;
  &amp;lt;extension point=&amp;quot;xbmc.python.script&amp;quot;         library=&amp;quot;default.py&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;provides&amp;gt;executable&amp;lt;/provides&amp;gt;&lt;br /&gt;
  &amp;lt;/extension&amp;gt;&lt;br /&gt;
  &amp;lt;extension point=&amp;quot;xbmc.service&amp;quot; library=&amp;quot;service.py&amp;quot; start=&amp;quot;login&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;extension point=&amp;quot;xbmc.addon.metadata&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;summary lang=&amp;quot;en&amp;quot;&amp;gt;Downloads Artwork for TV shows, Movies and Musicvideos in your library&amp;lt;/summary&amp;gt;&lt;br /&gt;
    &amp;lt;description lang=&amp;quot;en&amp;quot;&amp;gt;Downloads all available artwork for TV shows, Movies and Musicvideos in your library. Check the options for supported artwork[CR]Artwork sources:[CR]www.fanart.tv[CR]www.thetvdb.com[CR]www.themoviedb.org[CR]Remark:[CR]Check your skin to see what type of artwork is supported![CR]Each TV Show/Movie must have its own folder![CR]Skin integration:[CR]See readme file&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;disclaimer lang=&amp;quot;en&amp;quot;&amp;gt;For bugs, requests or general questions visit the Artwork Downloader thread on the Kodi forum.&amp;lt;/disclaimer&amp;gt;&lt;br /&gt;
    &amp;lt;language&amp;gt;&amp;lt;/language&amp;gt;&lt;br /&gt;
    &amp;lt;platform&amp;gt;all&amp;lt;/platform&amp;gt;&lt;br /&gt;
    &amp;lt;license&amp;gt;GNU GENERAL PUBLIC LICENSE. Version 2, June 1991&amp;lt;/license&amp;gt;&lt;br /&gt;
    &amp;lt;forum&amp;gt;&amp;lt;/forum&amp;gt;&lt;br /&gt;
    &amp;lt;website&amp;gt;&amp;lt;/website&amp;gt;&lt;br /&gt;
    &amp;lt;email&amp;gt;&amp;lt;/email&amp;gt;&lt;br /&gt;
    &amp;lt;source&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
    &amp;lt;news&amp;gt;&amp;lt;/news&amp;gt;&lt;br /&gt;
    &amp;lt;assets&amp;gt;&lt;br /&gt;
        &amp;lt;icon&amp;gt;&amp;lt;/icon&amp;gt;&lt;br /&gt;
        &amp;lt;fanart&amp;gt;&amp;lt;/fanart&amp;gt;&lt;br /&gt;
        &amp;lt;screenshot&amp;gt;&amp;lt;/screenshot&amp;gt;&lt;br /&gt;
    &amp;lt;/assets&amp;gt;&lt;br /&gt;
  &amp;lt;/extension&amp;gt;&lt;br /&gt;
&amp;lt;/addon&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Schema Definition =&lt;br /&gt;
&lt;br /&gt;
The XML schema definition for &amp;lt;code&amp;gt;addon.xml&amp;lt;/code&amp;gt; is located [https://github.com/xbmc/xbmc/blob/master/addons/xbmc.addon/metadata.xsd here].&lt;br /&gt;
&lt;br /&gt;
{{frodo updated}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Add-on development]]&lt;br /&gt;
[[Category:Skin development]]&lt;/div&gt;</summary>
		<author><name>Martijn</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Language_support&amp;diff=126873</id>
		<title>Language support</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Language_support&amp;diff=126873"/>
		<updated>2016-12-30T10:22:43Z</updated>

		<summary type="html">&lt;p&gt;Martijn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav|[[Development]]{{l2|[[Add-on development]]}}}}&lt;br /&gt;
&lt;br /&gt;
{{cleanup}}&lt;br /&gt;
The following page explains exactly how to add a new language translation to Kodi, and how to maintain/update an existing language file in Kodi. English (United Kingdom) is the default language of Kodi so it is the English language in the Git repository that is always up-to-date, please always base your translations of the latest English language file from Git. The latest language files for Kodi can be found and downloaded [https://github.com/xbmc/xbmc/tree/master/language here (link)].&lt;br /&gt;
&lt;br /&gt;
=== Language add-ons ===&lt;br /&gt;
By default Kodi only includes one language which is English (united Kingdom). All other languages have been moved to individual language add-ons which are available form our Kodi repository for download and install. They are auto update by Team Kodi once in a while and pushed to our repository from which you will receive these updates depending on what language(s) you have installed.&lt;br /&gt;
&lt;br /&gt;
=== What is langinfo.xml ===&lt;br /&gt;
The langinfo.xml file contains language and region specific localization settings used internally by Kodi. Basically it is the default [http://en.wikipedia.org/wiki/Code_page code page] Kodi uses for this language file.&lt;br /&gt;
&lt;br /&gt;
==== Layout of a langinfo.xml file ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;language&amp;gt;&lt;br /&gt;
    &amp;lt;charsets&amp;gt;&lt;br /&gt;
      &amp;lt;gui&amp;gt;GB2312&amp;lt;/gui&amp;gt;&lt;br /&gt;
      &amp;lt;subtitle&amp;gt;GB2312&amp;lt;/subtitle&amp;gt;&lt;br /&gt;
    &amp;lt;/charsets&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
    &amp;lt;dvd&amp;gt;&lt;br /&gt;
      &amp;lt;menu&amp;gt;cn&amp;lt;/menu&amp;gt;&lt;br /&gt;
      &amp;lt;audio&amp;gt;cn&amp;lt;/audio&amp;gt;&lt;br /&gt;
      &amp;lt;subtitle&amp;gt;cn&amp;lt;/subtitle&amp;gt;&lt;br /&gt;
    &amp;lt;/dvd&amp;gt;&lt;br /&gt;
  &amp;lt;/language&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;charset&amp;gt; section:&lt;br /&gt;
&amp;lt;gui&amp;gt;: Specifies the character encoding of everything within Kodi that is not unicode. E.g. id3 tags with none unicode encoding.&lt;br /&gt;
&amp;lt;subtitle&amp;gt;: Default character encoding of subtitles when using a TTF (True-Type-Font).&lt;br /&gt;
Choose one encoding for each in the list below. The values may differ if you like.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
The &amp;lt;dvd&amp;gt; section:&lt;br /&gt;
Defines the default languages for DVD-Video menu, audio and subtitle language for the [[DVDPlayer]]. Choose one for each entry out of the list of ISO-639 language abbreviations. If the DVD-Video you are playing does not support the language that you specified then it will default to English.&lt;br /&gt;
&lt;br /&gt;
=== What is strings.po ===&lt;br /&gt;
This files contains all strings displayed in the user interface of Kodi.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Layout of the strings.po file ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
# Kodi Media Center language file&lt;br /&gt;
# Addon Name: Skin Widgets&lt;br /&gt;
# Addon id: service.skin.widgets&lt;br /&gt;
# Addon Provider: Martijn, phil65&lt;br /&gt;
msgid &amp;quot;&amp;quot;&lt;br /&gt;
msgstr &amp;quot;&amp;quot;&lt;br /&gt;
&amp;quot;Project-Id-Version: Kodi Addons\n&amp;quot;&lt;br /&gt;
&amp;quot;Report-Msgid-Bugs-To: alanwww1@kodi.org\n&amp;quot;&lt;br /&gt;
&amp;quot;POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n&amp;quot;&lt;br /&gt;
&amp;quot;PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n&amp;quot;&lt;br /&gt;
&amp;quot;Last-Translator: Kodi Translation Team\n&amp;quot;&lt;br /&gt;
&amp;quot;Language-Team: English (http://www.transifex.com/projects/p/xbmc-addons/language/en/)\n&amp;quot;&lt;br /&gt;
&amp;quot;MIME-Version: 1.0\n&amp;quot;&lt;br /&gt;
&amp;quot;Content-Type: text/plain; charset=UTF-8\n&amp;quot;&lt;br /&gt;
&amp;quot;Content-Transfer-Encoding: 8bit\n&amp;quot;&lt;br /&gt;
&amp;quot;Language: en\n&amp;quot;&lt;br /&gt;
&amp;quot;Plural-Forms: nplurals=2; plural=(n != 1);\n&amp;quot;&lt;br /&gt;
&lt;br /&gt;
msgctxt &amp;quot;#32001&amp;quot;&lt;br /&gt;
msgid &amp;quot;Recommended&amp;quot;&lt;br /&gt;
msgstr &amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
msgctxt &amp;quot;#32002&amp;quot;&lt;br /&gt;
msgid &amp;quot;Random Items&amp;quot;&lt;br /&gt;
msgstr &amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#empty string with id 32003&lt;br /&gt;
&lt;br /&gt;
msgctxt &amp;quot;#32004&amp;quot;&lt;br /&gt;
msgid &amp;quot;Randomize time (minutes)&amp;quot;&lt;br /&gt;
msgstr &amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
msgctxt &amp;quot;#32005&amp;quot;&lt;br /&gt;
msgid &amp;quot;Use season folders&amp;quot;&lt;br /&gt;
msgstr &amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Layout of the language folders ====&lt;br /&gt;
&lt;br /&gt;
Kodi loads the strings.po file depending on the set interface language. Should it find a matching language it will try to load that strings.po. If not available it will always fall back to English (United Kingdom).&lt;br /&gt;
For this to work you will need to place the strings.po in the correctly named folder depending on the language. These folders use &amp;quot;language-country&amp;quot; naming scheme. &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
/resources/language/resource.language.en_gb/strings.po&lt;br /&gt;
/resources/language/resource.language.fr_fr/strings.po&lt;br /&gt;
/resources/language/resource.language.it_it/strings.po&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
An extensive example list of used languages can be found here https://github.com/xbmc/xbmc/tree/master/addons/skin.estuary/language&lt;br /&gt;
&lt;br /&gt;
==== Layout of the old strings.xml file ====&lt;br /&gt;
&lt;br /&gt;
DEPRECATED! Please Change all your language files and folders to the .po format as mentioned above.&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;yes&amp;quot;?&amp;gt;&lt;br /&gt;
    &amp;lt;strings&amp;gt;&lt;br /&gt;
        &amp;lt;string id=&amp;quot;32001&amp;quot;&amp;gt;Recommended&amp;lt;/string&amp;gt;&lt;br /&gt;
        &amp;lt;string id=&amp;quot;32002&amp;quot;&amp;gt;Random Items&amp;lt;/string&amp;gt;&lt;br /&gt;
        &amp;lt;string id=&amp;quot;32003&amp;quot;&amp;gt;Only unplayed&amp;lt;/string&amp;gt;&lt;br /&gt;
        &amp;lt;string id=&amp;quot;32004&amp;quot;&amp;gt;Randomize time (minutes)&amp;lt;/string&amp;gt;&lt;br /&gt;
        &amp;lt;string id=&amp;quot;32005&amp;quot;&amp;gt;Use season folders&amp;lt;/string&amp;gt;&lt;br /&gt;
        &amp;lt;string id=&amp;quot;32006&amp;quot;&amp;gt;Use timer&amp;lt;/string&amp;gt;&lt;br /&gt;
        &amp;lt;string id=&amp;quot;32007&amp;quot;&amp;gt;After database update&amp;lt;/string&amp;gt;&lt;br /&gt;
        &amp;lt;string id=&amp;quot;32008&amp;quot;&amp;gt;Update method&amp;lt;/string&amp;gt;&lt;br /&gt;
        &amp;lt;string id=&amp;quot;32009&amp;quot;&amp;gt;Recent Items&amp;lt;/string&amp;gt;&lt;br /&gt;
    &amp;lt;/strings&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Each string is enclosed in a &amp;lt;string&amp;gt; tag. It contains a tag named id=&amp;quot;32001&amp;quot; with a number Kodi uses to reference a string internally.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Hint: Multi-Line Text-Values&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
If you want your text-values to span multiple lines, you can insert a new line character [br] in your tag. Although we highly discourage this as it could cause skin problems as not all text boxes have enough room to display these.&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
    &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;yes&amp;quot;?&amp;gt;&lt;br /&gt;
    &amp;lt;strings&amp;gt;&lt;br /&gt;
       &amp;lt;string id=&amp;quot;32001&amp;quot;&amp;gt;&amp;lt;value&amp;gt;This will be on the first line[br]And this will be on the second line&amp;lt;/string&amp;gt;&lt;br /&gt;
    &amp;lt;/strings&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The encoding attribute of the XML header sets the charset the file is encoded with. See List of charsets of possible values.&lt;br /&gt;
If you don&#039;t know what charset your language uses please follow [http://www.science.co.il/Language/Locale-Codes.asp this link] to find out.&lt;br /&gt;
&lt;br /&gt;
=== String ID range ===&lt;br /&gt;
&lt;br /&gt;
Follow the specified string ID range&lt;br /&gt;
&lt;br /&gt;
* strings 30000 thru 30999 reserved for plugins and plugin settings&lt;br /&gt;
* strings 31000 thru 31999 reserved for skins&lt;br /&gt;
* strings 32000 thru 32999 reserved for scripts&lt;br /&gt;
* strings 33000 thru 33999 reserved for common strings used in add-ons&lt;br /&gt;
&lt;br /&gt;
== Adding a new language to Kodi ==&lt;br /&gt;
&lt;br /&gt;
{{see|Translation System}}&lt;br /&gt;
&lt;br /&gt;
== Maintaining a language ==&lt;br /&gt;
The English (UK) language file ([https://github.com/xbmc/xbmc/blob/master/addons/resource.language.en_gb/resources/strings.po]) is the master for all language files. From time to time the English (UK) language file changes. This will be automatically update from time to time to Transifex translation pages.&lt;br /&gt;
&lt;br /&gt;
How to keep track of changes:&lt;br /&gt;
Use our [[Translation System]]&lt;br /&gt;
&lt;br /&gt;
== Related articles in the Kodi online manual ==&lt;br /&gt;
* [[List of Supported Charsets]]&lt;br /&gt;
* [[List of language codes (ISO-639:1988)]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Notes for developers ==&lt;br /&gt;
Kodi uses UTF-8 as internal character encoding. Please make sure if you add new features to Kodi which depend on external data to convert these to UTF-8 if they aren&#039;t already. Use the languagefile from branches/linuxport, since we merge that file into trunk.&lt;br /&gt;
&lt;br /&gt;
[[Category:Manual]]&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:Skin development]]&lt;br /&gt;
[[Category:Languages|*]]&lt;/div&gt;</summary>
		<author><name>Martijn</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Submitting_Add-ons&amp;diff=126769</id>
		<title>Submitting Add-ons</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Submitting_Add-ons&amp;diff=126769"/>
		<updated>2016-12-13T18:50:47Z</updated>

		<summary type="html">&lt;p&gt;Martijn: death to the mailinglist&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav|[[Development]]|[[Add-on development]]}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Submitting a Compliant Add-on to the Kodi.tv Repo ===&lt;br /&gt;
&lt;br /&gt;
After you have read the [[Add-on rules|repository guidelines]] and made sure your addon is compliant with them, you may begin the submission process using the following steps.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Allowed submissions ===&lt;br /&gt;
&lt;br /&gt;
We have restricted the allowed submissions of add-ons to past Kodi versions.&lt;br /&gt;
Several reasons:&lt;br /&gt;
* Kodi code improvements&lt;br /&gt;
* Reduce support load for add-on developers&lt;br /&gt;
* Reduce workload for repository maintainers&lt;br /&gt;
&lt;br /&gt;
Below is a table of on which submissions are allowed to official Kodi repository.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ Allowed add-on submissions&lt;br /&gt;
! codename !! version !! update !! new&lt;br /&gt;
|-&lt;br /&gt;
| Dharma || 10.x || no || no&lt;br /&gt;
|-&lt;br /&gt;
| Eden || 11.x || no || no&lt;br /&gt;
|-&lt;br /&gt;
| Frodo || 12.x || no || no&lt;br /&gt;
|-&lt;br /&gt;
| Gotham || 13.x || yes || no&lt;br /&gt;
|-&lt;br /&gt;
| Helix || 14.x || yes || no&lt;br /&gt;
|-&lt;br /&gt;
| Isengard || 15.x || yes || no&lt;br /&gt;
|-&lt;br /&gt;
| Jarvis || 16.x || yes || yes&lt;br /&gt;
|-&lt;br /&gt;
| Krypton || 17.x || yes || yes&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Additional feature is that we now use combined repositories. So if your add-on is Gotham/Helix compatible, you only need to send it to Gotham repository.&lt;br /&gt;
If it&#039;s only Helix compatible you need to send it to Helix repository.&lt;br /&gt;
This of course requires that the minimal Kodi dependencies are set accordingly.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ Which repos are used&lt;br /&gt;
! codename !! version !! repo&lt;br /&gt;
|-&lt;br /&gt;
| Dharma || 10.x || Dharma&lt;br /&gt;
|-&lt;br /&gt;
| Eden || 11.x || Eden&lt;br /&gt;
|-&lt;br /&gt;
| Frodo || 12.x || Frodo&lt;br /&gt;
|-&lt;br /&gt;
| Gotham || 13.x || Gotham&lt;br /&gt;
|-&lt;br /&gt;
| Helix || 14.x || Gotham || Helix&lt;br /&gt;
|-&lt;br /&gt;
| Isengard || 15.x || Gotham || Helix || Isengard&lt;br /&gt;
|-&lt;br /&gt;
| Jarvis || 16.x || Gotham || Helix || Isengard  || Jarvis&lt;br /&gt;
|-&lt;br /&gt;
| Krypton || 17.x || Gotham || Helix || Isengard  || Jarvis  || Krypton&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{see also|Addon.xml#Dependency_versions}}&lt;br /&gt;
&lt;br /&gt;
=== Github ===&lt;br /&gt;
&lt;br /&gt;
==== Pull requests ====&lt;br /&gt;
New add-ons or updates may be submitted directly to the [[Official add-on repository]] on Github as pull requests. We encourage add-on developers to use this method as the process is easier for both parties involved. Of course this requires some initial git knowledge and we strongly suggest to read up on this subject before using this method. To reduce size we have split up the git repositories in several locations. Please visit [[Official add-on repository]] to see where they are. Each contains a small readme with a short description of it&#039;s contents as well as a link to a short explanation on how to submit using git command line. There are also git tools available that have a graphic interface and the steps above should be done in a similar way. Please consult the manual of those programs.&lt;br /&gt;
&lt;br /&gt;
In addition to the [[Add-on rules|repository guidelines]] the following rules apply when submitting PRs on Github:&lt;br /&gt;
&lt;br /&gt;
* PR should contain one commit only.&lt;br /&gt;
* Commit message should have the format &amp;quot;[addonid] version&amp;quot;. Example: &amp;quot;[my.cool.addon] 1.0.1&amp;quot; &lt;br /&gt;
&lt;br /&gt;
Only PRs from the add-on author or his successor will be accepted. Patches should be submitted upstream to the original author first. For an easy way to create PR from your own git repository, see [[HOW-TO: create add-on PRs using Git Subtree Merging]].&lt;br /&gt;
&lt;br /&gt;
==== Issue ticket ====&lt;br /&gt;
If you are not experienced yet with git and pull requests you may also use the &amp;quot;issue&amp;quot; option where you submit a request to get you add-on added. In this ticket you need to provide the basic information needed so our repo maintainers know where to get the correct version. &lt;br /&gt;
This consists of &lt;br /&gt;
  - Add-on name: &lt;br /&gt;
  - Add-on ID:&lt;br /&gt;
  - Version number:&lt;br /&gt;
  - Kodi/repository version:&lt;br /&gt;
  - Code location URL:&lt;br /&gt;
  - Revision/tag: &lt;br /&gt;
  - Branch:&lt;br /&gt;
&lt;br /&gt;
Further information is provide when you initially create the issue on github as comments in the ticket.&lt;br /&gt;
Same [[Add-on rules|repository guidelines]] apply here as well.&lt;br /&gt;
&lt;br /&gt;
WARNING: Do not create bug tickets in these repositories as they will be closed without notice. &lt;br /&gt;
&lt;br /&gt;
==== How to submit your add-on and subsequent updates ====&lt;br /&gt;
Submitting updates is done the same way as with pull requests or issue ticket.&lt;br /&gt;
&lt;br /&gt;
==== Repository lists ====&lt;br /&gt;
You can create pull requests or tickets on the following individual repositories.&lt;br /&gt;
&lt;br /&gt;
  https://github.com/xbmc/repo-plugins&lt;br /&gt;
  https://github.com/xbmc/repo-resources&lt;br /&gt;
  https://github.com/xbmc/repo-scrapers&lt;br /&gt;
  https://github.com/xbmc/repo-scripts&lt;br /&gt;
  https://github.com/xbmc/repo-skins&lt;br /&gt;
  https://github.com/xbmc/repo-webinterfaces&lt;br /&gt;
&lt;br /&gt;
=== Additional information ===&lt;br /&gt;
Note that skin .xbt files will be generated automatically for skins so you do not include this in your pull request or created tickets. &lt;br /&gt;
After the add-on has been added or updated it will be available from the Kodi repository in Kodi itself, on http://addons.kodi.tv/ and on the wiki page http://kodi.wiki/index.php?title=Category:All_add-ons.&lt;br /&gt;
&lt;br /&gt;
{{Note|Please locate you add-on in the root of the git repository. This to make sure we can easily pull the add-on into our repository.&lt;br /&gt;
Example: https://github.com/XBMC-Addons/service.xbmc.versioncheck}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{tip|We automatically combine all repos into one single repo list on our server and provide that list to Kodi. You only need to do a request for the minimum repo your add-on supports.}}&lt;br /&gt;
&lt;br /&gt;
=== The mailing list ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; MAILINGLIST IS NOT USED ANYMORE. ALL REQUESTS SHOULD GO THROUGH GITHUB &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[Category:Add-on development]]&lt;/div&gt;</summary>
		<author><name>Martijn</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Add-on_rules&amp;diff=126734</id>
		<title>Add-on rules</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Add-on_rules&amp;diff=126734"/>
		<updated>2016-12-04T08:07:35Z</updated>

		<summary type="html">&lt;p&gt;Martijn: /* Requirements for scripts and plugins */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav|[[Development]]|[[Add-on development]]}}&lt;br /&gt;
&lt;br /&gt;
=== Repository Submission Guidelines - Please Read Before Submitting Your Addon ===&lt;br /&gt;
&lt;br /&gt;
Inclusion in the Kodi.org repository is at the sole discretion of Team Kodi. Because maintaining such a large repository is a large task, we have set some guidelines for inclusion. Please ensure that these guidelines are met before submitting request to be added.&lt;br /&gt;
In order to be considered for the official repository, the following guidelines must be met:&lt;br /&gt;
* All add-ons must be developed as described on the [[Add-on development]] page.&lt;br /&gt;
* You &#039;&#039;must&#039;&#039; include a license file (named LICENSE.txt). We recommend the [http://creativecommons.org/choose/non-web-popup?license_code=by-sa&amp;amp;jurisdiction=&amp;amp;version=3.0&amp;amp;lang=en CC-BY-SA 3.0] for skins and the [http://www.gnu.org/licenses/gpl-howto.html GPL v2+] for others, but most copy left licenses will suffice. Please investigate which license suits your needs and you fully understand the contents.&lt;br /&gt;
* All files must be free and legal to distribute.&lt;br /&gt;
* The add-on must not violate any known copyright laws - if in doubt, let us know and we&#039;ll look into it for you.&lt;br /&gt;
* All source files must be included. No pre-compiled files will be allowed.&lt;br /&gt;
* You acknowledge that you are the maintainer of your add-on.&lt;br /&gt;
* Team-Kodi reserves the right to update or remove it at any time as we deem necessary.&lt;br /&gt;
* If a new stable Kodi is going to be released no new submissions are accepted to the repository for the previous version. This will start from when the first [http://en.wikipedia.org/wiki/Release_candidate#Release_candidate release candidate (RC)] of the new version is released. Only fixes and updates will be accepted and processed for the previous version (e.g. if the current stable is 13.x, no updates are allowed for 11.x any more). See: [[Submitting Add-ons#Allowed submissions|Allowed submissions]]&lt;br /&gt;
* Monetization of add-ons (for instance advertising or paid subscriptions) will not be allowed. We can make an exception in case you own the copyright for the content the add-on provides. Please contact us on the forum (or add-on mailing list) if you believe such an exception may apply to your add-on.&lt;br /&gt;
* All xbmc.python.module addons must be used by at least one other add-on in official repository.&lt;br /&gt;
&lt;br /&gt;
=== Updates ===&lt;br /&gt;
Keep in mind that add-ons in the official repository should be considered &#039;&#039;stable&#039;&#039;. This means that they should be well-tested before you submit them for inclusion.&lt;br /&gt;
Because they are for stable users, they should avoid being updated too often. Too often is of course subjective. If your add-on is in rapid development, and features are constantly being added, hold off until you have hit a good stopping point and &#039;&#039;tested&#039;&#039; the current version.&lt;br /&gt;
&lt;br /&gt;
This means that you should &#039;&#039;not&#039;&#039; submit a request every time you change your code. If you are submitting updates more than once per week something is wrong. Once or twice per month is probably a better goal, barring unforeseen conditions (like a content source changing its paths). With good reasons provided we will of course make exceptions as we strive to prove the best user experience.&lt;br /&gt;
&lt;br /&gt;
=== General requirements ===&lt;br /&gt;
Here&#039;s a list of what basic sanity checks are done by repository maintainer on each submission.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Basic file checks:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* all strings used by add-ons must be localized, no hard-coded language strings should ever be used&lt;br /&gt;
* all paths should be treated as case-sensitive, so that they work on all OSs and file systems.&lt;br /&gt;
* all paths and files should be lower-case due to the previous point&lt;br /&gt;
** exceptions are README, COPYING, LICENSE.txt that should be upper-case and the &amp;quot;Default&amp;quot; directory in &amp;lt;tt&amp;gt;resources/skins&amp;lt;/tt&amp;gt;, for add-ons that need it.&lt;br /&gt;
* exception are the translation Language folders with should be first letter capitalised.&lt;br /&gt;
* the following file-types are not allowed: .so .dll .pyo .exe .xbt .xpr Thumbs.db and so on&amp;lt;any binary files&amp;gt;&lt;br /&gt;
* all text files should use UNIX end-of-line&lt;br /&gt;
* all .xml files must pass xml validation&lt;br /&gt;
* all .xml files must have xml declaration as header&lt;br /&gt;
* all .xml/.txt must have unix style EOL&#039;s&lt;br /&gt;
* don&#039;t use a BOM at the start of your files&lt;br /&gt;
* file permissions: files should not be marked as executable&lt;br /&gt;
* filenames must have correct encoding (for skins: check your studio logos for corrupt filenames)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Things that must be included:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*  [[Add-on structure#addon.xml|addon.xml]] must contain correct and valid info / version&lt;br /&gt;
*  [[Add-on structure#icon.png|icon.png]] must be present (256x256) or (512x512)&lt;br /&gt;
*  [[Add-on structure#fanart.jpg|fanart.jpg]] must be present (1280x720 or 1920x1080)&lt;br /&gt;
*  [[Add-on structure#LICENSE.txt|LICENCE.txt]] must be present&lt;br /&gt;
{{See also|Add-on_structure}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Things that can&#039;t be included:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* no .xbt files (these will be generated by our repository)&lt;br /&gt;
* no other add-ons included  (skinners: if you need a script, submit it separately and depend on it)&lt;br /&gt;
* don&#039;t include unneeded files (.pdf, .doc, thumbs.db, etc...)&lt;br /&gt;
* no licensed fonts / background images / anything&lt;br /&gt;
&lt;br /&gt;
=== Requirements for skins ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Basic checks:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* The file size must be sane. There is no hard limit, but a 100mb skin is pushing it.&lt;br /&gt;
* No mods. Mods are great, and pop up frequently in the forums. But they are only confusing to non-forum-goers. This can be vague, each is evaluated on its own merit. By naming your &amp;quot;mod&amp;quot; different and make it substantial different enough, we will of course take it in consideration.&lt;br /&gt;
* Due to a bug in TexturePacker, all graphics files should have a resolution of at least 4x4.&lt;br /&gt;
* themes must be in a subfolder of the themes/ folder in the skin root (eg. skin.foo/themes/blue/&amp;lt;files&amp;gt;). The .xbt file will be created by our repo backend.&lt;br /&gt;
* If you want to have some images outside of Textures.xbt, then make sure you place those images outside of the media/ folder and reference them using special://skin/backdrops/* or similar.  This is most useful for backgrounds - it keeps the size of the packed textures down.  Any images you have in the media/ folder will be placed in Textures.xbt in the official repository.&lt;br /&gt;
* Please be careful with addon dependencies. Only add dependencies that are needed for the skin to function properly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Code checks:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* all labels must be localized&lt;br /&gt;
* code should be case-sensitive&lt;br /&gt;
* skins should not create warning/errors in the logfile, this can be a lot of things:&lt;br /&gt;
:* invalid includes&lt;br /&gt;
:* undefined actions&lt;br /&gt;
:* unable to evaluate condition&lt;br /&gt;
:* undefined vars&lt;br /&gt;
:* can&#039;t focus &#039;id&#039;&lt;br /&gt;
&lt;br /&gt;
{{Note|This of course also applies to script add-ons that use skin files}}&lt;br /&gt;
&lt;br /&gt;
==== Optional support ====&lt;br /&gt;
&lt;br /&gt;
This is optional and should not block inclusion in official repo.&lt;br /&gt;
&lt;br /&gt;
* mouse support&lt;br /&gt;
* touchscreen support&lt;br /&gt;
* peripheral dialogs&lt;br /&gt;
* PVR support&lt;br /&gt;
* ADSP support&lt;br /&gt;
* RDS support&lt;br /&gt;
&lt;br /&gt;
=== Requirements for scripts and plugins ===&lt;br /&gt;
&lt;br /&gt;
* all special:// paths should be translated using xbmc.translatePath(&amp;quot;special://foo/bar&amp;quot;)&lt;br /&gt;
* xbmc.translatePath(xbmcaddon.Addon().getAddonInfo(&#039;path&#039;)).decode(&#039;utf-8&#039;) should be used for files included with the add-on&lt;br /&gt;
* xbmc.translatePath(xbmcaddon.Addon().getAddonInfo(&#039;profile&#039;)).decode(&#039;utf-8&#039;) should be used for storing add-on related files&lt;br /&gt;
* direct access to the Kodi database is &#039;&#039;&#039;not&#039;&#039;&#039; allowed. You must use [[JSON RPC]] for this.&lt;br /&gt;
* directly using analytics (Google Analytics for example) from within add-ons is not allowed. This should be handled server side by using user-agent.&lt;br /&gt;
* addons should use the xbmc.log() method to write to the logfile and use the debug logging level only. print statements should not be used. &lt;br /&gt;
* add-ons should store all their data in their own subfolder inside the addon_data directory. Access (read/write/delete) to any other files / folders is not allowed by default.&lt;br /&gt;
* Plugins should &#039;&#039;&#039;not&#039;&#039;&#039; force certain skin viewtypes on their own. They should set the correct media content from which the correct skin view type is automatically provided.&lt;br /&gt;
&#039;&#039;Exceptions to this rule may be granted in specific cases only. Please contact Team XBMC&#039;s add-on repository maintainers via the add-on mailing list if your add-on needs access to such files.&#039;&#039;&lt;br /&gt;
In case we grant such an exception for your addon, access (read/write/delete) to other files/directories must be opt-in by the user, and be clear for the user to understand what is being accessed.&lt;br /&gt;
&lt;br /&gt;
=== Requirements for scrapers ===&lt;br /&gt;
* scraper must return the following minimum information: movie title, year, plot, cast, poster, fanart&lt;br /&gt;
* use &#039;chain function&#039; for calling functions in common scrapers&lt;br /&gt;
* remove the deprecated XML tags from the scraper header in case you use a scraper editor made for pre-Dharma versions of XBMC&lt;br /&gt;
&lt;br /&gt;
[[Category:Add-on development]]&lt;br /&gt;
[[Category:Team Kodi specific notes]]&lt;/div&gt;</summary>
		<author><name>Martijn</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Jenkins&amp;diff=124551</id>
		<title>Jenkins</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Jenkins&amp;diff=124551"/>
		<updated>2016-10-02T19:06:50Z</updated>

		<summary type="html">&lt;p&gt;Martijn: /* Testing Pull Requests */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav|[[Team Kodi]]{{l2|[[Development]]}}|[[:Category:Team Kodi specific notes]]&amp;lt;br /&amp;gt;&amp;amp;nbsp;}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section begin=&amp;quot;intro&amp;quot; /&amp;gt;This page describes the &amp;quot;Jenkins&amp;quot; builder used by [[Team Kodi]] to build the variety of releases of Kodi.&amp;lt;section end=&amp;quot;intro&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Jenkins ==&lt;br /&gt;
&lt;br /&gt;
[[File:Jenkins_Start.JPG|left|300px| ]]&lt;br /&gt;
Jenkins is the successor of [[Buildbot]] which was harder to maintain and Jenkins also offers a wide variety of plugin that can be used to benefit further development and testing.&lt;br /&gt;
&lt;br /&gt;
When going to http://jenkins.kodi.tv you are shown the current frontpage like shown below and you start at the &#039;&#039;dashboard&#039;&#039; giving you several build statistics and overview of current used builders.&lt;br /&gt;
&lt;br /&gt;
You also see tabs for each platform that contain specific builders for each one of those.&lt;br /&gt;
The &#039;&#039;helpers&#039;&#039; contains like the name says helpers that can aid in doing quick builds like &#039;&#039;build all platforms&#039;&#039; or uploading of Kodi releases to our mirrors.&lt;br /&gt;
{{-}}&lt;br /&gt;
&lt;br /&gt;
== Building ==&lt;br /&gt;
&lt;br /&gt;
Building using Jenkins is only possible if given access from Team Kodi administrators and is restricted to Team Kodi members.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Automated builds ===&lt;br /&gt;
&lt;br /&gt;
At the moment we use the job &#039;&#039;&#039;BuildMulti-All&#039;&#039;&#039; which is triggered by a timer to create the nightly builds each day. These timed builds are considered &#039;&#039;&#039;nightly builds&#039;&#039;&#039; and are uploaded to http://mirrors.kodi.tv/nightlies/&lt;br /&gt;
It starts the list of separate jobs listed below and by default will build the &#039;&#039;&#039;master&#039;&#039;&#039; branch from https://github.com/xbmc/xbmc&lt;br /&gt;
* Android-ARM&lt;br /&gt;
* Android-ARM64-v8a&lt;br /&gt;
* Android-X86&lt;br /&gt;
* iOS&lt;br /&gt;
* LINUX-64&lt;br /&gt;
* LINUX-RBPI&lt;br /&gt;
* OSX-64&lt;br /&gt;
* WIN-32&lt;br /&gt;
&lt;br /&gt;
During Kodi RC and Final stage these builds might be switched to build the release branch. The purpose for this is to have continues testing until final release on the release branch of Kodi.&lt;br /&gt;
&lt;br /&gt;
== Starting manual build ==&lt;br /&gt;
&lt;br /&gt;
To start a manual build to build a certain release or just for testing/compiling purpose you have two choices.&lt;br /&gt;
&lt;br /&gt;
=== Specific platform ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
| [[File:Jenkins_platforms.jpg|left|300px| ]] || To build a specific platform you must click on the platform of choice you want.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:Jenkins_singlebuild1.jpg|left|300px| ]] || After that you are presented with the following screen (some option may not be visible to you due to restrictions).&lt;br /&gt;
This gives an overview of the available option and the build history of the platform.&lt;br /&gt;
&lt;br /&gt;
To start a build click on &#039;&#039;&#039;Build Now&#039;&#039; where you can provide the necessary information on what you want to build. &lt;br /&gt;
|-&lt;br /&gt;
| [[File:Jenkins_singlebuild2.jpg|left|300px| ]] || Here you can choose what type of release you want to build, branch/tag or commit (REVISION) and the github account the branch is located in (GITHUB_REPO).  If you want to upload the finished build to the server http://mirrors.kodi.tv/test-builds/  check the box to upload it.&lt;br /&gt;
&lt;br /&gt;
Do note if you just want to do a compile run, please disable uploading the results as this will save in total time needed and won&#039;t upload unnecessary builds to our mirrors.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Once you started building you can follow it&#039;s progress with the progress bars or click on the console to view the compiling progress.&lt;br /&gt;
&lt;br /&gt;
=== Build all platforms ===&lt;br /&gt;
&lt;br /&gt;
[[File:Jenkins_buildall1.jpg|left|300px| ]]&lt;br /&gt;
By clicking on the &#039;&#039;&#039;XBMC-BuildMulti-All&#039;&#039;&#039; job in the &#039;&#039;helper&#039;&#039; tab you get several options on the left side just like on a single platform build. Click on &#039;&#039;&#039;Start a new build&#039;&#039;&#039;.&lt;br /&gt;
This process is the same as the single builds for each platforms with the only change this will trigger each individual builder that is currently linked to this build job.&lt;br /&gt;
{{-}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Jenkins &amp;amp; Github Integration==&lt;br /&gt;
===Testing Pull Requests===&lt;br /&gt;
&lt;br /&gt;
Before merging a pull request a Jenkins build must be triggered to ensure all platforms that are enabled continue to compile. Which are usually the same as the automated builds. After the pull request has been successfully built by Jenkins then the pull request will show that it is &amp;quot;safe to merge&amp;quot;. &lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following trigger phrases can be commented to pull requests by team members:&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;jenkins build this please&#039;&#039;&#039; - jenkins builds the PR and sets the PR status after that&lt;br /&gt;
* &#039;&#039;&#039;jenkins build this with addons please&#039;&#039;&#039; - jenkins builds the PR and add-ons and sets the PR status after that&lt;br /&gt;
* &#039;&#039;&#039;jenkins build and merge&#039;&#039;&#039; - jenkins builds the PR and if successfull merges it to master&lt;br /&gt;
* &#039;&#039;&#039;jenkins build addons please&#039;&#039;&#039; - jenkins builds the binary addons from a PR and sets the PR status after that&lt;br /&gt;
* &#039;&#039;&#039;jenkins build kore&#039;&#039;&#039; - jenkins builds the official kodi remote &amp;quot;Kore&amp;quot; and sets the PR status after that&lt;br /&gt;
* &#039;&#039;&#039;jenkins build kore and merge&#039;&#039;&#039; - jenkins builds the official kodi remote &amp;quot;Kore&amp;quot; and if successfull merges it to master&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note -&#039;&#039;&#039; This will only work for Team Kodi members who have github commit rights, or alternative Team Kodi members who don&#039;t have commit rights but have been added to the special &amp;quot;jenkins-access&amp;quot; team on github (the list of these members is at &#039;&#039;&#039;[https://github.com/orgs/xbmc/teams/jenkins-access Jenkins-Access]&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
===Configure Jenkins &amp;amp; Github Integration===&lt;br /&gt;
Described below are the Steps required to make sure you are authorised to trigger Jenkins build on Github.&lt;br /&gt;
{{collapse top|Click &amp;quot;Expand&amp;quot; to see the steps required to configure Jenkins &amp;amp; Github integration}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=400px&amp;gt;&lt;br /&gt;
File:jenkinsgithub1.jpg|&#039;&#039;&#039;Step 1:&#039;&#039;&#039; From XBMC Foundation page https://github.com/xbmc select &amp;quot;People&amp;quot;&lt;br /&gt;
File:jenkinsgithub2.jpg|&#039;&#039;&#039;Step 2:&#039;&#039;&#039; Find your username then check &amp;quot;Organisation visibility&amp;quot; is set to &amp;quot;Public&amp;quot;&lt;br /&gt;
File:jenkinsgithub3.jpg|&#039;&#039;&#039;Step 3:&#039;&#039;&#039; Go to http://jenkins.kodi.tv and log in&lt;br /&gt;
File:jenkinsgithub4.jpg|&#039;&#039;&#039;Step 4:&#039;&#039;&#039; You should be presented with the Authorize application screen, select &amp;quot;Authorize application&amp;quot;&lt;br /&gt;
File:jenkinsgithub5.jpg|&#039;&#039;&#039;Step 5:&#039;&#039;&#039; Go to your Github &amp;quot;Personal settings&amp;quot; and &amp;quot;Applications&amp;quot; and you should see an entry for &amp;quot;jenkins.kodi.tv&amp;quot;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
{{collapse bottom}}&lt;br /&gt;
{{-}}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[Development]]&lt;br /&gt;
* [[Git Usage]]&lt;br /&gt;
* [[HOW-TO:Submit a patch]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:Team Kodi specific notes]]&lt;/div&gt;</summary>
		<author><name>Martijn</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Jenkins&amp;diff=124550</id>
		<title>Jenkins</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Jenkins&amp;diff=124550"/>
		<updated>2016-10-02T19:04:59Z</updated>

		<summary type="html">&lt;p&gt;Martijn: /* Specific platform */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav|[[Team Kodi]]{{l2|[[Development]]}}|[[:Category:Team Kodi specific notes]]&amp;lt;br /&amp;gt;&amp;amp;nbsp;}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section begin=&amp;quot;intro&amp;quot; /&amp;gt;This page describes the &amp;quot;Jenkins&amp;quot; builder used by [[Team Kodi]] to build the variety of releases of Kodi.&amp;lt;section end=&amp;quot;intro&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Jenkins ==&lt;br /&gt;
&lt;br /&gt;
[[File:Jenkins_Start.JPG|left|300px| ]]&lt;br /&gt;
Jenkins is the successor of [[Buildbot]] which was harder to maintain and Jenkins also offers a wide variety of plugin that can be used to benefit further development and testing.&lt;br /&gt;
&lt;br /&gt;
When going to http://jenkins.kodi.tv you are shown the current frontpage like shown below and you start at the &#039;&#039;dashboard&#039;&#039; giving you several build statistics and overview of current used builders.&lt;br /&gt;
&lt;br /&gt;
You also see tabs for each platform that contain specific builders for each one of those.&lt;br /&gt;
The &#039;&#039;helpers&#039;&#039; contains like the name says helpers that can aid in doing quick builds like &#039;&#039;build all platforms&#039;&#039; or uploading of Kodi releases to our mirrors.&lt;br /&gt;
{{-}}&lt;br /&gt;
&lt;br /&gt;
== Building ==&lt;br /&gt;
&lt;br /&gt;
Building using Jenkins is only possible if given access from Team Kodi administrators and is restricted to Team Kodi members.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Automated builds ===&lt;br /&gt;
&lt;br /&gt;
At the moment we use the job &#039;&#039;&#039;BuildMulti-All&#039;&#039;&#039; which is triggered by a timer to create the nightly builds each day. These timed builds are considered &#039;&#039;&#039;nightly builds&#039;&#039;&#039; and are uploaded to http://mirrors.kodi.tv/nightlies/&lt;br /&gt;
It starts the list of separate jobs listed below and by default will build the &#039;&#039;&#039;master&#039;&#039;&#039; branch from https://github.com/xbmc/xbmc&lt;br /&gt;
* Android-ARM&lt;br /&gt;
* Android-ARM64-v8a&lt;br /&gt;
* Android-X86&lt;br /&gt;
* iOS&lt;br /&gt;
* LINUX-64&lt;br /&gt;
* LINUX-RBPI&lt;br /&gt;
* OSX-64&lt;br /&gt;
* WIN-32&lt;br /&gt;
&lt;br /&gt;
During Kodi RC and Final stage these builds might be switched to build the release branch. The purpose for this is to have continues testing until final release on the release branch of Kodi.&lt;br /&gt;
&lt;br /&gt;
== Starting manual build ==&lt;br /&gt;
&lt;br /&gt;
To start a manual build to build a certain release or just for testing/compiling purpose you have two choices.&lt;br /&gt;
&lt;br /&gt;
=== Specific platform ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
| [[File:Jenkins_platforms.jpg|left|300px| ]] || To build a specific platform you must click on the platform of choice you want.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:Jenkins_singlebuild1.jpg|left|300px| ]] || After that you are presented with the following screen (some option may not be visible to you due to restrictions).&lt;br /&gt;
This gives an overview of the available option and the build history of the platform.&lt;br /&gt;
&lt;br /&gt;
To start a build click on &#039;&#039;&#039;Build Now&#039;&#039; where you can provide the necessary information on what you want to build. &lt;br /&gt;
|-&lt;br /&gt;
| [[File:Jenkins_singlebuild2.jpg|left|300px| ]] || Here you can choose what type of release you want to build, branch/tag or commit (REVISION) and the github account the branch is located in (GITHUB_REPO).  If you want to upload the finished build to the server http://mirrors.kodi.tv/test-builds/  check the box to upload it.&lt;br /&gt;
&lt;br /&gt;
Do note if you just want to do a compile run, please disable uploading the results as this will save in total time needed and won&#039;t upload unnecessary builds to our mirrors.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Once you started building you can follow it&#039;s progress with the progress bars or click on the console to view the compiling progress.&lt;br /&gt;
&lt;br /&gt;
=== Build all platforms ===&lt;br /&gt;
&lt;br /&gt;
[[File:Jenkins_buildall1.jpg|left|300px| ]]&lt;br /&gt;
By clicking on the &#039;&#039;&#039;XBMC-BuildMulti-All&#039;&#039;&#039; job in the &#039;&#039;helper&#039;&#039; tab you get several options on the left side just like on a single platform build. Click on &#039;&#039;&#039;Start a new build&#039;&#039;&#039;.&lt;br /&gt;
This process is the same as the single builds for each platforms with the only change this will trigger each individual builder that is currently linked to this build job.&lt;br /&gt;
{{-}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Jenkins &amp;amp; Github Integration==&lt;br /&gt;
===Testing Pull Requests===&lt;br /&gt;
&lt;br /&gt;
Before merging a pull request a Jenkins build must be triggered to ensure all platforms continue to compile, after the pull request has been successfully built by Jenkins then the pull request will show that it is &amp;quot;safe to merge&amp;quot;. &lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following trigger phrases can be commented to pull requests by team members:&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;jenkins build this please&#039;&#039;&#039; - jenkins builds the PR and sets the PR status after that&lt;br /&gt;
* &#039;&#039;&#039;jenkins build this with addons please&#039;&#039;&#039; - jenkins builds the PR and add-ons and sets the PR status after that&lt;br /&gt;
* &#039;&#039;&#039;jenkins build and merge&#039;&#039;&#039; - jenkins builds the PR and if successfull merges it to master&lt;br /&gt;
* &#039;&#039;&#039;jenkins build addons please&#039;&#039;&#039; - jenkins builds the binary addons from a PR and sets the PR status after that&lt;br /&gt;
* &#039;&#039;&#039;jenkins build kore&#039;&#039;&#039; - jenkins builds the official kodi remote &amp;quot;Kore&amp;quot; and sets the PR status after that&lt;br /&gt;
* &#039;&#039;&#039;jenkins build kore and merge&#039;&#039;&#039; - jenkins builds the official kodi remote &amp;quot;Kore&amp;quot; and if successfull merges it to master&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note -&#039;&#039;&#039; This will only work for Team Kodi members who have github commit rights, or alternative Team Kodi members who don&#039;t have commit rights but have been added to the special &amp;quot;jenkins-access&amp;quot; team on github (the list of these members is at &#039;&#039;&#039;[https://github.com/orgs/xbmc/teams/jenkins-access Jenkins-Access]&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
===Configure Jenkins &amp;amp; Github Integration===&lt;br /&gt;
Described below are the Steps required to make sure you are authorised to trigger Jenkins build on Github.&lt;br /&gt;
{{collapse top|Click &amp;quot;Expand&amp;quot; to see the steps required to configure Jenkins &amp;amp; Github integration}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=400px&amp;gt;&lt;br /&gt;
File:jenkinsgithub1.jpg|&#039;&#039;&#039;Step 1:&#039;&#039;&#039; From XBMC Foundation page https://github.com/xbmc select &amp;quot;People&amp;quot;&lt;br /&gt;
File:jenkinsgithub2.jpg|&#039;&#039;&#039;Step 2:&#039;&#039;&#039; Find your username then check &amp;quot;Organisation visibility&amp;quot; is set to &amp;quot;Public&amp;quot;&lt;br /&gt;
File:jenkinsgithub3.jpg|&#039;&#039;&#039;Step 3:&#039;&#039;&#039; Go to http://jenkins.kodi.tv and log in&lt;br /&gt;
File:jenkinsgithub4.jpg|&#039;&#039;&#039;Step 4:&#039;&#039;&#039; You should be presented with the Authorize application screen, select &amp;quot;Authorize application&amp;quot;&lt;br /&gt;
File:jenkinsgithub5.jpg|&#039;&#039;&#039;Step 5:&#039;&#039;&#039; Go to your Github &amp;quot;Personal settings&amp;quot; and &amp;quot;Applications&amp;quot; and you should see an entry for &amp;quot;jenkins.kodi.tv&amp;quot;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
{{collapse bottom}}&lt;br /&gt;
{{-}}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[Development]]&lt;br /&gt;
* [[Git Usage]]&lt;br /&gt;
* [[HOW-TO:Submit a patch]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:Team Kodi specific notes]]&lt;/div&gt;</summary>
		<author><name>Martijn</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Jenkins&amp;diff=124549</id>
		<title>Jenkins</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Jenkins&amp;diff=124549"/>
		<updated>2016-10-02T19:01:20Z</updated>

		<summary type="html">&lt;p&gt;Martijn: /* Building */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav|[[Team Kodi]]{{l2|[[Development]]}}|[[:Category:Team Kodi specific notes]]&amp;lt;br /&amp;gt;&amp;amp;nbsp;}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section begin=&amp;quot;intro&amp;quot; /&amp;gt;This page describes the &amp;quot;Jenkins&amp;quot; builder used by [[Team Kodi]] to build the variety of releases of Kodi.&amp;lt;section end=&amp;quot;intro&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Jenkins ==&lt;br /&gt;
&lt;br /&gt;
[[File:Jenkins_Start.JPG|left|300px| ]]&lt;br /&gt;
Jenkins is the successor of [[Buildbot]] which was harder to maintain and Jenkins also offers a wide variety of plugin that can be used to benefit further development and testing.&lt;br /&gt;
&lt;br /&gt;
When going to http://jenkins.kodi.tv you are shown the current frontpage like shown below and you start at the &#039;&#039;dashboard&#039;&#039; giving you several build statistics and overview of current used builders.&lt;br /&gt;
&lt;br /&gt;
You also see tabs for each platform that contain specific builders for each one of those.&lt;br /&gt;
The &#039;&#039;helpers&#039;&#039; contains like the name says helpers that can aid in doing quick builds like &#039;&#039;build all platforms&#039;&#039; or uploading of Kodi releases to our mirrors.&lt;br /&gt;
{{-}}&lt;br /&gt;
&lt;br /&gt;
== Building ==&lt;br /&gt;
&lt;br /&gt;
Building using Jenkins is only possible if given access from Team Kodi administrators and is restricted to Team Kodi members.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Automated builds ===&lt;br /&gt;
&lt;br /&gt;
At the moment we use the job &#039;&#039;&#039;BuildMulti-All&#039;&#039;&#039; which is triggered by a timer to create the nightly builds each day. These timed builds are considered &#039;&#039;&#039;nightly builds&#039;&#039;&#039; and are uploaded to http://mirrors.kodi.tv/nightlies/&lt;br /&gt;
It starts the list of separate jobs listed below and by default will build the &#039;&#039;&#039;master&#039;&#039;&#039; branch from https://github.com/xbmc/xbmc&lt;br /&gt;
* Android-ARM&lt;br /&gt;
* Android-ARM64-v8a&lt;br /&gt;
* Android-X86&lt;br /&gt;
* iOS&lt;br /&gt;
* LINUX-64&lt;br /&gt;
* LINUX-RBPI&lt;br /&gt;
* OSX-64&lt;br /&gt;
* WIN-32&lt;br /&gt;
&lt;br /&gt;
During Kodi RC and Final stage these builds might be switched to build the release branch. The purpose for this is to have continues testing until final release on the release branch of Kodi.&lt;br /&gt;
&lt;br /&gt;
== Starting manual build ==&lt;br /&gt;
&lt;br /&gt;
To start a manual build to build a certain release or just for testing/compiling purpose you have two choices.&lt;br /&gt;
&lt;br /&gt;
=== Specific platform ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
| [[File:Jenkins_platforms.jpg|left|300px| ]] || To build a specific platform you must click on the platform of choice you want.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:Jenkins_singlebuild1.jpg|left|300px| ]] || After that you are presented with the following screen (some option may not be visible to you due to restrictions).&lt;br /&gt;
This gives an overview of the available option and the build history of the platform.&lt;br /&gt;
&lt;br /&gt;
To start a build click on &#039;&#039;&#039;Build Now&#039;&#039; where you can provide the necessary information on what you want to build. &lt;br /&gt;
|-&lt;br /&gt;
| [[File:Jenkins_singlebuild2.jpg|left|300px| ]] || Here you can choose what type of release you want to build, branch/tag or commit,  if you want to upload the finished build to the server http://mirrors.kodi.tv/test-builds/  and what git repository you want to build from (i.e. your own one).&lt;br /&gt;
&lt;br /&gt;
Do note if you just want to do a compile run, please disable uploading the results as this will save in total time needed and won&#039;t upload unnecessary builds to our mirrors.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Once you started building you can follow it&#039;s progress with the progress bars or click on the console to view the compiling progress.&lt;br /&gt;
&lt;br /&gt;
=== Build all platforms ===&lt;br /&gt;
&lt;br /&gt;
[[File:Jenkins_buildall1.jpg|left|300px| ]]&lt;br /&gt;
By clicking on the &#039;&#039;&#039;XBMC-BuildMulti-All&#039;&#039;&#039; job in the &#039;&#039;helper&#039;&#039; tab you get several options on the left side just like on a single platform build. Click on &#039;&#039;&#039;Start a new build&#039;&#039;&#039;.&lt;br /&gt;
This process is the same as the single builds for each platforms with the only change this will trigger each individual builder that is currently linked to this build job.&lt;br /&gt;
{{-}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Jenkins &amp;amp; Github Integration==&lt;br /&gt;
===Testing Pull Requests===&lt;br /&gt;
&lt;br /&gt;
Before merging a pull request a Jenkins build must be triggered to ensure all platforms continue to compile, after the pull request has been successfully built by Jenkins then the pull request will show that it is &amp;quot;safe to merge&amp;quot;. &lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following trigger phrases can be commented to pull requests by team members:&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;jenkins build this please&#039;&#039;&#039; - jenkins builds the PR and sets the PR status after that&lt;br /&gt;
* &#039;&#039;&#039;jenkins build this with addons please&#039;&#039;&#039; - jenkins builds the PR and add-ons and sets the PR status after that&lt;br /&gt;
* &#039;&#039;&#039;jenkins build and merge&#039;&#039;&#039; - jenkins builds the PR and if successfull merges it to master&lt;br /&gt;
* &#039;&#039;&#039;jenkins build addons please&#039;&#039;&#039; - jenkins builds the binary addons from a PR and sets the PR status after that&lt;br /&gt;
* &#039;&#039;&#039;jenkins build kore&#039;&#039;&#039; - jenkins builds the official kodi remote &amp;quot;Kore&amp;quot; and sets the PR status after that&lt;br /&gt;
* &#039;&#039;&#039;jenkins build kore and merge&#039;&#039;&#039; - jenkins builds the official kodi remote &amp;quot;Kore&amp;quot; and if successfull merges it to master&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note -&#039;&#039;&#039; This will only work for Team Kodi members who have github commit rights, or alternative Team Kodi members who don&#039;t have commit rights but have been added to the special &amp;quot;jenkins-access&amp;quot; team on github (the list of these members is at &#039;&#039;&#039;[https://github.com/orgs/xbmc/teams/jenkins-access Jenkins-Access]&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
===Configure Jenkins &amp;amp; Github Integration===&lt;br /&gt;
Described below are the Steps required to make sure you are authorised to trigger Jenkins build on Github.&lt;br /&gt;
{{collapse top|Click &amp;quot;Expand&amp;quot; to see the steps required to configure Jenkins &amp;amp; Github integration}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=400px&amp;gt;&lt;br /&gt;
File:jenkinsgithub1.jpg|&#039;&#039;&#039;Step 1:&#039;&#039;&#039; From XBMC Foundation page https://github.com/xbmc select &amp;quot;People&amp;quot;&lt;br /&gt;
File:jenkinsgithub2.jpg|&#039;&#039;&#039;Step 2:&#039;&#039;&#039; Find your username then check &amp;quot;Organisation visibility&amp;quot; is set to &amp;quot;Public&amp;quot;&lt;br /&gt;
File:jenkinsgithub3.jpg|&#039;&#039;&#039;Step 3:&#039;&#039;&#039; Go to http://jenkins.kodi.tv and log in&lt;br /&gt;
File:jenkinsgithub4.jpg|&#039;&#039;&#039;Step 4:&#039;&#039;&#039; You should be presented with the Authorize application screen, select &amp;quot;Authorize application&amp;quot;&lt;br /&gt;
File:jenkinsgithub5.jpg|&#039;&#039;&#039;Step 5:&#039;&#039;&#039; Go to your Github &amp;quot;Personal settings&amp;quot; and &amp;quot;Applications&amp;quot; and you should see an entry for &amp;quot;jenkins.kodi.tv&amp;quot;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
{{collapse bottom}}&lt;br /&gt;
{{-}}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[Development]]&lt;br /&gt;
* [[Git Usage]]&lt;br /&gt;
* [[HOW-TO:Submit a patch]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:Team Kodi specific notes]]&lt;/div&gt;</summary>
		<author><name>Martijn</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Jenkins&amp;diff=124548</id>
		<title>Jenkins</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Jenkins&amp;diff=124548"/>
		<updated>2016-10-02T18:51:44Z</updated>

		<summary type="html">&lt;p&gt;Martijn: /* Jenkins */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav|[[Team Kodi]]{{l2|[[Development]]}}|[[:Category:Team Kodi specific notes]]&amp;lt;br /&amp;gt;&amp;amp;nbsp;}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section begin=&amp;quot;intro&amp;quot; /&amp;gt;This page describes the &amp;quot;Jenkins&amp;quot; builder used by [[Team Kodi]] to build the variety of releases of Kodi.&amp;lt;section end=&amp;quot;intro&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Jenkins ==&lt;br /&gt;
&lt;br /&gt;
[[File:Jenkins_Start.JPG|left|300px| ]]&lt;br /&gt;
Jenkins is the successor of [[Buildbot]] which was harder to maintain and Jenkins also offers a wide variety of plugin that can be used to benefit further development and testing.&lt;br /&gt;
&lt;br /&gt;
When going to http://jenkins.kodi.tv you are shown the current frontpage like shown below and you start at the &#039;&#039;dashboard&#039;&#039; giving you several build statistics and overview of current used builders.&lt;br /&gt;
&lt;br /&gt;
You also see tabs for each platform that contain specific builders for each one of those.&lt;br /&gt;
The &#039;&#039;helpers&#039;&#039; contains like the name says helpers that can aid in doing quick builds like &#039;&#039;build all platforms&#039;&#039; or uploading of Kodi releases to our mirrors.&lt;br /&gt;
{{-}}&lt;br /&gt;
&lt;br /&gt;
== Building ==&lt;br /&gt;
&lt;br /&gt;
Building using Jenkins is only possible if given access from Team Kodi. This is normally restricted to Team Kodi members.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Automated builds ===&lt;br /&gt;
&lt;br /&gt;
Automated build are started at a specific time which can be configured at for each job.&lt;br /&gt;
At the moment we use the job &#039;&#039;&#039;XBMC-BuildAll&#039;&#039;&#039; which is triggered by a timer.&lt;br /&gt;
It starts the list of separate jobs listed below and by default will build the &#039;&#039;&#039;master&#039;&#039;&#039; branch from https://github.com/xbmc/xbmc&lt;br /&gt;
* XBMC-Android-ARM&lt;br /&gt;
* XBMC-IOS-ATV&lt;br /&gt;
* XBMC-OSX-32&lt;br /&gt;
* XBMC-OSX-64&lt;br /&gt;
* XBMC-WIN-32&lt;br /&gt;
&lt;br /&gt;
Timed builds are considered &#039;&#039;&#039;nightly builds&#039;&#039;&#039; and are uploaded to http://mirrors.kodi.tv/nightlies/&lt;br /&gt;
The build time is set using cron and using the &#039;&#039;XBMC-BuildAll&#039;&#039; configure page.&lt;br /&gt;
&lt;br /&gt;
== Starting manual build ==&lt;br /&gt;
&lt;br /&gt;
To start a manual build to build a certain release or just for testing/compiling purpose you have two choices.&lt;br /&gt;
&lt;br /&gt;
=== Specific platform ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
| [[File:Jenkins_platforms.jpg|left|300px| ]] || To build a specific platform you must click on the platform of choice you want.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:Jenkins_singlebuild1.jpg|left|300px| ]] || After that you are presented with the following screen (some option may not be visible to you due to restrictions).&lt;br /&gt;
This gives an overview of the available option and the build history of the platform.&lt;br /&gt;
&lt;br /&gt;
To start a build click on &#039;&#039;&#039;Build Now&#039;&#039; where you can provide the necessary information on what you want to build. &lt;br /&gt;
|-&lt;br /&gt;
| [[File:Jenkins_singlebuild2.jpg|left|300px| ]] || Here you can choose what type of release you want to build, branch/tag or commit,  if you want to upload the finished build to the server http://mirrors.kodi.tv/test-builds/  and what git repository you want to build from (i.e. your own one).&lt;br /&gt;
&lt;br /&gt;
Do note if you just want to do a compile run, please disable uploading the results as this will save in total time needed and won&#039;t upload unnecessary builds to our mirrors.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Once you started building you can follow it&#039;s progress with the progress bars or click on the console to view the compiling progress.&lt;br /&gt;
&lt;br /&gt;
=== Build all platforms ===&lt;br /&gt;
&lt;br /&gt;
[[File:Jenkins_buildall1.jpg|left|300px| ]]&lt;br /&gt;
By clicking on the &#039;&#039;&#039;XBMC-BuildMulti-All&#039;&#039;&#039; job in the &#039;&#039;helper&#039;&#039; tab you get several options on the left side just like on a single platform build. Click on &#039;&#039;&#039;Start a new build&#039;&#039;&#039;.&lt;br /&gt;
This process is the same as the single builds for each platforms with the only change this will trigger each individual builder that is currently linked to this build job.&lt;br /&gt;
{{-}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Jenkins &amp;amp; Github Integration==&lt;br /&gt;
===Testing Pull Requests===&lt;br /&gt;
&lt;br /&gt;
Before merging a pull request a Jenkins build must be triggered to ensure all platforms continue to compile, after the pull request has been successfully built by Jenkins then the pull request will show that it is &amp;quot;safe to merge&amp;quot;. &lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following trigger phrases can be commented to pull requests by team members:&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;jenkins build this please&#039;&#039;&#039; - jenkins builds the PR and sets the PR status after that&lt;br /&gt;
* &#039;&#039;&#039;jenkins build this with addons please&#039;&#039;&#039; - jenkins builds the PR and add-ons and sets the PR status after that&lt;br /&gt;
* &#039;&#039;&#039;jenkins build and merge&#039;&#039;&#039; - jenkins builds the PR and if successfull merges it to master&lt;br /&gt;
* &#039;&#039;&#039;jenkins build addons please&#039;&#039;&#039; - jenkins builds the binary addons from a PR and sets the PR status after that&lt;br /&gt;
* &#039;&#039;&#039;jenkins build kore&#039;&#039;&#039; - jenkins builds the official kodi remote &amp;quot;Kore&amp;quot; and sets the PR status after that&lt;br /&gt;
* &#039;&#039;&#039;jenkins build kore and merge&#039;&#039;&#039; - jenkins builds the official kodi remote &amp;quot;Kore&amp;quot; and if successfull merges it to master&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note -&#039;&#039;&#039; This will only work for Team Kodi members who have github commit rights, or alternative Team Kodi members who don&#039;t have commit rights but have been added to the special &amp;quot;jenkins-access&amp;quot; team on github (the list of these members is at &#039;&#039;&#039;[https://github.com/orgs/xbmc/teams/jenkins-access Jenkins-Access]&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
===Configure Jenkins &amp;amp; Github Integration===&lt;br /&gt;
Described below are the Steps required to make sure you are authorised to trigger Jenkins build on Github.&lt;br /&gt;
{{collapse top|Click &amp;quot;Expand&amp;quot; to see the steps required to configure Jenkins &amp;amp; Github integration}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=400px&amp;gt;&lt;br /&gt;
File:jenkinsgithub1.jpg|&#039;&#039;&#039;Step 1:&#039;&#039;&#039; From XBMC Foundation page https://github.com/xbmc select &amp;quot;People&amp;quot;&lt;br /&gt;
File:jenkinsgithub2.jpg|&#039;&#039;&#039;Step 2:&#039;&#039;&#039; Find your username then check &amp;quot;Organisation visibility&amp;quot; is set to &amp;quot;Public&amp;quot;&lt;br /&gt;
File:jenkinsgithub3.jpg|&#039;&#039;&#039;Step 3:&#039;&#039;&#039; Go to http://jenkins.kodi.tv and log in&lt;br /&gt;
File:jenkinsgithub4.jpg|&#039;&#039;&#039;Step 4:&#039;&#039;&#039; You should be presented with the Authorize application screen, select &amp;quot;Authorize application&amp;quot;&lt;br /&gt;
File:jenkinsgithub5.jpg|&#039;&#039;&#039;Step 5:&#039;&#039;&#039; Go to your Github &amp;quot;Personal settings&amp;quot; and &amp;quot;Applications&amp;quot; and you should see an entry for &amp;quot;jenkins.kodi.tv&amp;quot;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
{{collapse bottom}}&lt;br /&gt;
{{-}}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[Development]]&lt;br /&gt;
* [[Git Usage]]&lt;br /&gt;
* [[HOW-TO:Submit a patch]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:Team Kodi specific notes]]&lt;/div&gt;</summary>
		<author><name>Martijn</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=File:Jenkins_Start.JPG&amp;diff=124547</id>
		<title>File:Jenkins Start.JPG</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=File:Jenkins_Start.JPG&amp;diff=124547"/>
		<updated>2016-10-02T18:50:44Z</updated>

		<summary type="html">&lt;p&gt;Martijn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Martijn</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Add-on_development&amp;diff=124520</id>
		<title>Add-on development</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Add-on_development&amp;diff=124520"/>
		<updated>2016-10-01T10:58:54Z</updated>

		<summary type="html">&lt;p&gt;Martijn: Do not link to the pydocs server directly&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav|[[Development]]}}&lt;br /&gt;
[[File:Wiki logo.png|150px|link=|left]]&lt;br /&gt;
&amp;lt;section begin=&amp;quot;intro&amp;quot; /&amp;gt;This area contains information, tutorials, and links for creating add-ons (and plug-ins) for Kodi.&amp;lt;section end=&amp;quot;intro&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{-}}&lt;br /&gt;
----&lt;br /&gt;
{{huge|&#039;&#039;&#039;{{color|black|General}}&#039;&#039;&#039;}}&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=&amp;quot;33%&amp;quot; align=&amp;quot;center&amp;quot; | {{Main page icon|image=Nuvola apps kthememgr.png|link=About Add-ons}}&lt;br /&gt;
| width=&amp;quot;33%&amp;quot; align=&amp;quot;center&amp;quot; | {{Main page icon|image=Applications-development.png|link=Add-on structure|title=Add-on Structure}}&lt;br /&gt;
| width=&amp;quot;33%&amp;quot; align=&amp;quot;center&amp;quot; | {{Main page icon|image=Tool-box-icon.png|link=Development Tools}}&lt;br /&gt;
|}&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=&amp;quot;33%&amp;quot; align=&amp;quot;center&amp;quot; | {{Main page icon|image=Administration.png|link=Add-on settings}}&lt;br /&gt;
| width=&amp;quot;33%&amp;quot; align=&amp;quot;center&amp;quot; | {{Main page icon|image=60.jpg|link=Special protocol}}&lt;br /&gt;
| width=&amp;quot;33%&amp;quot; align=&amp;quot;center&amp;quot; | {{Main page icon|image=Translate icon.jpg|link=Translation System}}&lt;br /&gt;
|}&lt;br /&gt;
----&lt;br /&gt;
{{huge|&#039;&#039;&#039;{{color|black|Add-on Types}}&#039;&#039;&#039;}}&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=&amp;quot;33%&amp;quot; align=&amp;quot;center&amp;quot; | {{Main page icon|image=Nuvola apps kthememgr.png|link=Plugin sources}}&lt;br /&gt;
| width=&amp;quot;33%&amp;quot; align=&amp;quot;center&amp;quot; | {{Main page icon|image=Applications-development.png|link=Script sources|title=Scripts}}&lt;br /&gt;
| width=&amp;quot;33%&amp;quot; align=&amp;quot;center&amp;quot; | {{Main page icon|image=Administration.png|link=Script Subtitles}}&lt;br /&gt;
|}&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=&amp;quot;33%&amp;quot; align=&amp;quot;center&amp;quot; | {{Main page icon|image=Gnome-system-run.png|link=Service addons}}&lt;br /&gt;
| width=&amp;quot;33%&amp;quot; align=&amp;quot;center&amp;quot; | {{Main page icon|image=Misc-Misc-Box-icon.png|link=HOW-TO:Create a repository for add-ons|title=Repository add-ons}}&lt;br /&gt;
| width=&amp;quot;33%&amp;quot; align=&amp;quot;center&amp;quot; | {{Main page icon|image=Web-icon.png|link=HOW-TO:Write media scrapers|title=Scraper add-ons}}&lt;br /&gt;
|}&lt;br /&gt;
----&lt;br /&gt;
{{huge|&#039;&#039;&#039;{{color|black|Tutorials}}&#039;&#039;&#039;}}&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=&amp;quot;33%&amp;quot; align=&amp;quot;center&amp;quot; | {{Main page icon|image=Translation - Noun project 987.png|link=HOW-TO:HelloWorld_addon|title=Hello World Tutorial}}&lt;br /&gt;
| width=&amp;quot;33%&amp;quot; align=&amp;quot;center&amp;quot; | {{Main page icon|image=Addons-icon.png|link=Audio/video add-on tutorial|title=General Add-on Tutorial}}&lt;br /&gt;
| width=&amp;quot;33%&amp;quot; align=&amp;quot;center&amp;quot; | {{Main page icon|image=Video.png|link=3rd Party Tutorials}}&lt;br /&gt;
|}&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=&amp;quot;33%&amp;quot; align=&amp;quot;center&amp;quot; | {{Main page icon|image=music-icon.png|link=HOW-TO:Audio_addon|title=Audio Tutorial}}&lt;br /&gt;
| width=&amp;quot;33%&amp;quot; align=&amp;quot;center&amp;quot; | {{Main page icon|image=video-icon.png|link=HOW-TO:Video_addon|title=Video Tutorial}}&lt;br /&gt;
| width=&amp;quot;33%&amp;quot; align=&amp;quot;center&amp;quot; | {{Main page icon|image=Visualisation-icon.jpg|link=HOW-TO:Visualisation_addon|title=Visualisation Tutorial}}&lt;br /&gt;
|}&lt;br /&gt;
----&lt;br /&gt;
{{huge|&#039;&#039;&#039;{{color|black|Advanced}}&#039;&#039;&#039;}}&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=&amp;quot;33%&amp;quot; align=&amp;quot;center&amp;quot; | {{Main page icon|image=Book icon 1.png|link=Python Libraries}}&lt;br /&gt;
| width=&amp;quot;33%&amp;quot; align=&amp;quot;center&amp;quot; | {{Main page icon|image=Network2.png|link=Add-on Repositories}}&lt;br /&gt;
| width=&amp;quot;33%&amp;quot; align=&amp;quot;center&amp;quot; | {{Main page icon|image=Gnome-system-run.png|link=Add-on settings|title=Add-on Settings}}&lt;br /&gt;
|}&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=&amp;quot;33%&amp;quot; align=&amp;quot;center&amp;quot; | {{Main page icon|image=bug.png‎‎|link=HOW-TO:Debug_Python_Scripts_with_Eclipse|title=Debugging Python}}&lt;br /&gt;
| width=&amp;quot;33%&amp;quot; align=&amp;quot;center&amp;quot; | {{Main page icon|image=Python.png‎|link=Python Development}}&lt;br /&gt;
| width=&amp;quot;33%&amp;quot; align=&amp;quot;center&amp;quot; | {{Main page icon|image=Blue-Dossier-128.png|link=http://kodi.wiki/view/PyDocs PyDocs}}&lt;br /&gt;
|}&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=&amp;quot;33%&amp;quot; align=&amp;quot;center&amp;quot; | {{Main page icon|image=501159.png‎‎|link=JSON-RPC API}}&lt;br /&gt;
| width=&amp;quot;33%&amp;quot; align=&amp;quot;center&amp;quot; | {{Main page icon|image=Helix2.png‎|link=Helix API changes}}&lt;br /&gt;
| width=&amp;quot;33%&amp;quot; align=&amp;quot;center&amp;quot; | {{Main page icon|image=Apps-Brackets-B-icon.png‎|link=List of built-in functions}}&lt;br /&gt;
|}&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=&amp;quot;33%&amp;quot; align=&amp;quot;center&amp;quot; | {{Main page icon|image=Eclipse_ide_icon_by_necromod-d5lt9zc.png‎|link=HOW-TO:Debug_Python_Scripts_with_Eclipse|title=Debugging with Eclipse}}&lt;br /&gt;
| width=&amp;quot;33%&amp;quot; align=&amp;quot;center&amp;quot; | {{Main page icon|image=winpdb.png‎|link=HOW-TO:Debug python scripts with WinPDB|title=Debugging with WinPDB}}&lt;br /&gt;
| width=&amp;quot;33%&amp;quot; align=&amp;quot;center&amp;quot; | {{Main page icon|image=Unicode icon.jpg|link=Add-on unicode paths}}&lt;br /&gt;
|}&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=&amp;quot;33%&amp;quot; align=&amp;quot;center&amp;quot; | {{Main page icon|image=shopping-list-generator-icon.png‎|link=InfoLabels|title=List of info labels}}&lt;br /&gt;
| width=&amp;quot;33%&amp;quot; align=&amp;quot;center&amp;quot; | {{Main page icon|image=Windowsicon.png‎‎|link=Window IDs|title=List of window IDs}}&lt;br /&gt;
| width=&amp;quot;33%&amp;quot; align=&amp;quot;center&amp;quot; | {{Main page icon|image=Boolean_operation_icon.jpg‎|link=List of boolean conditions}}&lt;br /&gt;
|}&lt;br /&gt;
----&lt;br /&gt;
{{huge|&#039;&#039;&#039;{{color|black|Publishing}}&#039;&#039;&#039;}}&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=&amp;quot;33%&amp;quot; align=&amp;quot;center&amp;quot; | {{Main page icon|image=Upload-128.png|link=Submitting Add-ons}}&lt;br /&gt;
| width=&amp;quot;33%&amp;quot; align=&amp;quot;center&amp;quot; | {{Main page icon|image=Thumbs up font awesome.png‎|link=Add-on Rules}}&lt;br /&gt;
|}&lt;br /&gt;
----&lt;br /&gt;
{{huge|&#039;&#039;&#039;{{color|black|Repositories}}&#039;&#039;&#039;}}&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=&amp;quot;33%&amp;quot; align=&amp;quot;center&amp;quot; | {{Main page icon|image=Thumbnail-symbol-transparent.png|link=Official_add-on_repository|title=Official Add-on Repository}}&lt;br /&gt;
| width=&amp;quot;33%&amp;quot; align=&amp;quot;center&amp;quot; | {{Main page icon|image=Zappy.png|link=Add-on Website}}&lt;br /&gt;
| width=&amp;quot;33%&amp;quot; align=&amp;quot;center&amp;quot; | {{Main page icon|image=Box_icon.png‎|link=Unofficial add-on repositories|title=Third-party Add-on Repositories}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Add-on development|*]]&lt;/div&gt;</summary>
		<author><name>Martijn</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Add-on_rules&amp;diff=124456</id>
		<title>Add-on rules</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Add-on_rules&amp;diff=124456"/>
		<updated>2016-09-24T10:11:51Z</updated>

		<summary type="html">&lt;p&gt;Martijn: /* General requirements */ allow 512x512 icons&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav|[[Development]]|[[Add-on development]]}}&lt;br /&gt;
&lt;br /&gt;
=== Repository Submission Guidelines - Please Read Before Submitting Your Addon ===&lt;br /&gt;
&lt;br /&gt;
Inclusion in the Kodi.org repository is at the sole discretion of Team Kodi. Because maintaining such a large repository is a large task, we have set some guidelines for inclusion. Please ensure that these guidelines are met before submitting request to be added.&lt;br /&gt;
In order to be considered for the official repository, the following guidelines must be met:&lt;br /&gt;
* All add-ons must be developed as described on the [[Add-on development]] page.&lt;br /&gt;
* You &#039;&#039;must&#039;&#039; include a license file (named LICENSE.txt). We recommend the [http://creativecommons.org/choose/non-web-popup?license_code=by-sa&amp;amp;jurisdiction=&amp;amp;version=3.0&amp;amp;lang=en CC-BY-SA 3.0] for skins and the [http://www.gnu.org/licenses/gpl-howto.html GPL v2+] for others, but most copy left licenses will suffice. Please investigate which license suits your needs and you fully understand the contents.&lt;br /&gt;
* All files must be free and legal to distribute.&lt;br /&gt;
* The add-on must not violate any known copyright laws - if in doubt, let us know and we&#039;ll look into it for you.&lt;br /&gt;
* All source files must be included. No pre-compiled files will be allowed.&lt;br /&gt;
* You acknowledge that you are the maintainer of your add-on.&lt;br /&gt;
* Team-Kodi reserves the right to update or remove it at any time as we deem necessary.&lt;br /&gt;
* If a new stable Kodi is going to be released no new submissions are accepted to the repository for the previous version. This will start from when the first [http://en.wikipedia.org/wiki/Release_candidate#Release_candidate release candidate (RC)] of the new version is released. Only fixes and updates will be accepted and processed for the previous version (e.g. if the current stable is 13.x, no updates are allowed for 11.x any more). See: [[Submitting Add-ons#Allowed submissions|Allowed submissions]]&lt;br /&gt;
* Monetization of add-ons (for instance advertising or paid subscriptions) will not be allowed. We can make an exception in case you own the copyright for the content the add-on provides. Please contact us on the forum (or add-on mailing list) if you believe such an exception may apply to your add-on.&lt;br /&gt;
* All xbmc.python.module addons must be used by at least one other add-on in official repository.&lt;br /&gt;
&lt;br /&gt;
=== Updates ===&lt;br /&gt;
Keep in mind that add-ons in the official repository should be considered &#039;&#039;stable&#039;&#039;. This means that they should be well-tested before you submit them for inclusion.&lt;br /&gt;
Because they are for stable users, they should avoid being updated too often. Too often is of course subjective. If your add-on is in rapid development, and features are constantly being added, hold off until you have hit a good stopping point and &#039;&#039;tested&#039;&#039; the current version.&lt;br /&gt;
&lt;br /&gt;
This means that you should &#039;&#039;not&#039;&#039; submit a request every time you change your code. If you are submitting updates more than once per week something is wrong. Once or twice per month is probably a better goal, barring unforeseen conditions (like a content source changing its paths). With good reasons provided we will of course make exceptions as we strive to prove the best user experience.&lt;br /&gt;
&lt;br /&gt;
=== General requirements ===&lt;br /&gt;
Here&#039;s a list of what basic sanity checks are done by repository maintainer on each submission.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Basic file checks:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* all strings used by add-ons must be localized, no hard-coded language strings should ever be used&lt;br /&gt;
* all paths should be treated as case-sensitive, so that they work on all OSs and file systems.&lt;br /&gt;
* all paths and files should be lower-case due to the previous point&lt;br /&gt;
** exceptions are README, COPYING, LICENSE.txt that should be upper-case and the &amp;quot;Default&amp;quot; directory in &amp;lt;tt&amp;gt;resources/skins&amp;lt;/tt&amp;gt;, for add-ons that need it.&lt;br /&gt;
* exception are the translation Language folders with should be first letter capitalised.&lt;br /&gt;
* the following file-types are not allowed: .so .dll .pyo .exe .xbt .xpr Thumbs.db and so on&amp;lt;any binary files&amp;gt;&lt;br /&gt;
* all text files should use UNIX end-of-line&lt;br /&gt;
* all .xml files must pass xml validation&lt;br /&gt;
* all .xml files must have xml declaration as header&lt;br /&gt;
* all .xml/.txt must have unix style EOL&#039;s&lt;br /&gt;
* don&#039;t use a BOM at the start of your files&lt;br /&gt;
* file permissions: files should not be marked as executable&lt;br /&gt;
* filenames must have correct encoding (for skins: check your studio logos for corrupt filenames)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Things that must be included:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*  [[Add-on structure#addon.xml|addon.xml]] must contain correct and valid info / version&lt;br /&gt;
*  [[Add-on structure#icon.png|icon.png]] must be present (256x256) or (512x512)&lt;br /&gt;
*  [[Add-on structure#fanart.jpg|fanart.jpg]] must be present (1280x720 or 1920x1080)&lt;br /&gt;
*  [[Add-on structure#LICENSE.txt|LICENCE.txt]] must be present&lt;br /&gt;
*  [[Add-on structure#changelog.txt|changelog.txt]] must be present&lt;br /&gt;
*: start with last changes at top of the file&lt;br /&gt;
{{See also|Add-on_structure}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Things that can&#039;t be included:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* no .xbt files (these will be generated by our repository)&lt;br /&gt;
* no other add-ons included  (skinners: if you need a script, submit it separately and depend on it)&lt;br /&gt;
* don&#039;t include unneeded files (.pdf, .doc, thumbs.db, etc...)&lt;br /&gt;
* no licensed fonts / background images / anything&lt;br /&gt;
&lt;br /&gt;
=== Requirements for skins ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Basic checks:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* The file size must be sane. There is no hard limit, but a 100mb skin is pushing it.&lt;br /&gt;
* No mods. Mods are great, and pop up frequently in the forums. But they are only confusing to non-forum-goers. This can be vague, each is evaluated on its own merit. By naming your &amp;quot;mod&amp;quot; different and make it substantial different enough, we will of course take it in consideration.&lt;br /&gt;
* Due to a bug in TexturePacker, all graphics files should have a resolution of at least 4x4.&lt;br /&gt;
* themes must be in a subfolder of the themes/ folder in the skin root (eg. skin.foo/themes/blue/&amp;lt;files&amp;gt;). The .xbt file will be created by our repo backend.&lt;br /&gt;
* If you want to have some images outside of Textures.xbt, then make sure you place those images outside of the media/ folder and reference them using special://skin/backdrops/* or similar.  This is most useful for backgrounds - it keeps the size of the packed textures down.  Any images you have in the media/ folder will be placed in Textures.xbt in the official repository.&lt;br /&gt;
* Please be careful with addon dependencies. Only add dependencies that are needed for the skin to function properly.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Things that must be included:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* _screenshots folder must be present, containing max. 10 .jpg screenshots (1280x720) with a reasonable file size.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Code checks:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* all labels must be localized&lt;br /&gt;
* code should be case-sensitive&lt;br /&gt;
* skins should not create warning/errors in the logfile, this can be a lot of things:&lt;br /&gt;
:* invalid includes&lt;br /&gt;
:* undefined actions&lt;br /&gt;
:* unable to evaluate condition&lt;br /&gt;
:* undefined vars&lt;br /&gt;
:* can&#039;t focus &#039;id&#039;&lt;br /&gt;
&lt;br /&gt;
{{Note|This of course also applies to script add-ons that use skin files}}&lt;br /&gt;
&lt;br /&gt;
==== Optional support ====&lt;br /&gt;
&lt;br /&gt;
This is optional and should not block inclusion in official repo.&lt;br /&gt;
&lt;br /&gt;
* mouse support&lt;br /&gt;
* touchscreen support&lt;br /&gt;
* peripheral dialogs&lt;br /&gt;
* PVR support&lt;br /&gt;
* ADSP support&lt;br /&gt;
* RDS support&lt;br /&gt;
&lt;br /&gt;
=== Requirements for scripts and plugins ===&lt;br /&gt;
&lt;br /&gt;
* all special:// paths should be translated using xbmc.translatePath(&amp;quot;special://foo/bar&amp;quot;)&lt;br /&gt;
* xbmc.translatePath(xbmcaddon.Addon().getAddonInfo(&#039;path&#039;)).decode(&#039;utf-8&#039;) should be used for files included with the add-on&lt;br /&gt;
* xbmc.translatePath(xbmcaddon.Addon().getAddonInfo(&#039;profile&#039;)).decode(&#039;utf-8&#039;) should be used for storing add-on related files&lt;br /&gt;
* direct access to the Kodi database is &#039;&#039;&#039;not&#039;&#039;&#039; allowed. You must use [[JSON RPC]] for this.&lt;br /&gt;
* directly using analytics (Google Analytics for example) from within add-ons is not allowed. This should be handled server side by using user-agent.&lt;br /&gt;
* addons should use the xbmc.log() method to write to the logfile and use the debug logging level only. print statements should not be used. &lt;br /&gt;
* add-ons should store all their data in their own subfolder inside the addon_data directory. Access (read/write/delete) to any other files / folders is not allowed by default.&lt;br /&gt;
&#039;&#039;Exceptions to this rule may be granted in specific cases only. Please contact Team XBMC&#039;s add-on repository maintainers via the add-on mailing list if your add-on needs access to such files.&#039;&#039;&lt;br /&gt;
In case we grant such an exception for your addon, access (read/write/delete) to other files/directories must be opt-in by the user, and be clear for the user to understand what is being accessed. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Things that shouldn&#039;t be included:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* _screenshots folder (only in remote cases it could have some added value)&lt;br /&gt;
&lt;br /&gt;
=== Requirements for scrapers ===&lt;br /&gt;
* scraper must return the following minimum information: movie title, year, plot, cast, poster, fanart&lt;br /&gt;
* use &#039;chain function&#039; for calling functions in common scrapers&lt;br /&gt;
* remove the deprecated XML tags from the scraper header in case you use a scraper editor made for pre-Dharma versions of XBMC&lt;br /&gt;
&lt;br /&gt;
[[Category:Add-on development]]&lt;br /&gt;
[[Category:Team Kodi specific notes]]&lt;/div&gt;</summary>
		<author><name>Martijn</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Archive:Team_Kodi/Members&amp;diff=124448</id>
		<title>Archive:Team Kodi/Members</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Archive:Team_Kodi/Members&amp;diff=124448"/>
		<updated>2016-09-23T21:40:42Z</updated>

		<summary type="html">&lt;p&gt;Martijn: /* Project Managers */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav|[[Team Kodi]]}}&lt;br /&gt;
{{notice|&#039;&#039;&#039;PLEASE DON&#039;T E-MAIL OR PM ANYONE DIRECTLY ABOUT SUPPORT! INSTEAD USE THE COMMUNITY FORUM OR IRC-CHANNELS!&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section begin=intro /&amp;gt;Team Kodi is the formal group of people who develop and maintain [[Kodi]], the [http://kodi.tv Kodi websites], and/or other supporting roles.&amp;lt;section end=intro /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;This list is likely incomplete, so give us a nudge if we forgot you&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
{{warning|This is probably very outdated... We&#039;re working on a better way to list active members. If you see anything wrong on this page them please poke a team member about it (or just Ned).}}&lt;br /&gt;
{{TOCright}}&lt;br /&gt;
= Active members =&lt;br /&gt;
&lt;br /&gt;
== XBMC Foundation Voting Board Members and Non-Voting Officers ==&lt;br /&gt;
{{Main|XBMC Foundation}}&lt;br /&gt;
{{#lst:XBMC Foundation|intro}}&lt;br /&gt;
{{#lst:XBMC Foundation|Foundation members}}&lt;br /&gt;
&lt;br /&gt;
== Project Managers ==&lt;br /&gt;
* [[User:Pike|Pike]] - The Bossman&lt;br /&gt;
* [[User:Natethomas|Natethomas]] - Community Manager&lt;br /&gt;
* [[User:Martijn|Martijn]] - Project/Release Manager&lt;br /&gt;
&lt;br /&gt;
== Developers (General) ==&lt;br /&gt;
* abelier - video decoding&lt;br /&gt;
* [[User:alanwww1|alanwww1]] - Translations, Intel related stuff&lt;br /&gt;
* [[User:Alcoheca|Alcoheca]]&lt;br /&gt;
* [[User:Alwinus|Alwinus]] - C++ add-on systems&lt;br /&gt;
* [[User:amet|amet]]&lt;br /&gt;
* [[User:Anssi|Anssi]]&lt;br /&gt;
* [[User:Arnova|Arnova]] - Curl/webdav filesystem(s), general bug fixes&lt;br /&gt;
* [[User:bobo1on1|bobo1on1]] - Video Playback, General Bugfixes&lt;br /&gt;
* [[User:Chadoe|Chadoe]] - general bug fixes&lt;br /&gt;
* [[User:opdenkamp|opdenkamp]] - PVR, EPG&lt;br /&gt;
* [[User:dteirney|dteirney]] - MythTV Integration&lt;br /&gt;
* [[User:elupus|elupus]] - Kodi video player (DVDPlayer) god&lt;br /&gt;
* [[User:firnsy|firnsy]] - Database&lt;br /&gt;
* [[User:Fneufneu|Fneufneu]] - BSD Developer&lt;br /&gt;
* [[User:freezy|freezy]] - Android Remote Developer&lt;br /&gt;
* [[User:garbear|garbear]]&lt;br /&gt;
* [[User:gnif|gnif]] - Audio, Audio Engine&lt;br /&gt;
* [[User:jfcarroll|jfcarroll]] - swig integration, binary addon developer&lt;br /&gt;
* [[User:Jmarshall|Jmarshall]] - Jedi-Master&lt;br /&gt;
* JoeTheFox - iPhone Remote Developer&lt;br /&gt;
* [[User:Malard|Malard]] - Web&lt;br /&gt;
* [[User:Memphiz|Memphiz]] - vfs, zeroconf, AirPlay and general stuff&lt;br /&gt;
* [[User:Montellese|Montellese]] - JSONRPC&lt;br /&gt;
* night199uk - Music library&lt;br /&gt;
* [[User:olympia|olympia]] - scraper developer/repo maintainer&lt;br /&gt;
* [[User:phi2039|phi2039]] - Audio, Assembly, and anything that sounds like it might be challenging...&lt;br /&gt;
* [[User:pieh|pieh]] - General code tinkering&lt;br /&gt;
* [[User:taxigps|taxigps]]&lt;br /&gt;
* [[User:Topfs2|Topfs2]] - JSONRPC, ARM, power, storage, dbus&lt;br /&gt;
* [[User:the_alien|the_alien]] - Android Remote Developer&lt;br /&gt;
* [[User:VDRfan|VDRfan]] - General&lt;br /&gt;
* [[User:Herrnst|Herrnst]] - LCD display coding&lt;br /&gt;
* [[User:Voyager|Voyager]] - hunting bugs in library, dvdplayer etc.&lt;br /&gt;
* [[User:ulion|ulion]]&lt;br /&gt;
&lt;br /&gt;
== Developers (Linux) ==&lt;br /&gt;
* [[User:AlTheKiller|AlTheKiller]]&lt;br /&gt;
* [[User:Amejia|Amejia]] - Debian, etc.&lt;br /&gt;
* [[User:Anssi|Anssi]]&lt;br /&gt;
* [[User:Arnova|Arnova]]&lt;br /&gt;
* [[User:bobo1on1|bobo1on1]]&lt;br /&gt;
* [[User:opdenkamp|opdenkamp]]&lt;br /&gt;
* [[User:Erhnam|Erhnam]] - XBMCFreak creater, Live Distro developer&lt;br /&gt;
* [[User:firnsy|firnsy]]&lt;br /&gt;
* [[User:l.capriotti|l.capriotti]] - LiveUSB Distro&lt;br /&gt;
* [[User:malloc|malloc]]&lt;br /&gt;
* [[User:monkeyman 67156|monkeyman 67156]]&lt;br /&gt;
* [[User:Phaeodaria|Phaeodaria]]&lt;br /&gt;
* [[User:sraue|sraue]] - OpenELEC.tv Developer&lt;br /&gt;
* [[User:Topfs2|Topfs2]]&lt;br /&gt;
* [[User:VDRfan|VDRfan]]&lt;br /&gt;
* [[User:FernetMenta|FernetMenta]] linux, video, windowing, pvr etc developer&lt;br /&gt;
* [[User:wsnipex|wsnipex]] Linux PPA&lt;br /&gt;
* [[User:fritsch|fritsch]] Linux, ActiveAE, Pulseaudio, VAAPI, User Support, OpenELEC&lt;br /&gt;
&lt;br /&gt;
== Developers (Mac and iOS) ==&lt;br /&gt;
* [[User:Beenje|Beenje]] - PowerPC (PPC) specialist&lt;br /&gt;
* [[User:davilla|davilla]]&lt;br /&gt;
* [[User:Jmarshall|Jmarshall]]&lt;br /&gt;
* [[User:Memphiz|Memphiz]] - dark side padawan&lt;br /&gt;
* [[User:ulion|ulion]]&lt;br /&gt;
&lt;br /&gt;
== Developers (Windows) ==&lt;br /&gt;
* [[User:a11599|a11599]] - primarily windows video and dxva&lt;br /&gt;
* [[User:blinkseb|blinkseb]]&lt;br /&gt;
* [[User:bobo1on1|bobo1on1]]&lt;br /&gt;
* [[User:Chadoe|Chadoe]]&lt;br /&gt;
* [[User:CrystalP|CrystalP]]&lt;br /&gt;
* [[User:jhsrennie|jhsrennie]]&lt;br /&gt;
* [[User:Jmarshall|Jmarshall]]&lt;br /&gt;
* [[User:tiben20|tiben20]] - butcher by day, coder by night&lt;br /&gt;
* [[User:WiSo|WiSo (aka wsoltys)]]&lt;br /&gt;
* [[User:DDDamian|DDDamian]]&lt;br /&gt;
* [[User:DanielaE|DanielaE]]&lt;br /&gt;
* [[User:Voyager|Voyager]] - general Windows, hunting bugs in library, dvdplayer etc.&lt;br /&gt;
* [[User:Koying|Koying]] Windows, Android, mysql&lt;br /&gt;
&lt;br /&gt;
== Developers (ARM) ==&lt;br /&gt;
* [[User:McGeagh|McGeagh]]&lt;br /&gt;
* [[User:Phaeodaria|Phaeodaria]]&lt;br /&gt;
* [[User:Topfs2|Topfs2]]&lt;br /&gt;
&lt;br /&gt;
== Skinners / Graphic-artists ==&lt;br /&gt;
* [[User:BigNoid|BigNoid]] - skins&lt;br /&gt;
* [[User:da-anda|da-anda]] - graphics&lt;br /&gt;
* [[User:freezy|freezy]] - Lead dev of the official XBMC Remote for Android&lt;br /&gt;
* [[User:Hitcher|Hitcher]] - skins&lt;br /&gt;
* [[User:phil65|phil65]] - skins&lt;br /&gt;
* [[User:Piers|Piers]] - skins&lt;br /&gt;
* [[User:ronie|ronie]] - skins&lt;br /&gt;
&lt;br /&gt;
== Addon Developers ==&lt;br /&gt;
* [[User:Clumsy|Clumsy]]&lt;br /&gt;
* [[User:opdenkamp|opdenkamp]] - PVR, EPG&lt;br /&gt;
* [[User:Jmarshall|Jmarshall]] - on an as-needed basis&lt;br /&gt;
* [[User:Martijn|Martijn]] - python addons&lt;br /&gt;
* [[User:ronie|ronie]] - python addons&lt;br /&gt;
&lt;br /&gt;
== Q/A Testers ==&lt;br /&gt;
* [[User:keith|keith]] - QA for iOS and OSX projects&lt;br /&gt;
* [[User:kricker|kricker]]&lt;br /&gt;
* [[User:alanwww1|alanwww1]] - QA for Intel HW, VAAPI&lt;br /&gt;
* [[User:Gabbott|Gabbott]]&lt;br /&gt;
* [[User:Milhouse|Milhouse]]&lt;br /&gt;
&lt;br /&gt;
== Website services ==&lt;br /&gt;
* [[User:Clumsy|Clumsy]] - Forum Moderator&lt;br /&gt;
* da-anda - Forum administration&lt;br /&gt;
* [[User:DonJ|DonJ]] - Server and Mirror Contact&lt;br /&gt;
* [[User:joebrady|joebrady]] - Forum Moderator&lt;br /&gt;
* [[User:Prae5|Prae5]] - Forum Moderator&lt;br /&gt;
* [[User:Sho|Sho]] - WIKI Structure Guru&lt;br /&gt;
* [[User:Zag|Zag]] - Add-on Frontend, Website, General Community Stuff&lt;br /&gt;
* [[User:kibje|Kib]] - Server Administrator&lt;br /&gt;
&lt;br /&gt;
= Semi-active =&lt;br /&gt;
* [[User:Gamester17|Gamester17]] - formally an active forum moderator, but he still contributes to the wiki.&lt;br /&gt;
&lt;br /&gt;
= Inactive members =&lt;br /&gt;
&lt;br /&gt;
== Project Founders (All Retired) ==&lt;br /&gt;
* [[User:Frodo|Frodo]] - now [http://www.team-mediaportal.com MediaPortal] head programmer/founder&lt;br /&gt;
* [[User:RUNTiME|RUNTiME]] - now [http://www.runtime360.com runtime360.com] &amp;amp; [http://www.runtime360.com/projects/transcode-360/ Transcode 360]&lt;br /&gt;
* [[User:d7o3g4q|d7o3g4q (a.k.a. Duo Egaq)]] M.I.A. (Missing In Action)&lt;br /&gt;
&lt;br /&gt;
== Developers (Currently Inactive or Retired) ==&lt;br /&gt;
* [[User:AlTheKiller|AlTheKiller]]&lt;br /&gt;
* [[User:davilla|davilla]]&lt;br /&gt;
* [[User:MaestroDD|MaestroDD]] - Mac OS X, and Apple TV&lt;br /&gt;
* [[User:wattazoum|wattazoum]] - Kodi for Linux packaging specialist&lt;br /&gt;
* [[User:AreaScout|AreaScout]]&lt;br /&gt;
* [[User:oldnemesis|oldnemesis]]&lt;br /&gt;
* [[User:motd2k|motd2k]]&lt;br /&gt;
* [[User:Rudd|Rudd]]&lt;br /&gt;
* [[User:Kraqh3d|Kraqh3d]]&lt;br /&gt;
* [[User:C-Quel|C-Quel]]&lt;br /&gt;
* [[User:Agathorn|Agathorn]]&lt;br /&gt;
* [[User:Tut-ankh-amon|tut-ankh-amon]]&lt;br /&gt;
* [[User:nad|nad]] - [[WebServerHTTP-API|Kodi HTTP API Mastermind]]&lt;br /&gt;
* [[User:MrC|MrC]] - Kodi Visualisation/Screensaver Mastermind&lt;br /&gt;
* [[User:c0diq|c0diq]] - UPnP (Universial Plug And Play) Mastermind&lt;br /&gt;
* [[User:Yuvalt|Yuvalt]] - Kodi Linux port specialist&lt;br /&gt;
* [[User:Vulkanr|Vulkanr]] - Kodi Linux and Mac port specialist&lt;br /&gt;
* [[User:D4rk|D4rk]] - Kodi Linux and Mac port specialist&lt;br /&gt;
* [[User:Bobbin007|Bobbin007]]&lt;br /&gt;
* [[User:Tslayer|Tslayer]]&lt;br /&gt;
* [[User:GeminiServer|GeminiServer]] - Low-level Hardware Guru&lt;br /&gt;
* [[User:Darkie|Darkie]]&lt;br /&gt;
* [[User:Forza|Forza]] - M.I.A. (Missing In Action)&lt;br /&gt;
* [[User:Butcher|Butcher]]&lt;br /&gt;
* [[User:Ysbox|Ysbox]]&lt;br /&gt;
* [[User:Guybrush|Guybrush]] - M.I.A. (Missing In Action)&lt;br /&gt;
* [[User:Kreet|Kreet]] - M.I.A. (Missing In Action)&lt;br /&gt;
* [[User:monkeyhappy|monkeyhappy]] - M.I.A. (Missing In Action)&lt;br /&gt;
* [[User:elan|elan (a.k.a. leafmuncher)]] - Kodi for Mac port specialist&lt;br /&gt;
* [[User:LiquidIce629|LiquidIce629]] - [[The Web Interface|Kodi Web GUI control-interface]] ([http://www.cliqklabs.com/xbmcwebgui/ Website])&lt;br /&gt;
* [[User:Spiff|Spiff]]&lt;br /&gt;
* [[User:theuni|theuni]] - Business Relation Manager&lt;br /&gt;
&lt;br /&gt;
== Skinners / Graphic-artists (Retired) ==&lt;br /&gt;
* [[User:CHI3f|CHI3f]] - XML Guru and all round Good Guy&lt;br /&gt;
* [[User:Chokemaniac|ChokeManiac]] - Project Mayhem&lt;br /&gt;
* [[User:Jezz_X|Jezz_X]] - Team skinner &amp;amp; Project Manager of the [http://sourceforge.net/projects/xboxmediacenter Kodi Skinning Project]&lt;br /&gt;
* [[User:SmokeHead|SmokeHead]] - Photoshop Guru (Missing In Action)&lt;br /&gt;
* [[User:tree_jammer|tree_jammer]] - graphics&lt;br /&gt;
&lt;br /&gt;
== Python Scripters (Retired/Inactive) ==&lt;br /&gt;
* [[User:Voinage|Voinage]] - Python Plugin coder&lt;br /&gt;
* [[User:rwparris2|rwparris2]] - Python Plugin coder&lt;br /&gt;
* [[User:Nuka1195|Nuka1195]] - Python Script coder&lt;br /&gt;
&lt;br /&gt;
== Web Services (Retired/Inactive) ==&lt;br /&gt;
* [[User:Granqvist|Granqvist]] - Web Developer&lt;br /&gt;
* [[User:blittan|blittan]] - Web and Python Developer&lt;br /&gt;
&lt;br /&gt;
== Testers (Retired/Inactive) ==&lt;br /&gt;
* [[User:DDay|DDay]] - [http://forums.xbox-scene.com/index.php?showforum=180 Xbox-Scene.com Forum Mod God]&lt;br /&gt;
* [[User:TeknoJuce|TeknoJuce]] CrAzY Canuck&lt;br /&gt;
* [[User:Modhack|Modhack]] - French Guru [http://manuel.xboxmediacenter.fr .fr manuel]&lt;br /&gt;
* [[User:Donno|Donno]] - 1337 d00d&lt;br /&gt;
* [[User:SandmanCL|SandmanCL]] - Quality Assurance&lt;br /&gt;
* [[User:ShortySco|ShortySco]] - Quality Assurance&lt;br /&gt;
* [[User:Scape|sCAPe]] - Beta-Tester&lt;br /&gt;
&lt;br /&gt;
== #Kodi (FreeNode) IRC Support ==&lt;br /&gt;
* [[User:Bizzeh|Bizzeh]] - Mr. Hater (&amp;quot;I want to be in all sections&amp;quot;) ([http://www.bizzeh.com Blog])&lt;br /&gt;
* [[User:Cocoliso|Cocoliso]] - Spanish&lt;br /&gt;
* [[User:DOS4GW|DOS4GW]] - Multi-lingual&lt;br /&gt;
* [[User:Jedi79|Jedi79]]&lt;br /&gt;
* [[User:MattAAron|MattAAron]]&lt;br /&gt;
* [[User:No1CaNTeL|No1CaNTeL]]&lt;br /&gt;
* [[User:xLoial|xLoial]] - Seasoned newbie&lt;br /&gt;
&lt;br /&gt;
== Forum and Online Manual (WIKI) Moderators (Retired/Inactive) ==&lt;br /&gt;
* [[User:Dankula|Dankula]] - WIKI Editor&lt;br /&gt;
* [[User:Loto_Bak|Loto_Bak]] - Al&#039;round support man&lt;br /&gt;
* [[User:nimbles|nimbles]]&lt;br /&gt;
* [[User:No_Good|No Good]]&lt;br /&gt;
&lt;br /&gt;
= Other =&lt;br /&gt;
* [[User:Ned Scott|Ned Scott]] - No longer formerly apart of Team Kodi, but still maintains the official Kodi wiki. &lt;br /&gt;
&lt;br /&gt;
[[Category:Team Kodi]]&lt;br /&gt;
[[Category:Team Kodi specific notes]]&lt;/div&gt;</summary>
		<author><name>Martijn</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Supported_hardware&amp;diff=124059</id>
		<title>Supported hardware</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Supported_hardware&amp;diff=124059"/>
		<updated>2016-08-24T16:08:31Z</updated>

		<summary type="html">&lt;p&gt;Martijn: /* Windows */ Previous text was not correct&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav|[[General topics]]{{l2|[[Hardware]]}}|[[Installing]]}}&lt;br /&gt;
{{see also|Devices and hardware}}&lt;br /&gt;
{{forum link2|1=Want to discuss or ask about what hardware is good for Kodi? Check out the [http://forum.kodi.tv/forumdisplay.php?fid=112 Hardware for Kodi subforum]}}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;intro&amp;quot; /&amp;gt;Kodi is officially supported on a number of operating systems and hardware devices that are designed to be connected directly to a TV. Kodi runs well on what are relatively &amp;quot;underpowered&amp;quot; systems, thanks to hardware video decoding being common on nearly all supported platforms. These requirements don&#039;t include what might be required for some &amp;quot;advanced&amp;quot; features, such as PVR, which might require additional hardware. &amp;lt;section end=&amp;quot;intro&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Supported hardware by OS =&lt;br /&gt;
== Android ==&lt;br /&gt;
{{see also|Android|Android hardware}}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;Android&amp;quot; /&amp;gt;{{Warning|It is highly recommended for users to not make any purchases in anticipation of running Kodi on Android without first researching the device you want to buy. Before you do buy, make sure multiple people have verified that it works! &amp;lt;big&amp;gt;&amp;lt;u&amp;gt;&#039;&#039;&#039;&#039;&#039;If in doubt, do not buy that hardware!&#039;&#039;&#039;&#039;&#039;&amp;lt;/u&amp;gt;&amp;lt;/big&amp;gt;}}&lt;br /&gt;
* Kodi v16 requires Android 4.2 (Android 5.0 or later is recommended).&lt;br /&gt;
* {{future note|17|Kodi v17 will require Android 5.0 or higher}}.&lt;br /&gt;
* x86 (Intel) or NEON compatible ARM processor, (for example: Nvidia Tegra 3 and newer are fully supported by Kodi, while Tegra 2 and older are not).&lt;br /&gt;
* The main aim for the Android port of Kodi is to foremost target media-players/set-top-boxes/sticks that connect to a large screen television and uses a standard remote control as its main interface device, (that is the same market as for HTPC).&amp;lt;section end=&amp;quot;Android&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== iOS ==&lt;br /&gt;
{{see also|iOS}}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;iOS&amp;quot; /&amp;gt;&lt;br /&gt;
=== ATV2 ===&lt;br /&gt;
&amp;lt;section begin=&amp;quot;ATV2&amp;quot; /&amp;gt;&lt;br /&gt;
* As of v15.0, Kodi no longer supports the Apple TV 2.&amp;lt;section end=&amp;quot;ATV2&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== iDevices ===&lt;br /&gt;
&amp;lt;section begin=iDevices /&amp;gt;*To &#039;&#039;&#039;[[HOW-TO:Install Kodi for iOS|install Kodi for iOS]]&#039;&#039;&#039; you must have one of the following:&lt;br /&gt;
** a jailbroken [[w:iDevice|iDevice]] running iOS 5.1.1 or higher&lt;br /&gt;
** a normal iDevice running iOS 5.1.1 or higher and a Mac running Xcode 7 and higher&lt;br /&gt;
* For hardware: iPad (1,2,3,4), iPad Air (1,2), iPad Mini (1,2,3), iPhone (4, 4s, 5, 5c, 5s, 6, 6+, 6s, 6s+), iPod touch (4, 5, 6).&amp;lt;section end=iDevices /&amp;gt;&lt;br /&gt;
&amp;lt;section end=&amp;quot;iOS&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Linux ==&lt;br /&gt;
{{See also|Linux}}&lt;br /&gt;
=== Desktop ===&lt;br /&gt;
&amp;lt;section begin=&amp;quot;Linux&amp;quot; /&amp;gt;&lt;br /&gt;
{{Note|Although Ubuntu 12.04 LTS is still being maintained by Canonical, Team Kodi no longer provides binaries for it. Kodi v15 for Ubuntu requires at least Ubuntu 14.04/15.04.}}&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot; style=&amp;quot;background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
! CPU&lt;br /&gt;
| x86 or x86-64 processor such as: Intel Pentium 4/ Pentium M, AMD Athlon 64 / Opteron, or newer CPU (that support [[w:Streaming SIMD Extensions|SSE2]], which all CPUs made within the last 10-years does).&lt;br /&gt;
* If your GPU/VPU does not support hardware video decoding then you will require a fast modern processor is required to decode some 1080p videos encoded in H.264, VC-1/WMV9, HEVC/H.265 VP9, etc&lt;br /&gt;
* There is &#039;&#039;very&#039;&#039; limited Power PC (PPC) support: [[forum:173287|[Linux] How to install on Linux-ppc]]&lt;br /&gt;
|-&lt;br /&gt;
! RAM&lt;br /&gt;
|&lt;br /&gt;
* &#039;&#039;&#039;Recommended:&#039;&#039;&#039; 1GB or more in a HTPC media player appliance-like computer dedicated for Kodi, and 2GB or more in a computer for multipurpose use.&lt;br /&gt;
|-&lt;br /&gt;
! Graphics&lt;br /&gt;
|&lt;br /&gt;
Kodi will run on most graphics cards made within the last 10-years or so, though for good hardware video decoding support a little newer graphics cards can be required. This includes most cards from AMD/ATI, Intel, or NVIDIA which support OpenGL 2.0 or later.&lt;br /&gt;
{| class=&amp;quot;datatable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! !! ATI !! Intel !! Nvidia&lt;br /&gt;
|- &lt;br /&gt;
| &#039;&#039;&#039;Minimum without HW decoding:&#039;&#039;&#039; || [[w:Radeon|ATI Radeon RV710/M92 (HD 4300/4500)]] [[w:Unified Video Decoder#UVD enabled GPUs|Note: These are uvd2.2 cards]] || [[w:Intel GMA|Intel GMA 950 (945G)]] || [[w:GeForce|Nvidia GeForce 6-Series]]&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Minimum for HW decoding of 8-bit H.264 and VC-1:&#039;&#039;&#039; || [[w:Radeon|AMD/ATI Radeon HD 5000 Series]] or newer || [[w:Intel GMA|Intel GMA X4500HD (G45)]] or newer || [[w:GeForce|Nvidia GeForce 8-Series]] or newer&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Minimum for HW decoding of 10-bit HEVC (H.265) and VP9:&#039;&#039;&#039; || TBA: [[w:Radeon|AMD Radeon R9 300 Series (R9 380)]] or newer || TBA: [[w:Intel HD and Iris Graphics#Skylake|Intel HD 510 (Skylake)]] or newer || [[w:GeForce|Nvidia GeForce 900 series (GM20x)]] or newer&lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
! Video decoding&lt;br /&gt;
| For hardware video decoding, which may be necessary on low-performance CPUs to playback 1080p content, make sure your GPU or VPU supports either VAAPI, VDPAU, or OpenMAX.&lt;br /&gt;
|-&lt;br /&gt;
! Drive space&lt;br /&gt;
| The Kodi application generally only takes up between 100 to 200 MB of space, depending on how the binary is compiled. Technically speaking, if your hardware supports netbooting, you do not even require a internal storage for either the operating-system or for Kodi.&lt;br /&gt;
* &#039;&#039;&#039;Minimum:&#039;&#039;&#039; 4 to 8GB&lt;br /&gt;
* &#039;&#039;&#039;Recommended:&#039;&#039;&#039; 16GB or more&lt;br /&gt;
: Depending on how big your video library is. Most of the space required for Kodi comes from the images/artwork cache, which can be adjusted: [[HOW-TO:Reduce disk space usage]].&lt;br /&gt;
|}&amp;lt;section end=&amp;quot;Linux&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Embedded systems (ARM/MIPS-based hardware) ===&lt;br /&gt;
Other than OpenGL ES 2.0 graphics support being a must it is very hard to generalize Kodi hardware requirements for Linux-based operating-system distributions on ARM or MIPS based embedded systems. This is partially due to most of the work in this area still being early/on-going in development. For most ARM and MIPS-based devices, hardware video decoding support will also be needed for most high-definition videos, (and possibly even some standard-definition videos). Some newer and faster high-end ARM/MIPS chipset can decode some high-definition video using software video decoding, but those encoded with the latest video codecs.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Here are a few popular embedded hardware devices that are known to work with Kodi and Linux:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;[[Raspberry Pi]]&#039;&#039;&#039; (and Raspberry Pi 2) - Hardware video decoding support for H.264, MPEG-2, and VC-1. GUI is responsive on most light skins. Official supported by many third-party JeOS (Just enough Operating System) Linux distributions made for Kodi such as [[OpenELEC]], [[GeeXboX]], [[Xbian]], and [[OSMC]]&lt;br /&gt;
* &#039;&#039;&#039;[[Cubox-i]]&#039;&#039;&#039; - Official supported by [[OpenELEC]], [[GeeXboX]], [[Xbian]], and [[OSMC]]&lt;br /&gt;
* &#039;&#039;&#039;Pandaboard&#039;&#039;&#039; - [[GeeXboX]] is a good OS/Kodi distro for this platform. Limited support, as it is generally not a development target by Team Kodi. {{editor note|need feedback on performance. A little snippet, like the one above for the R-Pi, will do}}&lt;br /&gt;
* &#039;&#039;&#039;[[APF6Dev]]&#039;&#039;&#039; - [[Buildroot]] is a good OS/Kodi distro for this platform. Based on i.MX6 chip, this platform has good Kodi support since 14.x and GUI is very responsive on most skins.&lt;br /&gt;
* &#039;&#039;&#039;Various &amp;quot;Android&amp;quot; boxes&#039;&#039;&#039; - can run reinstalled with a Linux firmware and boot directly into Kodi. Hardware video decoding for most video codecs, GUI is very responsive on most skins. Running Linux and Kodi on these &amp;quot;Android boxes&amp;quot; will likely result in better performance and enhanced playback capabilities than running Kodi under Android.&lt;br /&gt;
&lt;br /&gt;
=== JeOS implementations for Kodi ===&lt;br /&gt;
{{main|JeOS implementations for Kodi}}&lt;br /&gt;
{{#lst:JeOS implementations for Kodi|JeOS for Kodi}}&lt;br /&gt;
&lt;br /&gt;
== Mac OS X ==&lt;br /&gt;
{{see also|Mac OS X}}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;Mac OS X&amp;quot; /&amp;gt;*Kodi v15/16 requires Mac OS X 10.7 ( Lion) or later.&lt;br /&gt;
*{{future note|17|Kodi v17 will require Mac OS X 10.8 or later.}}&lt;br /&gt;
*All hardware requirements are the same as those for OS X 10.7. If your computer can run OS 10.7 or later then your hardware should work just fine with Kodi.&amp;lt;section end=&amp;quot;Mac OS X&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Windows ==&lt;br /&gt;
{{See also|Windows}}&lt;br /&gt;
{{Note|Due to changes in code it may be possible that older hardware/videocards are no longer supported. If starting of Kodi fails then try upgrading to last available drivers (or beta drivers).}}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;Windows&amp;quot; /&amp;gt;* OS minimum to run Kodi: Windows Vista.&lt;br /&gt;
* OS recommended: Windows 7 or higher, which is required for [[w:hardware video decoding|hardware video decoding]]&lt;br /&gt;
:: &#039;&#039;Windows Home Server and Windows Server are not supported but have been reported to work with some tweaks.&#039;&#039;&lt;br /&gt;
* [[w:X86|x86-based computer]]&lt;br /&gt;
*  GPU that supports at least level [[w:DirectX|DirectX version 9.0c]] and has drivers that have correctly implemented DX11 API support. This does &#039;&#039;&#039;NOT&#039;&#039;&#039; mean you need DX11!&lt;br /&gt;
&lt;br /&gt;
{{Updated|16}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Manual]]&lt;br /&gt;
[[Category:Hardware|*]]&lt;br /&gt;
[[Category:Installation]]&lt;br /&gt;
[[Category:General topics]]&lt;/div&gt;</summary>
		<author><name>Martijn</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=HOW-TO:Install_Kodi_on_Fire_TV&amp;diff=123596</id>
		<title>HOW-TO:Install Kodi on Fire TV</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=HOW-TO:Install_Kodi_on_Fire_TV&amp;diff=123596"/>
		<updated>2016-07-21T18:57:46Z</updated>

		<summary type="html">&lt;p&gt;Martijn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav| [[Amazon Fire TV]] }}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;intro&amp;quot; /&amp;gt;This page describes some of the methods to install Kodi onto an Amazon Fire TV (box) or Fire TV Stick. The Fire TV uses Kodi for [[android]] and does not require root. All Fire TV products allow sideloading, so no hacking or modification is required to install Kodi.&amp;lt;section end=&amp;quot;intro&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Enable Debugging on the Fire TV ==&lt;br /&gt;
In order to install apps from outside the Amazon app store, we need to enable these options:&lt;br /&gt;
&lt;br /&gt;
:# From the Fire TV Home screen, select &#039;&#039;&#039;Settings&#039;&#039;&#039;&lt;br /&gt;
:# Go to &#039;&#039;&#039;System&#039;&#039;&#039; -&amp;gt; &#039;&#039;&#039;Developer Options&#039;&#039;&#039;&lt;br /&gt;
:# Enable both the &#039;&#039;&#039;ADB Debugging&#039;&#039;&#039; and the &#039;&#039;&#039;Apps from Unknown Sources&#039;&#039;&#039; options.&lt;br /&gt;
:# Go to &#039;&#039;&#039;System&#039;&#039;&#039; -&amp;gt; &#039;&#039;&#039;About&#039;&#039;&#039; -&amp;gt; &#039;&#039;&#039;Network&#039;&#039;&#039;, and take note of the Fire TV&#039;s IP address&lt;br /&gt;
&lt;br /&gt;
== adbLink (Win/Mac/Linux) ==&lt;br /&gt;
{| class=&amp;quot;infobox&amp;quot;&lt;br /&gt;
| {{youtube|-hQ3e9gdsmE}}&lt;br /&gt;
|}&lt;br /&gt;
adbLink is a companion program for FireTV and Android Kodi &amp;amp; forks. It allows you to sideload Kodi (and other apps) without the bother of downloading the Android SDK and other tools. Additionally, it allows you to copy files to and from Kodi, backup Kodi, root the FireTV, mount USB drives and more.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Download website link: http://jocala.com&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tutorials for using adbLink to install Kodi:&lt;br /&gt;
&lt;br /&gt;
* http://www.tweaking4all.com/home-theatre/xbmc/kodi-on-amazon-fire-tv/&lt;br /&gt;
&lt;br /&gt;
{{-}}&lt;br /&gt;
&lt;br /&gt;
== ADB command line ==&lt;br /&gt;
These are steps to manually install Kodi using the ADB command line tool, as an alternative to using an app like adbLink.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;General Steps&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
:# Install the Android SDK for your platform: https://developer.android.com/sdk/index.html&lt;br /&gt;
:# Follow these instructions to connect ADB to your Amazon Fire TV:  https://developer.amazon.com/sdk/asb/connect-adb.html&lt;br /&gt;
:# Follow these instructions to install the Kodi app onto the Fire TV (using the ADB tool):  https://developer.amazon.com/sdk/asb/app-install.html&lt;br /&gt;
&lt;br /&gt;
=== Setup ADB on Your Host ===&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; Your host must be connected to the same network as your Fire TV.&lt;br /&gt;
&lt;br /&gt;
{{ADB setup}}&lt;br /&gt;
&lt;br /&gt;
=== Download Kodi ===&lt;br /&gt;
* Current stable version: &#039;&#039;&#039;{{current version}}&#039;&#039;&#039;&lt;br /&gt;
* Download link: &#039;&#039;&#039;{{download link|Android}}&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Install Kodi to the Fire TV ===&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; If your APK file name contains spaces, make sure you put quotes around it in the adb commands.  On OS X and Linux, you may need to prepend &amp;lt;code&amp;gt;./&amp;lt;/code&amp;gt; to the adb commands.&lt;br /&gt;
:# On your host (PC or other Android device), download your desired Kodi APK&lt;br /&gt;
:# Open a Command Prompt (Windows), Terminal (OS X/Linux), or Terminal Emulator app (Android)&lt;br /&gt;
:# Navigate (CD) to the directory with your Kodi APK (In Terminal Emulator on Android you only need to run the adb commands)&lt;br /&gt;
:# Run the following commands&lt;br /&gt;
:#:&amp;lt;code&amp;gt;&amp;gt;adb kill-server&amp;lt;/code&amp;gt;&lt;br /&gt;
:#:&amp;lt;code&amp;gt;&amp;gt;adb start-server&amp;lt;/code&amp;gt;&lt;br /&gt;
:#:&amp;lt;code&amp;gt;&amp;gt;adb connect &amp;lt;ip-address-of-fire-tv&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
:# ADB is connected when it reports the message &amp;quot;connected to &amp;lt;ip-address-of-fire-tv&amp;gt;:&amp;lt;port&amp;gt;&amp;quot;&lt;br /&gt;
:# Run one of the following commands&lt;br /&gt;
:#:&amp;lt;code&amp;gt;&amp;gt;adb install &amp;lt;apk-file-name&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
:#:(or if you are upgrading from a previous Kodi install, use this instead)&lt;br /&gt;
:#:&amp;lt;code&amp;gt;&amp;gt;adb install -r &amp;lt;apk-file-name&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
:# Installation is complete when it reports the message &amp;quot;success&amp;quot;&lt;br /&gt;
&lt;br /&gt;
(&#039;&#039;&#039;Note:&#039;&#039;&#039; For Android you need to type in the full path. e.g. &amp;gt;adb install /sdcard/Download/apk-file-name.apk)&lt;br /&gt;
&lt;br /&gt;
=== Launch Kodi on the Fire TV ===&lt;br /&gt;
:# From the Fire TV Home screen, select &#039;&#039;&#039;Settings&#039;&#039;&#039;&lt;br /&gt;
:# Select &#039;&#039;&#039;Applications&#039;&#039;&#039;&lt;br /&gt;
:# Find and select your Kodi installation (it may be named &amp;quot;Kodi&amp;quot; or &amp;quot;SPMC&amp;quot;)&lt;br /&gt;
:# Select &#039;&#039;&#039;Launch Application&#039;&#039;&#039;&lt;br /&gt;
&#039;&lt;br /&gt;
&#039;&#039;Note:&#039;&#039;&#039; Users have reported that you can [http://forum.kodi.tv/showthread.php?tid=191109&amp;amp;pid=1677974#pid1677974 autostart Kodi] after boot using an Android automation apps such as Tasker, AutomateIt, or Llama. Alternately, you can use [http://diegomejia.globat.com/android/AutoPilot.apk Autopilot] to autoboot to Kodi.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Launching Kodi from Fire TV Homescreen:&#039;&#039;&#039; You can also have Llama (and probably others) [http://forum.kodi.tv/showthread.php?tid=191109&amp;amp;pid=1721346#pid1721346 launch Kodi] when a native Fire TV app like &#039;&#039;&#039;Flixter&#039;&#039;&#039; is launched from the Fire TV homescreen.  Some apps [http://forum.kodi.tv/showthread.php?tid=191109&amp;amp;pid=1721962#pid1721962 work better] than others.&lt;br /&gt;
&lt;br /&gt;
=== Upgrading Kodi ===&lt;br /&gt;
Kodi can be upgraded through ADB without losing your settings. To do this, you must use a newer version of the package already installed on the machine.&lt;br /&gt;
:# Download the package to your machine&lt;br /&gt;
:# Make sure ADB is connected to the Fire TV&lt;br /&gt;
:# Run &amp;lt;code&amp;gt;adb install -r &amp;lt;apk-file-name&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
:# Installation is complete when it reports the message &amp;quot;Success&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Kodi will still go through the &amp;quot;first run&amp;quot; screen the first time it is launched but your settings will remain intact.&lt;br /&gt;
&lt;br /&gt;
=== Downgrading Kodi ===&lt;br /&gt;
If you wish to downgrade your version of Kodi (because you installed a test version that didn&#039;t work properly, for example) and keep your settings, the following commands will allow you to do so.&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;code&amp;gt;adb uninstall -k org.xbmc.kodi&lt;br /&gt;
: adb install &amp;lt;apk-file-name&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you are downgrading using an Android device, you will need to use the &amp;quot;shell&amp;quot; command.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;adb shell pm uninstall -k org.xbmc.kodi&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ES File Explorer  ==&lt;br /&gt;
In order to install apps from outside the Amazon app store, we need to enable these options:&lt;br /&gt;
&lt;br /&gt;
:# From the Fire TV Home screen, select &#039;&#039;&#039;Settings&#039;&#039;&#039;&lt;br /&gt;
:# Go to &#039;&#039;&#039;System&#039;&#039;&#039; -&amp;gt; &#039;&#039;&#039;Developer Options&#039;&#039;&#039;&lt;br /&gt;
:# Enable both the &#039;&#039;&#039;ADB Debugging&#039;&#039;&#039; and the &#039;&#039;&#039;Apps from Unknown Sources&#039;&#039;&#039; options.&lt;br /&gt;
:# Go to Amazon app store and download and install ES File Explorer&lt;br /&gt;
:# Open ES File Explorer and go to MySearch&lt;br /&gt;
:# Type in the address http://mirrors.kodi.tv and hot ok/search&lt;br /&gt;
:# Go to the address matching what you just typed in and open it&lt;br /&gt;
:# Once you ended up on the website where you see releases/nightlies/snapshots/addons go the bottom right and click on More..&lt;br /&gt;
:# Chose Add Bookmark and give it a name. We create a bookmark to easy navigate back to this website&lt;br /&gt;
:# Now go to releases -&amp;gt; android -&amp;gt; arm -&amp;gt; and choose the Kodi version you want to install&lt;br /&gt;
:# Click on download and once it&#039;s finished you can install the official Kodi version.&lt;br /&gt;
:# Done&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;infobox&amp;quot;&lt;br /&gt;
| {{youtube|g4OmFPh0Ps8}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Shown video shows how to do this on Android TV however the process is similar except the enabling of installing unknown apps.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{{Updated|17}}&lt;br /&gt;
&lt;br /&gt;
[[Category:How-to]]&lt;br /&gt;
[[Category:Fire TV]]&lt;br /&gt;
[[Category:Android]]&lt;br /&gt;
[[Category:Installation]]&lt;/div&gt;</summary>
		<author><name>Martijn</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Official:List_of_Foundation_Trademarks&amp;diff=123279</id>
		<title>Official:List of Foundation Trademarks</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Official:List_of_Foundation_Trademarks&amp;diff=123279"/>
		<updated>2016-06-27T21:07:35Z</updated>

		<summary type="html">&lt;p&gt;Martijn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav|[[XBMC Foundation]]|[[Official:Trademark Policy index|Trademarks]]}}&lt;br /&gt;
&lt;br /&gt;
== List of XBMC Foundation Trademarks ==&lt;br /&gt;
As other trademarks are created or registered, this list will be updated. As used in this policy, &amp;quot;trademarks&amp;quot; means not just the XBMC Foundation&#039;s logos, but also the names of its various products and projects, also called word marks, (collectively &amp;quot;XBMC Foundation Marks&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
=== Wordmarks ===&lt;br /&gt;
* Kodi ®&lt;br /&gt;
** USPTO (United States of America) registration number [[http://tsdr.uspto.gov/#caseNumber=86284077&amp;amp;caseType=SERIAL_NO&amp;amp;searchType=statusSearch 4852083]]&lt;br /&gt;
** BOIP (Benelux) registration [[https://register.boip.int/bmbonline/details/trademark/show.do?markNumberType=REG&amp;amp;markNumber=967662&amp;amp;markID=3392923 link]]&lt;br /&gt;
* Kore ™&lt;br /&gt;
* XBMC ™&lt;br /&gt;
* XBMCbuntu ™&lt;br /&gt;
* [[Zappy]] ™  &lt;br /&gt;
* KodiBuntu ™&lt;br /&gt;
&lt;br /&gt;
=== Logos ===&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Side-by-side-dark-transparent.png | Kodi logo with text ™&lt;br /&gt;
Thumbnail-symbol-whitebg.png | Kodi logo by itself ™&lt;br /&gt;
Kore Artwork Concept 2.png | Kore logo ™&lt;br /&gt;
KodiBuntu.png | Kodibuntu logo ™&lt;br /&gt;
XBMC logo-solid shadow.png | Classic XBMC logo ™&lt;br /&gt;
XBMC new logo.png | XBMC logo ™&lt;br /&gt;
Zappy.png | Zappy ™&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Trademark Policy]]&lt;/div&gt;</summary>
		<author><name>Martijn</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Submitting_Add-ons&amp;diff=123234</id>
		<title>Submitting Add-ons</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Submitting_Add-ons&amp;diff=123234"/>
		<updated>2016-06-18T14:36:59Z</updated>

		<summary type="html">&lt;p&gt;Martijn: /* The mailing list */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav|[[Development]]|[[Add-on development]]}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Submitting a Compliant Add-on to the Kodi.tv Repo ===&lt;br /&gt;
&lt;br /&gt;
After you have read the [[Add-on rules|repository guidelines]] and made sure your addon is compliant with them, you may begin the submission process using the following steps.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Allowed submissions ===&lt;br /&gt;
&lt;br /&gt;
We have restricted the allowed submissions of add-ons to past Kodi versions.&lt;br /&gt;
Several reasons:&lt;br /&gt;
* Kodi code improvements&lt;br /&gt;
* Reduce support load for add-on developers&lt;br /&gt;
* Reduce workload for repository maintainers&lt;br /&gt;
&lt;br /&gt;
Below is a table of on which submissions are allowed to official Kodi repository.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ Allowed add-on submissions&lt;br /&gt;
! codename !! version !! update !! new&lt;br /&gt;
|-&lt;br /&gt;
| Dharma || 10.x || no || no&lt;br /&gt;
|-&lt;br /&gt;
| Eden || 11.x || no || no&lt;br /&gt;
|-&lt;br /&gt;
| Frodo || 12.x || no || no&lt;br /&gt;
|-&lt;br /&gt;
| Gotham || 13.x || yes || no&lt;br /&gt;
|-&lt;br /&gt;
| Helix || 14.x || yes || no&lt;br /&gt;
|-&lt;br /&gt;
| Isengard || 15.x || yes || no&lt;br /&gt;
|-&lt;br /&gt;
| Jarvis || 16.x || yes || yes&lt;br /&gt;
|-&lt;br /&gt;
| Krypton || 17.x || yes || yes&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Additional feature is that we now use combined repositories. So if your add-on is Gotham/Helix compatible, you only need to send it to Gotham repository.&lt;br /&gt;
If it&#039;s only Helix compatible you need to send it to Helix repository.&lt;br /&gt;
This of course requires that the minimal Kodi dependencies are set accordingly.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ Which repos are used&lt;br /&gt;
! codename !! version !! repo&lt;br /&gt;
|-&lt;br /&gt;
| Dharma || 10.x || Dharma&lt;br /&gt;
|-&lt;br /&gt;
| Eden || 11.x || Eden&lt;br /&gt;
|-&lt;br /&gt;
| Frodo || 12.x || Frodo&lt;br /&gt;
|-&lt;br /&gt;
| Gotham || 13.x || Gotham&lt;br /&gt;
|-&lt;br /&gt;
| Helix || 14.x || Gotham || Helix&lt;br /&gt;
|-&lt;br /&gt;
| Isengard || 15.x || Gotham || Helix || Isengard&lt;br /&gt;
|-&lt;br /&gt;
| Jarvis || 16.x || Gotham || Helix || Isengard  || Jarvis&lt;br /&gt;
|-&lt;br /&gt;
| Krypton || 17.x || Gotham || Helix || Isengard  || Jarvis  || Krypton&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{see also|Addon.xml#Dependency_versions}}&lt;br /&gt;
&lt;br /&gt;
=== Github ===&lt;br /&gt;
&lt;br /&gt;
Add-on updates may be submitted directly to the [[Official add-on repository]] on Github as pull requests. We encourage add-on developers to use this method as the process is easier for both parties involved. Of course this requires some initial git knowledge and we strongly suggest to read up on this subject before using this method. To reduce size we have split up the git repositories in several locations. Please visit [[Official add-on repository]] to see where they are. Each contains a small readme with a short description of it&#039;s contents as well as a link to a short explanation on how to submit using git command line. There are also git tools available that have a graphic interface and the steps above should be done in a similar way. Please consult the manual of those programs.&lt;br /&gt;
&lt;br /&gt;
In addition to the [[Add-on rules|repository guidelines]] the following rules apply when submitting PRs on Github:&lt;br /&gt;
&lt;br /&gt;
* PR should contain one commit only.&lt;br /&gt;
* Commit message should have the format &amp;quot;[addonid] version&amp;quot;. Example: &amp;quot;[my.cool.addon] 1.0.1&amp;quot; &lt;br /&gt;
&lt;br /&gt;
As with mailing list, only PRs from add-on author will be accepted. Patches should be submitted upstream. For an easy way to create PR from your own git repository, see [[HOW-TO: create add-on PRs using Git Subtree Merging]].&lt;br /&gt;
&lt;br /&gt;
=== The mailing list ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; MAILINGLIST IS ONLY USED FOR SKIN SUBMISSIONS. ALL OTHER ADD-ONS SHOULD USE GITHUB &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Alternatively you can of course continue to submit your add-ons through the [https://lists.sourceforge.net/lists/listinfo/xbmc-addons Add-ons Mailing List].&lt;br /&gt;
This is done for several reasons.&lt;br /&gt;
&lt;br /&gt;
After you have subscribed to the [https://lists.sourceforge.net/lists/listinfo/xbmc-addons Add-ons Mailing List] you will be send a conformation e-mail. Be sure to accept this before you can submit to the [https://lists.sourceforge.net/lists/listinfo/xbmc-addons Mailing List].&lt;br /&gt;
&lt;br /&gt;
All pull requests should be sent to this list so that repository maintainers will be notified that you want to add of update your add-on. They will do a sanity check if all seems ok and you are following the Kodi guidelines for add-ons. If any issues or questions arise they will contact you through the e-mail you registered with.&lt;br /&gt;
Once all checks out fine your add-on is added to repository and you will receive a confirmation e-mail that it is added.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{tip|To un-subscribe from the mailinglist follow the same link as [https://lists.sourceforge.net/lists/listinfo/xbmc-addons Add-ons Mailing List] and there&#039;s the option to unsubscribe at the bottom}}&lt;br /&gt;
&lt;br /&gt;
==== How to submit your add-on and subsequent updates ====&lt;br /&gt;
&lt;br /&gt;
In order to submit your addon, you must send a request that we add or update your add-on to the [https://lists.sourceforge.net/lists/listinfo/xbmc-addons Add-ons Mailing List] (We call this a &amp;quot;pull request.&amp;quot;). Each request will require a version bump in the [[addon.xml]]. We ask that you also keep a [[Add-on structure#changelog.txt|changelog.txt]] up to date so that users may easily see what has changed. &lt;br /&gt;
&lt;br /&gt;
Note that .xbt files will be generated automatically for skins so you do not include this in your pull request.&lt;br /&gt;
&lt;br /&gt;
There are several ways to request that we add or update your add-on. Please preface threads using the following conventions:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Type !! Description&lt;br /&gt;
|-&lt;br /&gt;
| [Git Pull]|| Submit a request that we pull from your repo. This should include a url, branch/tag/revision, and the addon to pull. HEAD is NOT a revision.&lt;br /&gt;
|-&lt;br /&gt;
| [SVN Pull]|| Same as [Git Pull]&lt;br /&gt;
|-&lt;br /&gt;
| [Zip Pull]|| By far the least used but still a valid way. Submit a link where the add-on zip can be downloaded from.&lt;br /&gt;
For example you can just give us the link to .zip in your dropbox account. We do not want to download it from a public download site that holds questionable content or is filled with ads.&lt;br /&gt;
|-&lt;br /&gt;
| [Patch]|| Sometimes you may wish to submit a patch to the author for review.&lt;br /&gt;
Under most circumstances we will not merge this directly, it should go to the upstream maintainer first.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
After you have send it to the mailing list please keep an eye out for any reply from our repository maintainers if there are any remarks or changes needed or a simple confirmation it has been added. Do note it might take some time to process the request.&lt;br /&gt;
&lt;br /&gt;
After it has been added or updated it will be available from the Kodi repository in Kodi itself, on http://addons.kodi.tv/ and on the wiki page http://kodi.wiki/index.php?title=Category:All_add-ons.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Note|Please locate you add-on in the root of the git repository. This to make sure we can easily pull the add-on into our repository.&lt;br /&gt;
Example: https://github.com/XBMC-Addons/service.xbmc.versioncheck}}&lt;br /&gt;
&lt;br /&gt;
==== Example e-mail ====&lt;br /&gt;
&lt;br /&gt;
Subject:&lt;br /&gt;
  [Git Pull] my.cool.plugin&lt;br /&gt;
Body:&lt;br /&gt;
  *addon -   my.cool.plugin&lt;br /&gt;
  *version - 1.1.0&lt;br /&gt;
  *url - git://some.where.git&lt;br /&gt;
  *revision - a241345a&lt;br /&gt;
  *branch - master&lt;br /&gt;
  *xbmc version - helix&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Note|If you want to request multiple add-ons to be added you can just do this in one e-mail as long as you provide the &amp;quot;Body&amp;quot; part each time for every add-on and every Kodi version you want it to be included to. In this case the subject field doesn&#039;t need to contain the add-on name. Do provide the &amp;quot;[Git Pull]&amp;quot; part at least.}}&lt;br /&gt;
&lt;br /&gt;
{{tip|At this moment Frodo/Gotham/Helix combine all repos into one single repo list in Kodi. You only need to do a request for the minimum repo your add-on supports.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Add-on development]]&lt;/div&gt;</summary>
		<author><name>Martijn</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Add-on_rules&amp;diff=122766</id>
		<title>Add-on rules</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Add-on_rules&amp;diff=122766"/>
		<updated>2016-05-02T13:15:22Z</updated>

		<summary type="html">&lt;p&gt;Martijn: /* Repository Submission Guidelines - Please Read Before Submitting Your Addon */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav|[[Development]]|[[Add-on development]]}}&lt;br /&gt;
&lt;br /&gt;
=== Repository Submission Guidelines - Please Read Before Submitting Your Addon ===&lt;br /&gt;
&lt;br /&gt;
Because maintaining such a large repository is a large task, we have set some guidelines for inclusion. Please ensure that these guidelines are met before submitting request to be added.&lt;br /&gt;
In order to be considered for the official repository, the following guidelines must be met:&lt;br /&gt;
* All add-ons must be developed as described on the [[Add-on development]] page.&lt;br /&gt;
* You &#039;&#039;must&#039;&#039; include a license file (named LICENSE.txt). We recommend the [http://creativecommons.org/choose/non-web-popup?license_code=by-sa&amp;amp;jurisdiction=&amp;amp;version=3.0&amp;amp;lang=en CC-BY-SA 3.0] for skins and the [http://www.gnu.org/licenses/gpl-howto.html GPL v2+] for others, but most copy left licenses will suffice. Please investigate which license suits your needs and you fully understand the contents.&lt;br /&gt;
* All files must be free and legal to distribute.&lt;br /&gt;
* The add-on must not violate any known copyright laws - if in doubt, let us know and we&#039;ll look into it for you.&lt;br /&gt;
* All source files must be included. No pre-compiled files will be allowed.&lt;br /&gt;
* You acknowledge that you are the maintainer of your add-on.&lt;br /&gt;
* Team-Kodi reserves the right to update or remove it at any time as we deem necessary.&lt;br /&gt;
* If a new stable Kodi is going to be released no new submissions are accepted to the repository for the previous version. This will start from when the first [http://en.wikipedia.org/wiki/Release_candidate#Release_candidate release candidate (RC)] of the new version is released. Only fixes and updates will be accepted and processed for the previous version (e.g. if the current stable is 13.x, no updates are allowed for 11.x any more). See: [[Submitting Add-ons#Allowed submissions|Allowed submissions]]&lt;br /&gt;
* Monetization of add-ons (for instance advertising or paid subscriptions) will not be allowed. We can make an exception in case you own the copyright for the content the add-on provides. Please contact us on the forum (or add-on mailing list) if you believe such an exception may apply to your add-on.&lt;br /&gt;
* All xbmc.python.module addons must be used by at least one other add-on in official repository.&lt;br /&gt;
&lt;br /&gt;
=== Updates ===&lt;br /&gt;
Keep in mind that add-ons in the official repository should be considered &#039;&#039;stable&#039;&#039;. This means that they should be well-tested before you submit them for inclusion.&lt;br /&gt;
Because they are for stable users, they should avoid being updated too often. Too often is of course subjective. If your add-on is in rapid development, and features are constantly being added, hold off until you have hit a good stopping point and &#039;&#039;tested&#039;&#039; the current version.&lt;br /&gt;
&lt;br /&gt;
This means that you should &#039;&#039;not&#039;&#039; submit a request every time you change your code. If you are submitting updates more than once per week something is wrong. Once or twice per month is probably a better goal, barring unforeseen conditions (like a content source changing its paths). With good reasons provided we will of course make exceptions as we strive to prove the best user experience.&lt;br /&gt;
&lt;br /&gt;
=== General requirements ===&lt;br /&gt;
Here&#039;s a list of what basic sanity checks are done by repository maintainer on each submission.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Basic file checks:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* all strings used by add-ons must be localized, no hard-coded language strings should ever be used&lt;br /&gt;
* all paths should be treated as case-sensitive, so that they work on all OSs and file systems.&lt;br /&gt;
* all paths and files should be lower-case due to the previous point&lt;br /&gt;
** exceptions are README, COPYING, LICENSE.txt that should be upper-case and the &amp;quot;Default&amp;quot; directory in &amp;lt;tt&amp;gt;resources/skins&amp;lt;/tt&amp;gt;, for add-ons that need it.&lt;br /&gt;
* exception are the translation Language folders with should be first letter capitalised.&lt;br /&gt;
* the following file-types are not allowed: .so .dll .pyo .exe .xbt .xpr Thumbs.db and so on&amp;lt;any binary files&amp;gt;&lt;br /&gt;
* all text files should use UNIX end-of-line&lt;br /&gt;
* all .xml files must pass xml validation&lt;br /&gt;
* all .xml files must have xml declaration as header&lt;br /&gt;
* all .xml/.txt must have unix style EOL&#039;s&lt;br /&gt;
* don&#039;t use a BOM at the start of your files&lt;br /&gt;
* file permissions: files should not be marked as executable&lt;br /&gt;
* filenames must have correct encoding (for skins: check your studio logos for corrupt filenames)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Things that must be included:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*  [[Add-on structure#addon.xml|addon.xml]] must contain correct and valid info / version&lt;br /&gt;
*  [[Add-on structure#icon.png|icon.png]] must be present (256x256)&lt;br /&gt;
*  [[Add-on structure#fanart.jpg|fanart.jpg]] must be present (1280x720 or 1920x1080)&lt;br /&gt;
*  [[Add-on structure#LICENSE.txt|LICENCE.txt]] must be present&lt;br /&gt;
*  [[Add-on structure#changelog.txt|changelog.txt]] must be present&lt;br /&gt;
*: start with last changes at top of the file&lt;br /&gt;
{{See also|Add-on_structure}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Things that can&#039;t be included:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* no .xbt files (these will be generated by our repository)&lt;br /&gt;
* no other add-ons included  (skinners: if you need a script, submit it separately and depend on it)&lt;br /&gt;
* don&#039;t include unneeded files (.pdf, .doc, thumbs.db, etc...)&lt;br /&gt;
* no licensed fonts / background images / anything&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Requirements for skins ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Basic checks:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* The file size must be sane. There is no hard limit, but a 100mb skin is pushing it.&lt;br /&gt;
* No mods. Mods are great, and pop up frequently in the forums. But they are only confusing to non-forum-goers. This can be vague, each is evaluated on its own merit. By naming your &amp;quot;mod&amp;quot; different and make it substantial different enough, we will of course take it in consideration.&lt;br /&gt;
* Due to a bug in TexturePacker, all graphics files should have a resolution of at least 4x4.&lt;br /&gt;
* themes must be in a subfolder of the themes/ folder in the skin root (eg. skin.foo/themes/blue/&amp;lt;files&amp;gt;). The .xbt file will be created by our repo backend.&lt;br /&gt;
* If you want to have some images outside of Textures.xbt, then make sure you place those images outside of the media/ folder and reference them using special://skin/backdrops/* or similar.  This is most useful for backgrounds - it keeps the size of the packed textures down.  Any images you have in the media/ folder will be placed in Textures.xbt in the official repository.&lt;br /&gt;
* Please be careful with addon dependencies. Only add dependencies that are needed for the skin to function properly.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Things that must be included:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* _screenshots folder must be present, containing max. 10 .jpg screenshots (1280x720) with a reasonable file size.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Code checks:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* all labels must be localized&lt;br /&gt;
* code should be case-sensitive&lt;br /&gt;
* skins should not create warning/errors in the logfile, this can be a lot of things:&lt;br /&gt;
:* invalid includes&lt;br /&gt;
:* undefined actions&lt;br /&gt;
:* unable to evaluate condition&lt;br /&gt;
:* undefined vars&lt;br /&gt;
:* can&#039;t focus &#039;id&#039;&lt;br /&gt;
&lt;br /&gt;
{{Note|This of course also applies to script add-ons that use skin files}}&lt;br /&gt;
&lt;br /&gt;
==== Optional support ====&lt;br /&gt;
&lt;br /&gt;
This is optional and should not block inclusion in official repo.&lt;br /&gt;
&lt;br /&gt;
* mouse support&lt;br /&gt;
* touchscreen support&lt;br /&gt;
* peripheral dialogs&lt;br /&gt;
* PVR support&lt;br /&gt;
* ADSP support&lt;br /&gt;
* RDS support&lt;br /&gt;
&lt;br /&gt;
=== Requirements for scripts and plugins ===&lt;br /&gt;
&lt;br /&gt;
* all special:// paths should be translated using xbmc.translatePath(&amp;quot;special://foo/bar&amp;quot;)&lt;br /&gt;
* xbmc.translatePath(xbmcaddon.Addon().getAddonInfo(&#039;path&#039;)).decode(&#039;utf-8&#039;) should be used for files included with the add-on&lt;br /&gt;
* xbmc.translatePath(xbmcaddon.Addon().getAddonInfo(&#039;profile&#039;)).decode(&#039;utf-8&#039;) should be used for storing add-on related files&lt;br /&gt;
* direct access to the Kodi database is &#039;&#039;&#039;not&#039;&#039;&#039; allowed. You must use [[JSON RPC]] for this.&lt;br /&gt;
* directly using analytics (Google Analytics for example) from within add-ons is not allowed. This should be handled server side by using user-agent.&lt;br /&gt;
* addons should use the xbmc.log() method to write to the logfile and use the debug logging level only. print statements should not be used. &lt;br /&gt;
* add-ons should store all their data in their own subfolder inside the addon_data directory. Access (read/write/delete) to any other files / folders is not allowed by default.&lt;br /&gt;
&#039;&#039;Exceptions to this rule may be granted in specific cases only. Please contact Team XBMC&#039;s add-on repository maintainers via the add-on mailing list if your add-on needs access to such files.&#039;&#039;&lt;br /&gt;
In case we grant such an exception for your addon, access (read/write/delete) to other files/directories must be opt-in by the user, and be clear for the user to understand what is being accessed. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Things that shouldn&#039;t be included:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* _screenshots folder (only in remote cases it could have some added value)&lt;br /&gt;
&lt;br /&gt;
=== Requirements for scrapers ===&lt;br /&gt;
* scraper must return the following minimum information: movie title, year, plot, cast, poster, fanart&lt;br /&gt;
* use &#039;chain function&#039; for calling functions in common scrapers&lt;br /&gt;
* remove the deprecated XML tags from the scraper header in case you use a scraper editor made for pre-Dharma versions of XBMC&lt;br /&gt;
&lt;br /&gt;
[[Category:Add-on development]]&lt;br /&gt;
[[Category:Team Kodi specific notes]]&lt;/div&gt;</summary>
		<author><name>Martijn</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Official:Code_guidelines_and_formatting_conventions&amp;diff=122758</id>
		<title>Official:Code guidelines and formatting conventions</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Official:Code_guidelines_and_formatting_conventions&amp;diff=122758"/>
		<updated>2016-04-30T08:27:33Z</updated>

		<summary type="html">&lt;p&gt;Martijn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav|[[Development]]}}&lt;br /&gt;
These are conventions which we try to follow when writing code for Kodi. They are this way mainly for reasons of taste, however, sticking to a common set of formatting rules also makes it slightly easier to read through our sources. If you want to submit patches, please try to follow these rules. For historic reason the current code doesn&#039;t always follow these guidelines however any new code should certainly follow them.&lt;br /&gt;
&lt;br /&gt;
These coding guidelines and formatting conventions are part of our Doxygen documentation which can be generated from code. For easy viewing we also made these guidelines available online https://codedocs.xyz/xbmc/xbmc/code_guidelines.html&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;/div&gt;</summary>
		<author><name>Martijn</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Submitting_Add-ons&amp;diff=117606</id>
		<title>Submitting Add-ons</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Submitting_Add-ons&amp;diff=117606"/>
		<updated>2016-03-19T12:20:23Z</updated>

		<summary type="html">&lt;p&gt;Martijn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav|[[Development]]|[[Add-on development]]}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Submitting a Compliant Add-on to the Kodi.tv Repo ===&lt;br /&gt;
&lt;br /&gt;
After you have read the [[Add-on rules|repository guidelines]] and made sure your addon is compliant with them, you may begin the submission process using the following steps.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Allowed submissions ===&lt;br /&gt;
&lt;br /&gt;
We have restricted the allowed submissions of add-ons to past Kodi versions.&lt;br /&gt;
Several reasons:&lt;br /&gt;
* Kodi code improvements&lt;br /&gt;
* Reduce support load for add-on developers&lt;br /&gt;
* Reduce workload for repository maintainers&lt;br /&gt;
&lt;br /&gt;
Below is a table of on which submissions are allowed to official Kodi repository.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ Allowed add-on submissions&lt;br /&gt;
! codename !! version !! update !! new&lt;br /&gt;
|-&lt;br /&gt;
| Dharma || 10.x || no || no&lt;br /&gt;
|-&lt;br /&gt;
| Eden || 11.x || no || no&lt;br /&gt;
|-&lt;br /&gt;
| Frodo || 12.x || no || no&lt;br /&gt;
|-&lt;br /&gt;
| Gotham || 13.x || yes || no&lt;br /&gt;
|-&lt;br /&gt;
| Helix || 14.x || yes || no&lt;br /&gt;
|-&lt;br /&gt;
| Isengard || 15.x || yes || yes&lt;br /&gt;
|-&lt;br /&gt;
| Jarvis || 16.x || yes || yes&lt;br /&gt;
|-&lt;br /&gt;
| Krypton || 17.x || yes || yes&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Additional feature is that we now use combined repositories. So if your add-on is Gotham/Helix compatible, you only need to send it to Gotham repository.&lt;br /&gt;
If it&#039;s only Helix compatible you need to send it to Helix repository.&lt;br /&gt;
This of course requires that the minimal Kodi dependencies are set accordingly.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ Which repos are used&lt;br /&gt;
! codename !! version !! repo&lt;br /&gt;
|-&lt;br /&gt;
| Dharma || 10.x || Dharma&lt;br /&gt;
|-&lt;br /&gt;
| Eden || 11.x || Eden&lt;br /&gt;
|-&lt;br /&gt;
| Frodo || 12.x || Frodo&lt;br /&gt;
|-&lt;br /&gt;
| Gotham || 13.x || Gotham&lt;br /&gt;
|-&lt;br /&gt;
| Helix || 14.x || Gotham || Helix&lt;br /&gt;
|-&lt;br /&gt;
| Isengard || 15.x || Gotham || Helix || Isengard&lt;br /&gt;
|-&lt;br /&gt;
| Jarvis || 16.x || Gotham || Helix || Isengard  || Jarvis&lt;br /&gt;
|-&lt;br /&gt;
| Krypton || 17.x || Gotham || Helix || Isengard  || Jarvis  || Krypton&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{see also|Addon.xml#Dependency_versions}}&lt;br /&gt;
&lt;br /&gt;
=== Github ===&lt;br /&gt;
&lt;br /&gt;
Add-on updates may be submitted directly to the [[Official add-on repository]] on Github as pull requests. We encourage add-on developers to use this method as the process is easier for both parties involved. Of course this requires some initial git knowledge and we strongly suggest to read up on this subject before using this method. To reduce size we have split up the git repositories in several locations. Please visit [[Official add-on repository]] to see where they are. Each contains a small readme with a short description of it&#039;s contents as well as a link to a short explanation on how to submit using git command line. There are also git tools available that have a graphic interface and the steps above should be done in a similar way. Please consult the manual of those programs.&lt;br /&gt;
&lt;br /&gt;
In addition to the [[Add-on rules|repository guidelines]] the following rules apply when submitting PRs on Github:&lt;br /&gt;
&lt;br /&gt;
* PR should contain one commit only.&lt;br /&gt;
* Commit message should have the format &amp;quot;[addonid] version&amp;quot;. Example: &amp;quot;[my.cool.addon] 1.0.1&amp;quot; &lt;br /&gt;
&lt;br /&gt;
As with mailing list, only PRs from add-on author will be accepted. Patches should be submitted upstream. For an easy way to create PR from your own git repository, see [[HOW-TO: create add-on PRs using Git Subtree Merging]].&lt;br /&gt;
&lt;br /&gt;
=== The mailing list ===&lt;br /&gt;
&lt;br /&gt;
Alternatively you can of course continue to submit your add-ons through the [https://lists.sourceforge.net/lists/listinfo/xbmc-addons Add-ons Mailing List].&lt;br /&gt;
This is done for several reasons.&lt;br /&gt;
&lt;br /&gt;
After you have subscribed to the [https://lists.sourceforge.net/lists/listinfo/xbmc-addons Add-ons Mailing List] you will be send a conformation e-mail. Be sure to accept this before you can submit to the [https://lists.sourceforge.net/lists/listinfo/xbmc-addons Mailing List].&lt;br /&gt;
&lt;br /&gt;
All pull requests should be sent to this list so that repository maintainers will be notified that you want to add of update your add-on. They will do a sanity check if all seems ok and you are following the Kodi guidelines for add-ons. If any issues or questions arise they will contact you through the e-mail you registered with.&lt;br /&gt;
Once all checks out fine your add-on is added to repository and you will receive a confirmation e-mail that it is added.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{tip|To un-subscribe from the mailinglist follow the same link as [https://lists.sourceforge.net/lists/listinfo/xbmc-addons Add-ons Mailing List] and there&#039;s the option to unsubscribe at the bottom}}&lt;br /&gt;
&lt;br /&gt;
==== How to submit your add-on and subsequent updates ====&lt;br /&gt;
&lt;br /&gt;
In order to submit your addon, you must send a request that we add or update your add-on to the [https://lists.sourceforge.net/lists/listinfo/xbmc-addons Add-ons Mailing List] (We call this a &amp;quot;pull request.&amp;quot;). Each request will require a version bump in the [[addon.xml]]. We ask that you also keep a [[Add-on structure#changelog.txt|changelog.txt]] up to date so that users may easily see what has changed. &lt;br /&gt;
&lt;br /&gt;
Note that .xbt files will be generated automatically for skins so you do not include this in your pull request.&lt;br /&gt;
&lt;br /&gt;
There are several ways to request that we add or update your add-on. Please preface threads using the following conventions:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Type !! Description&lt;br /&gt;
|-&lt;br /&gt;
| [Git Pull]|| Submit a request that we pull from your repo. This should include a url, branch/tag/revision, and the addon to pull. HEAD is NOT a revision.&lt;br /&gt;
|-&lt;br /&gt;
| [SVN Pull]|| Same as [Git Pull]&lt;br /&gt;
|-&lt;br /&gt;
| [Zip Pull]|| By far the least used but still a valid way. Submit a link where the add-on zip can be downloaded from.&lt;br /&gt;
For example you can just give us the link to .zip in your dropbox account. We do not want to download it from a public download site that holds questionable content or is filled with ads.&lt;br /&gt;
|-&lt;br /&gt;
| [Patch]|| Sometimes you may wish to submit a patch to the author for review.&lt;br /&gt;
Under most circumstances we will not merge this directly, it should go to the upstream maintainer first.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
After you have send it to the mailing list please keep an eye out for any reply from our repository maintainers if there are any remarks or changes needed or a simple confirmation it has been added. Do note it might take some time to process the request.&lt;br /&gt;
&lt;br /&gt;
After it has been added or updated it will be available from the Kodi repository in Kodi itself, on http://addons.kodi.tv/ and on the wiki page http://kodi.wiki/index.php?title=Category:All_add-ons.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Note|Please locate you add-on in the root of the git repository. This to make sure we can easily pull the add-on into our repository.&lt;br /&gt;
Example: https://github.com/XBMC-Addons/service.xbmc.versioncheck}}&lt;br /&gt;
&lt;br /&gt;
==== Example e-mail ====&lt;br /&gt;
&lt;br /&gt;
Subject:&lt;br /&gt;
  [Git Pull] my.cool.plugin&lt;br /&gt;
Body:&lt;br /&gt;
  *addon -   my.cool.plugin&lt;br /&gt;
  *version - 1.1.0&lt;br /&gt;
  *url - git://some.where.git&lt;br /&gt;
  *revision - a241345a&lt;br /&gt;
  *branch - master&lt;br /&gt;
  *xbmc version - helix&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Note|If you want to request multiple add-ons to be added you can just do this in one e-mail as long as you provide the &amp;quot;Body&amp;quot; part each time for every add-on and every Kodi version you want it to be included to. In this case the subject field doesn&#039;t need to contain the add-on name. Do provide the &amp;quot;[Git Pull]&amp;quot; part at least.}}&lt;br /&gt;
&lt;br /&gt;
{{tip|At this moment Frodo/Gotham/Helix combine all repos into one single repo list in Kodi. You only need to do a request for the minimum repo your add-on supports.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Add-on development]]&lt;/div&gt;</summary>
		<author><name>Martijn</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Official_add-on_repository&amp;diff=117603</id>
		<title>Official add-on repository</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Official_add-on_repository&amp;diff=117603"/>
		<updated>2016-03-19T11:24:15Z</updated>

		<summary type="html">&lt;p&gt;Martijn: /* kodi.tv / Kodi Add-ons */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav|[[Development]]|[[Add-on development]]}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Kodi includes an interface to browse remote [http://en.wikipedia.org/wiki/Software_repository repositories] from where add-ons can be retrieved. The model is similar to the way many current [http://en.wikipedia.org/wiki/Linux Linux] [http://en.wikipedia.org/wiki/Linux_distribution distributions] work, whereby there is a main repository that is the default, and additional ones may be added by the user. Kodi has two official repositories that are included by default (&#039;&#039;kodi.tv Add-ons&#039;&#039; and &#039;&#039;kodi.tv PVR Add-ons&#039;&#039;) and are maintained by the  [[Team Kodi|Kodi team]] (&#039;&#039;Team Kodi&#039;&#039;). This page outlines how to submit your add-on to the official repositories and keep it up to date.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== List of add-ons ==&lt;br /&gt;
See:&lt;br /&gt;
&lt;br /&gt;
* http://addons.kodi.tv&lt;br /&gt;
* [[:Category:All add-ons]]&lt;br /&gt;
&lt;br /&gt;
== The repositories ==&lt;br /&gt;
&lt;br /&gt;
=== kodi.tv / Kodi Add-ons ===&lt;br /&gt;
&lt;br /&gt;
Browsing add-ons can be done from within Kodi through the built-in [[add-ons]] browser. From here you can install any add-on that is listed in the kodi.tv official repository. &lt;br /&gt;
For the time being each version of Kodi will have its own repo which contain only add-ons that are compatible with that specific version of Kodi. Manually installing add-ons is possible but remember to check if these are compatible for your Kodi version.&lt;br /&gt;
&lt;br /&gt;
Kodi uses [http://en.wikipedia.org/wiki/Git_(software) Git] to manage the official repository. See below for the list of git repositories that comprise it. &lt;br /&gt;
&lt;br /&gt;
Read only pull:&lt;br /&gt;
  git clone https://github.com/xbmc/repo-scripts&lt;br /&gt;
  git clone https://github.com/xbmc/repo-scrapers&lt;br /&gt;
  git clone https://github.com/xbmc/repo-scripts&lt;br /&gt;
  git clone https://github.com/xbmc/repo-skins&lt;br /&gt;
  git clone https://github.com/xbmc/repo-webinterfaces&lt;br /&gt;
&lt;br /&gt;
All current add-ons can be downloaded as ZIP files from the [http://mirrors.kodi.tv/addons/ repository server].&lt;br /&gt;
Feel free to see which ones there are and perhaps you they might give you some ideas for creating your own. These are also great examples for getting started and see how things are done in more extensive add-ons.&lt;br /&gt;
&lt;br /&gt;
=== kodi.tv / Kodi PVR Add-ons ===&lt;br /&gt;
&lt;br /&gt;
For more info on PVR see here: [[PVR]]&lt;br /&gt;
&lt;br /&gt;
=== Repo Branches ===&lt;br /&gt;
For each version of Kodi there will be a specific branch of the Kodi add-on repository. As development progresses for the next version of Kodi, a repository for that next version will also be made. These repositories are automatically selected depending on which version of Kodi (stable or development) that the user is using. When the development Kodi repository is open we ask that add-on developers still maintain versions of their add-ons for the stable Kodi repository until that next development version of Kodi is released and becomes the new stable. When both repositories are open add-on developers will need to follow submission and update procedures individually to be in both. It is highly recommended to take advantage of the development Kodi repository so that your add-on is prepared for the next version of Kodi.&lt;br /&gt;
&lt;br /&gt;
== Submitting add-ons ==&lt;br /&gt;
{{main|Submitting Add-ons}}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[Add-ons]]&lt;br /&gt;
* [[:Category:All add-ons]]&lt;br /&gt;
* [[3rd party add-on repositories]]&lt;br /&gt;
&#039;&#039;&#039;Development:&#039;&#039;&#039;&lt;br /&gt;
* [[Add-on development]]&lt;br /&gt;
* [[Python development]]&lt;br /&gt;
* [[Skinning]]&lt;br /&gt;
* [[Add-on repositories]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Manual]]&lt;br /&gt;
[[Category:Add-ons]]&lt;br /&gt;
[[Category:Team Kodi specific notes]]&lt;br /&gt;
[[Category:Add-on development]]&lt;/div&gt;</summary>
		<author><name>Martijn</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Video_management&amp;diff=117178</id>
		<title>Video management</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Video_management&amp;diff=117178"/>
		<updated>2016-02-20T19:04:57Z</updated>

		<summary type="html">&lt;p&gt;Martijn: /* Video guides */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Video setup quick links}}&lt;br /&gt;
{{mininav|[[Video library]]}}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;intro&amp;quot; /&amp;gt;To use your video files with &amp;quot;metadata&amp;quot; like summaries, cast info, DVD covers, thumbnails, and more, you need to &#039;&#039;&#039;[[Adding videos to the library|add those video files]]&#039;&#039;&#039; to the [[video library]].&amp;lt;section end=&amp;quot;intro&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
See &#039;&#039;&#039;[[Adding videos to the library]]&#039;&#039;&#039; for just the basic topics on adding videos.&lt;br /&gt;
&lt;br /&gt;
== Preparing files ==&lt;br /&gt;
To use your video files with &amp;quot;metadata&amp;quot; like summaries, cast info, DVD covers, thumbnails, and more, you need to add those video files to the video library.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section begin=&amp;quot;intro&amp;quot; /&amp;gt;There are a couple of important parts to getting things imported into your {{Kodi}} library. First, the metadata for the video file should exist someplace (the metadata are things like the title of the show, the plot description, the season and episode number if the video file happens to be an episode of a TV series, the actors, the director, cover art and episode art, etc.) The second part is naming the video files so the file gets matched up with the metadata available online.&lt;br /&gt;
&amp;lt;section end=&amp;quot;intro&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section begin=&amp;quot;prep&amp;quot; /&amp;gt;&lt;br /&gt;
{{Kodi}} uses plugins called scrapers to pull information from a video file and coordinate it with a source of metadata available someplace on the internet. For a TV show the scraper basically looks for the show name, season number, and episode number. The default scrapers look at TheTVDB.com (for TV shows) and TheMovieDB.org (for Movies). &lt;br /&gt;
&lt;br /&gt;
If some video file is not scraping properly, the first step is to go to the website of the scraper you are using on that source and see if the video is already listed there. If you can&#039;t find an entry on one of those two sites for the video you&#039;re interested in, you can hunt for different scrapers which search other websites for metadata (and go through the same process of making sure your show is listed there, then naming the video files to match). Alternatively, you can create new entries on those sites with some basic information about your show, and then let the scrapers do their work. This is nice, because it means that other people will benefit from your work, and may contribute additional information about the show over time. &lt;br /&gt;
Adding info to a site like TheTVDB.org is easy, but make sure you read the site rules before you start adding.&lt;br /&gt;
&lt;br /&gt;
If none of that works, you can create .nfo files for each video by hand so that {{Kodi}} will bypass the normal looking online for information about your show. This is the least attractive option, though. It&#039;s a lot of work, and it doesn&#039;t benefit anyone else the way creating entries on the metadata sites does.&amp;lt;section end=&amp;quot;prep&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Naming files ===&lt;br /&gt;
{{main|Naming video files}}&lt;br /&gt;
{{#lst:Naming video files|intro}}&lt;br /&gt;
&lt;br /&gt;
* [[Naming video files/Movies]]&lt;br /&gt;
* [[Naming video files/TV shows]]&lt;br /&gt;
* [[Naming video files/Music videos]]&lt;br /&gt;
&lt;br /&gt;
=== NFO files ===&lt;br /&gt;
{{Main|NFO files}}&lt;br /&gt;
{{#lst:NFO files|intro}}&lt;br /&gt;
&lt;br /&gt;
== Media sources ==&lt;br /&gt;
{{Main|Media sources}}&lt;br /&gt;
{{#lst:Media sources|intro}}&lt;br /&gt;
&lt;br /&gt;
=== Adding video sources ===&lt;br /&gt;
{{main|Adding video sources}}&lt;br /&gt;
{{#lst:Adding video sources|intro}}&lt;br /&gt;
&lt;br /&gt;
== Media stubs ==&lt;br /&gt;
{{Main|Media stubs}}&lt;br /&gt;
{{#lst:Media stubs|intro}}&lt;br /&gt;
{{-}}&lt;br /&gt;
&lt;br /&gt;
== Internet streams ==&lt;br /&gt;
{{Main|Internet streams}}&lt;br /&gt;
{{#lst:Internet streams|intro}}&lt;br /&gt;
&lt;br /&gt;
== Setting content and scanning ==&lt;br /&gt;
{{main|Set content and scan}}&lt;br /&gt;
{{#lst:Set content and scan|intro}}&lt;br /&gt;
&lt;br /&gt;
=== Incorrect and missing videos ===&lt;br /&gt;
{{Main|Incorrect and missing videos}}&lt;br /&gt;
{{#lst:Incorrect and missing videos|intro}}&lt;br /&gt;
&lt;br /&gt;
=== Custom video entries ===&lt;br /&gt;
{{Main|Custom video entries}}&lt;br /&gt;
{{#lst:Custom video entries|intro}}&lt;br /&gt;
&lt;br /&gt;
=== Updating or removing videos ===&lt;br /&gt;
{{Main|Updating or removing videos}}&lt;br /&gt;
{{#lst:Updating or removing videos|intro}}&lt;br /&gt;
&lt;br /&gt;
== Grouping media ==&lt;br /&gt;
&lt;br /&gt;
=== File stacking ===&lt;br /&gt;
{{Main|File stacking}}&lt;br /&gt;
{{#lst:File stacking|intro}}&lt;br /&gt;
&lt;br /&gt;
=== Movie sets ===&lt;br /&gt;
{{Main|Movie sets}}&lt;br /&gt;
{{#lst:Movie sets|intro}}&lt;br /&gt;
&lt;br /&gt;
=== Video library tags ===&lt;br /&gt;
{{Main|Video library tags}}&lt;br /&gt;
{{#lst:Video library tags|intro}}&lt;br /&gt;
&lt;br /&gt;
=== How to separate the library (cartoons, documentaries, anime, etc) ===&lt;br /&gt;
{{Main|Custom home items}}&lt;br /&gt;
{{#lst:Custom home items|intro}}&lt;br /&gt;
&lt;br /&gt;
=== Playlists ===&lt;br /&gt;
{{Main|Playlists}}&lt;br /&gt;
* {{big|&#039;&#039;&#039;[[Basic playlists]] -&#039;&#039;&#039;}} {{#lst:Basic playlists|intro}}&lt;br /&gt;
&lt;br /&gt;
* {{big|&#039;&#039;&#039;[[Smart playlists]] -&#039;&#039;&#039;}} {{#lst:Smart playlists|intro}}&lt;br /&gt;
&lt;br /&gt;
=== Linking movies to TV shows ===&lt;br /&gt;
{{#lst:Linking movies to TV shows|movie TV link}}&lt;br /&gt;
{{-}}&lt;br /&gt;
&lt;br /&gt;
=== Video nodes ===&lt;br /&gt;
{{Main|Video nodes}}&lt;br /&gt;
{{#lst:Video nodes|intro}}&lt;br /&gt;
{{-}}&lt;br /&gt;
&lt;br /&gt;
== Alternative guides ==&lt;br /&gt;
&amp;lt;section begin=&amp;quot;Alternative guides&amp;quot; /&amp;gt;&lt;br /&gt;
* [http://lifehacker.com/5900626/create-a-kickass-seamless-play+everything-media-center-the-complete-guide Lifehacker.com - Create a Kickass, Seamless, Play-Everything Media Center: The Complete Guide]&lt;br /&gt;
* [http://tbueter.com/?page_id=324 The Frodo Guide] by Henry Ford&lt;br /&gt;
* [http://kordkutters.com/setting-up-your-kodi-movies-and-tv-shows-library/ Beginner Tip: How to add videos to Kodi from a network share] by Nathan Betzen&lt;br /&gt;
* [http://www.makeuseof.com/pages/xbmc-full-html Makeuseof.com - How to set up your Kodi Media Center]&lt;br /&gt;
* [http://youresuchageek.blogspot.fr/2012/06/xbmc-install-and-config-howto-for-linux.html Kodi Install and Config] HOW-TO for Linux Its for xvba, however apart from drivers the rest is a &#039;&#039;&#039;MUST&#039;&#039;&#039; read for Linux novices.&lt;br /&gt;
&lt;br /&gt;
=== Video guides ===&lt;br /&gt;
&lt;br /&gt;
{{youtube|V6tk5F3biog}} {{youtube|n1amTX5K2oc}} {{youtube|aAn3rX_Km_Q}}  {{youtube|ueqwMbdMVHU}}&lt;br /&gt;
&amp;lt;section end=&amp;quot;Alternative guides&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[Import-export library]]&lt;br /&gt;
* [[Parental controls|Locking video sources / Parental controls]]&lt;br /&gt;
* [[Video library settings]]&lt;br /&gt;
* [[First time user]]&lt;br /&gt;
* [[UPnP]]&lt;br /&gt;
&lt;br /&gt;
{{Helix updated}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Video library]]&lt;br /&gt;
[[Category:Manual]]&lt;br /&gt;
[[Category:Index]]&lt;/div&gt;</summary>
		<author><name>Martijn</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Add-on_manager&amp;diff=117177</id>
		<title>Add-on manager</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Add-on_manager&amp;diff=117177"/>
		<updated>2016-02-20T19:01:08Z</updated>

		<summary type="html">&lt;p&gt;Martijn: /* How to install add-ons from a repository */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav|[[Settings]]{{l2|[[Add-ons]]}} }}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;intro&amp;quot; /&amp;gt;The &#039;&#039;Add-on manager&#039;s&#039;&#039; purpose is to manage the various add-ons to the Kodi application. It can be browsed like any other section and the various installed/uninstalled, enabled/disabled add-ons. In the Add-on manager you can also change the settings for auto update, notifications and foreign filter by bringing up the slide in submenu (press left {{keypress|left}} to show/hide). The Add-on manager is not where you go to run add-ons, but only to install and configure them.&amp;lt;section end=&amp;quot;intro&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add-ons can also be installed and managed from certain points in the interface, such as under {{highlight|bordered=yes|Videos -&amp;gt; Video add-ons}}. There will be an option to &amp;quot;get add-ons&amp;quot; for those sections, and selecting an add-on and bringing up the context menu ({{keypress|C}} on a keyboard and {{button|menu}} on most remotes) you can select options such as uninstall, update, and settings.&lt;br /&gt;
&lt;br /&gt;
== How to access the Add-on manager ==&lt;br /&gt;
From the &#039;&#039;home screen&#039;&#039; for the default Confluence skin, go to {{highlight|bordered=yes|System -&amp;gt; Add-ons}}.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=400px heights=225px&amp;gt;&lt;br /&gt;
File:add-ons-accessing-1.png|&#039;&#039;&#039;Step 1:&#039;&#039;&#039; Select &#039;&#039;System&#039;&#039; on the &#039;&#039;home screen&#039;&#039;.&lt;br /&gt;
File:add-ons-accessing-2.png|&#039;&#039;&#039;Step 2:&#039;&#039;&#039; Select &#039;&#039;Add-ons&#039;&#039;.&lt;br /&gt;
File:Add-ons-accessing-3.png|&#039;&#039;&#039;Step 3:&#039;&#039;&#039; The &#039;&#039;Add-on manager&#039;&#039;, displaying four/five options  (explained below).&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Add-on manager options ==&lt;br /&gt;
&lt;br /&gt;
;My add-ons&lt;br /&gt;
:All installed add-ons, disabled or not, can be found in &amp;quot;My add-ons&amp;quot;. This includes both a per-category listing as well as a single unified list of all installed add-ons.&lt;br /&gt;
&lt;br /&gt;
;Available updates&lt;br /&gt;
:When an update to an add-on is available it will show up here. By default, add-ons are set to update automatically, so this should normally be empty unless you have changed your preferences to prevent automatic update installs.&lt;br /&gt;
&lt;br /&gt;
;Install from repository&lt;br /&gt;
:allows you to install new add-ons from the installed repositories.  &#039;&#039;Kodi.tv add-on repository&#039;&#039; is the official add-on repository that is already included in Kodi, but other add-on repository sources can also be installed.  (see [[Unofficial repositories#How to install additional add-on repositories|How to install additional add-on repositories]] for more info)&lt;br /&gt;
&lt;br /&gt;
;Install from ZIP file&lt;br /&gt;
:allows the installation of an add-on or repository from a ZIP file, either from the hard drive or LAN.&lt;br /&gt;
&lt;br /&gt;
;Search&lt;br /&gt;
:allows you to search add-ons in the installed repositories and your installed add-ons.&lt;br /&gt;
&lt;br /&gt;
;System&lt;br /&gt;
:Allows users to see which add-ons are running or used by another add-on. It contains the following sub-categories:&lt;br /&gt;
:*&#039;&#039;&#039;Dependancies -&#039;&#039;&#039; Various module/lib add-ons that are required for other add-ons to run. Previously, many of these add-ons were not listed in the GUI at all, which prevented the ability to use rollback or see change logs.&lt;br /&gt;
:*&#039;&#039;&#039;Orphaned dependancies -&#039;&#039;&#039; Module/lib add-ons that are safe to uninstall as they are no longer needed. For example, some module add-ons might be installed to support a new skin add-on, but are no longer needed if that skin add-on is later uninstalled.&lt;br /&gt;
:*&#039;&#039;&#039;Running -&#039;&#039;&#039; What add-ons are currently running all the time (such as services), which helps find add-ons that might be causing slow-downs. Please note that some add-ons are designed to run all the time, and most shouldn&#039;t cause any issue.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Lefthand sidebar menu ===&lt;br /&gt;
[[File:add-on manager sidebar menu.png|500px|right]]&lt;br /&gt;
----&lt;br /&gt;
{{center|&#039;&#039;&#039;View options&#039;&#039;&#039;}}&lt;br /&gt;
;View&lt;br /&gt;
: The view mode that items are displayed as. Similar to other areas of the interface, such as the video and audio libraries. Common view modes include lists, icons, and variations on those.&lt;br /&gt;
&lt;br /&gt;
;Sort by&lt;br /&gt;
: This is normally used in other areas of Kodi for video and audio listings to sort things in different orders based on date and such. For the add-on manager the only option is to list by &amp;quot;Name&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
;Sort&lt;br /&gt;
: Changes the alphabetical name sort order between &amp;quot;A to Z&amp;quot; and &amp;quot;Z to A&amp;quot;.&lt;br /&gt;
----&lt;br /&gt;
{{center|&#039;&#039;&#039;Misc options&#039;&#039;&#039;}}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;update options&amp;quot; /&amp;gt;&lt;br /&gt;
;Auto updates&lt;br /&gt;
: Choose how updates are handled. Options are as follows:&lt;br /&gt;
:* &#039;&#039;&#039;On -&#039;&#039;&#039; At least once a day, add-ons that are listed in a repo will automatically be updated if an update is available.  If the &#039;&#039;&#039;&amp;quot;Notifications&amp;quot;&#039;&#039;&#039; option is also enabled, then the user will receive an on-screen notification about the available update and install.&lt;br /&gt;
:* &#039;&#039;&#039;Notify -&#039;&#039;&#039; The same as above, but the update itself will not automatically install. The user will get a notification of available updates, and an &amp;quot;Available updates&amp;quot; folder will appear in the add-on manager list, allowing the user to manually apply updates either for all add-ons or per-add-on.&lt;br /&gt;
:* &#039;&#039;&#039;Never -&#039;&#039;&#039; Kodi will not check for updates nor will it install any known pending updates. The user will also not get any notifications, because Kodi won&#039;t know about any pending updates.&lt;br /&gt;
&lt;br /&gt;
;Notifications&lt;br /&gt;
: If &#039;&#039;&#039;&amp;quot;On&amp;quot;&#039;&#039;&#039; or &#039;&#039;&#039;&amp;quot;Notify&amp;quot;&#039;&#039;&#039; are selected for &amp;quot;Auto updates&amp;quot;, then selecting this will also show a notification in the Kodi GUI if add-on updates are found.&lt;br /&gt;
&amp;lt;section end=&amp;quot;update options&amp;quot; /&amp;gt;&lt;br /&gt;
;Hide foreign&lt;br /&gt;
:This can be used to filter out all add-ons that are not listed (by their creators) as providing content in the language selected under {{highlight|bordered=yes|[[Settings/Appearance#International|Settings -&amp;gt; Appearance -&amp;gt; International -&amp;gt; Language]] }}. This option will only be available when viewing a list of add-ons to install from a repository.&lt;br /&gt;
&lt;br /&gt;
;Hide incompatible&lt;br /&gt;
:This filters out any add-on marked as broken or unable to install (incompatible, missing a dependent add-on or that add-on is broken, etc). This option will only be available when viewing a list of add-ons to install from a repository.&lt;br /&gt;
&lt;br /&gt;
;Check for updates&lt;br /&gt;
:Kodi automatically checks for add-on updates by looking up add-on repositories online at least once a day. If you want to check for updates more often or have manually disabled automatic update checks, you can use this option to check for updates at that very moment.&lt;br /&gt;
&lt;br /&gt;
;Last updated&lt;br /&gt;
: Shows when Kodi last connected to the internet to check add-on repositories for updates.&lt;br /&gt;
&lt;br /&gt;
{{-}}&lt;br /&gt;
&lt;br /&gt;
== How to install add-ons from a repository ==&lt;br /&gt;
&amp;lt;section begin=&amp;quot;HOW-TO install&amp;quot; /&amp;gt;&lt;br /&gt;
For this example a skin is being installed, the same method is used for other add-ons.&lt;br /&gt;
;{{highlight| Select &#039;&#039;Install from repository&#039;&#039; -&amp;gt; Select the repository {{small|(if only one repository is installed, then you will automatically go into that repo)}} -&amp;gt; Select the add-on category -&amp;gt; Select the add-on -&amp;gt; Select &#039;&#039;Install&#039;&#039;|bordered=yes}}&lt;br /&gt;
&amp;lt;gallery widths=500px heights=313px&amp;gt;&lt;br /&gt;
File:Installaddon1.png|&#039;&#039;&#039;Step 1:&#039;&#039;&#039; Select &#039;&#039;Install from repository&#039;&#039;&lt;br /&gt;
File:Installaddon2.png|&#039;&#039;&#039;Step 2:&#039;&#039;&#039; Select the repository  you want to install from. If you haven&#039;t added any additional repos and are only using the default Kodi.tv add-on repo, then you will automatically be placed in this folder.&lt;br /&gt;
File:Installaddon3a.png|&#039;&#039;&#039;Step 3&#039;&#039;&#039; Select the add-on category, in this case &#039;&#039;Look and feel&#039;&#039; (applies to Kodi Jarvis and up only).&lt;br /&gt;
File:Installaddon3b.png|&#039;&#039;&#039;Step 4:&#039;&#039;&#039; Select the add-on sub-category, in this case &#039;&#039;Skin&#039;&#039;.&lt;br /&gt;
File:Installaddon4.png|&#039;&#039;&#039;Step 5:&#039;&#039;&#039; Select the add-on you want to install, in this case the skin &#039;&#039;Ace&#039;&#039;.&lt;br /&gt;
File:Installaddon5.png|&#039;&#039;&#039;Step 6:&#039;&#039;&#039; A summary dialog will be brought up allowing you to see various properties of the add-on. Select &#039;&#039;Install&#039;&#039; to begin automatic downloading and installation.&lt;br /&gt;
File:Installaddon6.png|&#039;&#039;&#039;Step 7:&#039;&#039;&#039; In the case of skin installation you&#039;ll be asked if you want to change to the installed skin immediately. &lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
When the add-on has finished downloading Kodi will enable it and depending on the add-on ask if you want to start using it. Add-ons will then appear in their appropriate section (e.g. skins in the appearance section of settings, movie scrapers in the options of scrapers when adding a new movie source)&lt;br /&gt;
&lt;br /&gt;
{{youtube|y2z1moatN4E}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section end=&amp;quot;HOW-TO install&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== How to install from a ZIP file ==&lt;br /&gt;
&amp;lt;section begin=&amp;quot;HOW-TO zip&amp;quot; /&amp;gt;&lt;br /&gt;
In this example the &#039;&#039;hybrid&#039;&#039; repository is being installed, but the method is the same for add-ons. First download the ZIP file, then:&lt;br /&gt;
&lt;br /&gt;
{{highlight|bordered=yes|Settings → Add-ons → Install from zip file -&amp;gt; Navigate to the ZIP file}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=313px&amp;gt;&lt;br /&gt;
File:installing-repo-1.png|&#039;&#039;&#039;Step 1:&#039;&#039;&#039; Select &#039;&#039;Install from zip file&#039;&#039;.&lt;br /&gt;
File:installing-repo-2.png|&#039;&#039;&#039;Step 2:&#039;&#039;&#039; Navigate to the ZIP file and select it.&lt;br /&gt;
File:installing-repo-3.png|&#039;&#039;&#039;Step 3:&#039;&#039;&#039; In the bottom right, Kodi notifies when the add-on is installed and enabled.&lt;br /&gt;
File:installing-repo-4.png|&#039;&#039;&#039;Step 4:&#039;&#039;&#039; Select &#039;&#039;Install from repository&#039;&#039;. The new repository is listed. In the case of add-ons they are added under &#039;&#039;All Add-ons&#039;&#039; in the appropriate category.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&amp;lt;section end=&amp;quot;HOW-TO zip&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Repositories ==&lt;br /&gt;
&lt;br /&gt;
Repositories are storage locations from where add-ons can be retrieved from. They allow the user to browse for more add-ons of all types, as well as allowing Kodi to check them for updates to add-ons, so they don&#039;t have to be manually installed. Kodi comes with one official add-on repositories installed by default, &#039;&#039;Kodi.tv add-on repository&#039;&#039;. However others can be added.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To install a new repository you must first find the ZIP file to install the repository, a list of [[3rd party add-on repositories]] is semi-maintained on the wiki - other repositories may exist. Then follow the instructions at [[Add-ons#How to install from a ZIP file|How to install from a ZIP file]].&lt;br /&gt;
&lt;br /&gt;
== Updating ==&lt;br /&gt;
[[File:Add-on_manager-update.png|500px|right|thumb|Slide in submenu, with Add-on manager settings. {{editor note|needs updated screenshot}}]]&lt;br /&gt;
[[File:Installing-repo-3.png|500px|right|thumb|A notification that an add-on has been installed and enabled.{{editor note|needs updated screenshot}}]]&lt;br /&gt;
To manually update add-ons or change update settings, from the &#039;&#039;home screen&#039;&#039; go to the add-on manager and bring up the lefthand sidebar menu.&lt;br /&gt;
&lt;br /&gt;
By default &#039;&#039;Auto update&#039;&#039; is enabled and all installed add-ons will be automatically updated when new versions are available from the repositories.&lt;br /&gt;
&lt;br /&gt;
If you want to enable/disable auto-updates, while in the add-on manager bring up the slide in submenu (press right {{keypress|right}} to show/hide) and enable/disable &#039;&#039;Auto update&#039;&#039;. You can still select to be notified of updates being available, allowing you to choose to apply the updates or not on a per-add-on basis, or not check for updates at all.&lt;br /&gt;
&lt;br /&gt;
If &#039;&#039;auto update&#039;&#039; is turned &#039;&#039;off&#039;&#039; you should see a folder in the add-on manager that says &#039;&#039;Available updates&#039;&#039;, where you can go in and one-by-one and update add-ons.&lt;br /&gt;
&lt;br /&gt;
Installing an &#039;&#039;add-on&#039;&#039; from a ZIP file can lead to it not having a repository associated with it. Automatic or manual (using &#039;&#039;Available Updates&#039;&#039; folder) update will then not be available. You can of course manually update the add-on by downloading a ZIP file with the new version. If you later install the associated repository the add-on will be able to get automatically or manually updated.&lt;br /&gt;
&lt;br /&gt;
=== Update options ===&lt;br /&gt;
Full update options are seen in the &#039;&#039;&#039;[[#Lefthand sidebar menu|Lefthand sidebar menu]]&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
{{#lst:add-on manager|update options}}&lt;br /&gt;
&lt;br /&gt;
=== Notifications ===&lt;br /&gt;
Update/install &#039;&#039;notifications&#039;&#039;, which can be toggled on/off in the submenu, will show up in the right bottom corner and will notify you that:&lt;br /&gt;
* a new version of an add-on is available, if you have &#039;&#039;Auto update&#039;&#039; &#039;&#039;&#039;disabled&#039;&#039;&#039;.&lt;br /&gt;
* an add-on has been updated, if you have &#039;&#039;Auto update&#039;&#039; &#039;&#039;&#039;enabled&#039;&#039;&#039;.&lt;br /&gt;
* an add-on has been enabled (only when installing a new add-on or when doing rollbacks).&lt;br /&gt;
* an installation has failed.&lt;br /&gt;
&lt;br /&gt;
{{note|Notification windows only show up for a few seconds and then disappear.}}&lt;br /&gt;
{{-}}&lt;br /&gt;
&lt;br /&gt;
== Rollback ==&lt;br /&gt;
Rollback is a function to reinstall a previous version of an add-on. The reason to do this can be that you don&#039;t like the new version (e.g changed features) or that the new version introduced a bug. &lt;br /&gt;
&lt;br /&gt;
Rollback is &#039;&#039;only&#039;&#039; available if you&#039;ve had a previous version installed before getting the add-on manually or automatically updated. I.e. if you install a new add-on only the latest version will be installed, thus you can&#039;t rollback to any other version.&lt;br /&gt;
&lt;br /&gt;
If you rollback from version B to A and version C is added to its repository the add-on will automatically get updated (if you have &#039;&#039;Auto update&#039;&#039; enabled) to version C and you&#039;ll have to rollback again to version A. To stop this from happening disable &#039;&#039;Auto update&#039;&#039; or uninstall the associated repository. The latter is not always practical or even possible, e.g. the official repositories.&lt;br /&gt;
&lt;br /&gt;
To do a rollback, from the &#039;&#039;home screen&#039;&#039; go to the Add-on manager&lt;br /&gt;
;&amp;lt;big&amp;gt;{{highlight|bordered=yes|System -&amp;gt; Add-ons}}&amp;lt;/big&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
then&lt;br /&gt;
;&amp;lt;big&amp;gt;{{highlight|bordered=yes|Select &#039;&#039;Enabled Add-ons&#039;&#039; -&amp;gt; Select the category -&amp;gt; Select the add-on -&amp;gt; Select &#039;&#039;Rollback&#039;&#039; -&amp;gt; Select a previous version to reinstall }}&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=313px&amp;gt;&lt;br /&gt;
File:Rollback1a.png|&#039;&#039;&#039;Step 1:&#039;&#039;&#039; Select &#039;&#039;Enabled Add-ons&#039;&#039;.&lt;br /&gt;
File:Rollback1b.png|&#039;&#039;&#039;Step 2:&#039;&#039;&#039; Select the category. &lt;br /&gt;
File:rollback1.png|&#039;&#039;&#039;Step 3:&#039;&#039;&#039; Select the add-on.&lt;br /&gt;
File:rollback3.png|&#039;&#039;&#039;Step 4:&#039;&#039;&#039; Select &#039;&#039;Rollback&#039;&#039;.&lt;br /&gt;
File:rollback4.png|&#039;&#039;&#039;Step 5:&#039;&#039;&#039; Select a previous version to reinstall.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[:Category:All add-ons]]&lt;br /&gt;
* [[3rd party add-on repositories]]&lt;br /&gt;
&#039;&#039;&#039;Development:&#039;&#039;&#039;&lt;br /&gt;
* [[Add-on development]]&lt;br /&gt;
* [[Python development]]&lt;br /&gt;
* [[Skinning]]&lt;br /&gt;
* [[Add-on repositories]]&lt;br /&gt;
* [[Official add-on repository]]&lt;br /&gt;
&lt;br /&gt;
{{Isengard updated}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Add-ons]]&lt;br /&gt;
[[Category:Settings]]&lt;br /&gt;
[[Category:Manual]]&lt;/div&gt;</summary>
		<author><name>Martijn</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=HOW-TO:Install_Kodi_for_Windows&amp;diff=117176</id>
		<title>HOW-TO:Install Kodi for Windows</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=HOW-TO:Install_Kodi_for_Windows&amp;diff=117176"/>
		<updated>2016-02-20T18:57:49Z</updated>

		<summary type="html">&lt;p&gt;Martijn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav| [[Windows]] }}&lt;br /&gt;
&lt;br /&gt;
{{Kodi migration note}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Installing of {{kodi}} for Windows ==&lt;br /&gt;
&lt;br /&gt;
The installation of {{kodi}} for Windows is straightforward like most other Windows applications.&lt;br /&gt;
&lt;br /&gt;
Download the latest version from [http://kodi.tv/download/ http://kodi.tv/download/]. After download open the .exe file after which you will get the installation dialog. Simply follow the shown installation screen after which the installation will begin. For most users the offered default settings are sufficient, if not, change them accordingly if you are sure you have to.&lt;br /&gt;
&lt;br /&gt;
{{youtube|pfV9Z691n40}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you have [https://chocolatey.org/ Chocolatey] installed you can run &amp;lt;pre&amp;gt;cinst xbmc&amp;lt;/pre&amp;gt; from an elevated command line or powershell instance.&lt;br /&gt;
&lt;br /&gt;
After the installation you can immediately start using Kodi. To start Kodi, find it under the Windows &#039;&#039;&#039;Start&#039;&#039;&#039; button in a &#039;&#039;&#039;Program Group&#039;&#039;&#039; called &#039;&#039;&#039;Kodi&#039;&#039;&#039;. or simply use the desktop icon.&lt;br /&gt;
&lt;br /&gt;
You can use the keyboard, mouse or remote control to navigate through the program. Add one or more sources in Videos, Music and/or Photos, see [[Media Sources]] and you are ready to play your media. For more information you can visit the main [[Main Page|wiki page]].&lt;br /&gt;
&lt;br /&gt;
== Uninstalling of {{kodi}} for Windows ==&lt;br /&gt;
Go to &amp;quot;&#039;&#039;Add or Remove Programs&#039;&#039;&amp;quot; in the &amp;quot;&#039;&#039;Control Panel&#039;&#039;&amp;quot; under Windows then choose to remove &amp;quot;&#039;&#039;{{kodi}}&#039;&#039;&amp;quot;. You can also find it under the Windows &#039;&#039;&#039;Start&#039;&#039;&#039; button in a &#039;&#039;&#039;Program Group&#039;&#039;&#039; called &#039;&#039;&#039;Kodi&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Upgrading {{kodi}} for Windows ==&lt;br /&gt;
Unless your copy of {{kodi}} is more than two years old, simply installing a newer version of {{kodi}} over an older version should cause no problems. If you are upgrading your copy of {{kodi}}, it is ALWAYS recommended that you backup your data: [[Backup]].&lt;br /&gt;
&lt;br /&gt;
{{youtube|V0eLSeuN0Gs}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Helix updated}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Manual]]&lt;br /&gt;
[[Category:Installation|Windows]]&lt;br /&gt;
[[Category:Windows]]&lt;br /&gt;
[[Category:How-to]]&lt;/div&gt;</summary>
		<author><name>Martijn</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Official:Forum_rules/Banned_add-ons&amp;diff=117148</id>
		<title>Official:Forum rules/Banned add-ons</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Official:Forum_rules/Banned_add-ons&amp;diff=117148"/>
		<updated>2016-02-16T21:02:43Z</updated>

		<summary type="html">&lt;p&gt;Martijn: /* Add-on blacklist */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav| [[Forum rules]] }}&lt;br /&gt;
&lt;br /&gt;
This is an example list of repositories and add-ons that have been identified as violating the {{kodi}} &#039;&#039;&#039;[[forum rules]]&#039;&#039;&#039;. This means they have been banned from any official {{kodi}} forums, websites, IRC channels and any social media accounts that are under the control of [[Team Kodi]] or the [[XBMC Foundation]]. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;This list is only an example, and does not include all add-ons or services that violate the [[forum rules#Piracy Policy|forum rules]].&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
While Team Kodi does not regulate what users install or use, we ask that you do not come to any of the official {{kodi}} websites for support on these repos/add-ons. Failure to do so may result in a ban.&lt;br /&gt;
&lt;br /&gt;
== How do I tell if something is allowed or not==&lt;br /&gt;
{{collapse top|click &amp;quot;Expand&amp;quot; to view the rules on piracy/bootleg video content --&amp;gt;}}&lt;br /&gt;
{{main|forum rules}}&lt;br /&gt;
{{#lst:Official:Forum rules|piracy policy}}&lt;br /&gt;
{{collapse bottom}}&lt;br /&gt;
&lt;br /&gt;
The basic rule of thumb for what is not allowed, is that if the Add-on is offering something for free that you would normally expect to pay for by any other means, then it&#039;ll most likely be using pirate feeds. &lt;br /&gt;
&lt;br /&gt;
If the Add-on simply allows access to web feeds from the rights holders then discussion of these is normally allowed, in this case there generally will be a website equivalent of the service, for example Youtube, BBC iPlayer, Netflix.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note -&#039;&#039;&#039; If the Add-on is from our Official Add-on Repo then it has already been checked that it doesn&#039;t break our rules, therefore anything contained in the Official Repo is safe to discuss in any of our websites/channels.&lt;br /&gt;
&lt;br /&gt;
== Repository blacklist ==&lt;br /&gt;
* Aftershock&lt;br /&gt;
* Fusion&lt;br /&gt;
* J1nx&lt;br /&gt;
* Kinkin&lt;br /&gt;
* Lambda&lt;br /&gt;
* Metal Kettle&lt;br /&gt;
* Mobie&lt;br /&gt;
* Mucky Duck&lt;br /&gt;
* MTLFREETV (Montreal Free TV)&lt;br /&gt;
* SuperRepo&lt;br /&gt;
* Total Installer&lt;br /&gt;
* TOTALXBMC&lt;br /&gt;
* TVADDONS&lt;br /&gt;
* Unity&lt;br /&gt;
* WikiXBMC&lt;br /&gt;
* Wookie&lt;br /&gt;
* XBMCHUB&lt;br /&gt;
* Xfinity (not to be confused with the TV service from Comcast Cable)&lt;br /&gt;
* Xunity / XunityTalk (Xunity Talk)&lt;br /&gt;
&lt;br /&gt;
== Add-on blacklist ==&lt;br /&gt;
* 123Movies&lt;br /&gt;
* 1Channel&lt;br /&gt;
* 4K UHD&lt;br /&gt;
* Adryanlist&lt;br /&gt;
* Aftershock&lt;br /&gt;
* All Movies Stream&lt;br /&gt;
* Amigos&lt;br /&gt;
* Animeram&lt;br /&gt;
* Ares / Ares Wizard&lt;br /&gt;
* BaddAssMovies4U&lt;br /&gt;
* BBTS&lt;br /&gt;
* Beast&lt;br /&gt;
* Binky TV&lt;br /&gt;
* CartoonHD&lt;br /&gt;
* Cartoons8&lt;br /&gt;
* cCloud TV&lt;br /&gt;
* Cloudword&lt;br /&gt;
* Community Portal (The Community Portal)&lt;br /&gt;
* Daffys&lt;br /&gt;
* DexterTV&lt;br /&gt;
* Diesel&lt;br /&gt;
* DOCU-HUB&lt;br /&gt;
* Eliplex TV&lt;br /&gt;
* Entertainment Hub&lt;br /&gt;
* Exodus&lt;br /&gt;
* F.T.V.&lt;br /&gt;
* Film Dictator&lt;br /&gt;
* Free Streams&lt;br /&gt;
* HUB/TVADDONS/Xfinity Config Wizard&lt;br /&gt;
* HUB/TVADDONS/Xfinity &#039;fresh start&#039;&lt;br /&gt;
* Genesis&lt;br /&gt;
* GoMovies&lt;br /&gt;
* GoTV&lt;br /&gt;
* Halow&lt;br /&gt;
* i4atv&lt;br /&gt;
* I Watch Online&lt;br /&gt;
* IceFilms&lt;br /&gt;
* Indian TV (OTT)&lt;br /&gt;
* IPTV Stalker (not to be confused with Stalker Middleware)&lt;br /&gt;
* IPTV Simple Client 2 (not to be confused with the original and official &amp;quot;IPTV Simple Client&amp;quot;)&lt;br /&gt;
* iStream&lt;br /&gt;
* iVue TV&lt;br /&gt;
* iwannawatch&lt;br /&gt;
* J1nxPack (Jinx/J1nx Pack)&lt;br /&gt;
* Jango Music&lt;br /&gt;
* Jeckyll Hyde &lt;br /&gt;
* Kidsflix&lt;br /&gt;
* Kiss Anime&lt;br /&gt;
* Kodiland&lt;br /&gt;
* KodiUK TV Wizard &lt;br /&gt;
* LatestDude&lt;br /&gt;
* Marvin &lt;br /&gt;
* MashUp&lt;br /&gt;
* Mega Search&lt;br /&gt;
* MK Sports&lt;br /&gt;
* Modbro Video&lt;br /&gt;
* MoneySports&lt;br /&gt;
* Movie Hut&lt;br /&gt;
* Movie Night&lt;br /&gt;
* Movie25&lt;br /&gt;
* Movie4k&lt;br /&gt;
* MoviesHD&lt;br /&gt;
* Movies XK&lt;br /&gt;
* MovieStorm&lt;br /&gt;
* MuchMovies&lt;br /&gt;
* Mutts Nuts&lt;br /&gt;
* Navi-X&lt;br /&gt;
* Nemesis&lt;br /&gt;
* NLView &lt;br /&gt;
* OCW Reborn&lt;br /&gt;
* OneClickMoviez&lt;br /&gt;
* Online Movies Pro&lt;br /&gt;
* Operation Robocop &lt;br /&gt;
* Ororo TV (ororo.tv)&lt;br /&gt;
* Plexus &lt;br /&gt;
* Phoenix&lt;br /&gt;
* Popcorn Time&lt;br /&gt;
* Prime Links &lt;br /&gt;
* Primewire&lt;br /&gt;
* Project Cypher&lt;br /&gt;
* ProjectFreeTV (Project Free TV)&lt;br /&gt;
* RapidBit&lt;br /&gt;
* Renegades TV &lt;br /&gt;
* Rlseries&lt;br /&gt;
* RobinHood Project &lt;br /&gt;
* Royal We (The Royal We)&lt;br /&gt;
* SALTS (S.A.L.T.S. - Stream all the Sources)&lt;br /&gt;
* Soap Catchup&lt;br /&gt;
* Stallion&lt;br /&gt;
* SpinzTV&lt;br /&gt;
* SportsAccess&lt;br /&gt;
* Sport-A-Holic&lt;br /&gt;
* SportsDevil&lt;br /&gt;
* StreamStorm TV&lt;br /&gt;
* StreamThis.tv&lt;br /&gt;
* SuperStreams &lt;br /&gt;
* SuperTV&lt;br /&gt;
* TARDIS&lt;br /&gt;
* TeeVee &lt;br /&gt;
* The Beast&lt;br /&gt;
* T-Killa&lt;br /&gt;
* ToonMania&lt;br /&gt;
* TVOnline&lt;br /&gt;
* UK Turk Playlists&lt;br /&gt;
* UK TV Now&lt;br /&gt;
* Wookie Wizard&lt;br /&gt;
* Vdubt25&lt;br /&gt;
* VortechTV&lt;br /&gt;
* Xfinity Installer&lt;br /&gt;
* XMovies8 &lt;br /&gt;
* Yify Movies&lt;br /&gt;
* Zem TV&lt;br /&gt;
* Zeta TV&lt;br /&gt;
* Zeus&lt;br /&gt;
...and most other config wizards / maintenance wizards / addon installers / community builds.&lt;br /&gt;
&lt;br /&gt;
==So where do I get support?==&lt;br /&gt;
&lt;br /&gt;
Every Add-on should contain the authors name, this found by opening the Context menu on the Add-on and selecting &#039;&#039;&#039;Add-on Information&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
[[File:add-on-context.JPG|400px]]&lt;br /&gt;
&lt;br /&gt;
[[File:add-on-info.JPG|400px]]&lt;br /&gt;
&lt;br /&gt;
Generally a search of the Add-on&#039;s name together with the author name will give the location of where the author is active.&lt;br /&gt;
&lt;br /&gt;
For example a search term might be:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kodi TheCollective Youtube&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
__NOINDEX__&lt;br /&gt;
[[Category:Forum]]&lt;/div&gt;</summary>
		<author><name>Martijn</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Addon.xml&amp;diff=113597</id>
		<title>Addon.xml</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Addon.xml&amp;diff=113597"/>
		<updated>2016-02-13T16:19:51Z</updated>

		<summary type="html">&lt;p&gt;Martijn: /* Dependency versions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav|[[Development]]|[[Add-on development]]}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Every skin, script, or plugin in Kodi contains an &amp;lt;code&amp;gt;addon.xml&amp;lt;/code&amp;gt; file which describes the add-on, providing credits, version information and dependencies. Below, we will explain how this file is structured and which elements must be used to create an add-on for Kodi. You can also consult the examples at the end to see how this file is laid out depending on if you are developing a skin or script.&lt;br /&gt;
&lt;br /&gt;
Every &amp;lt;code&amp;gt;addon.xml&amp;lt;/code&amp;gt; file has the same basic structure, this example is for a video plugin:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;yes&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;addon id=&amp;quot;plugin.addon.id&amp;quot; name=&amp;quot;Your Add-on&amp;quot; version=&amp;quot;1.2.3&amp;quot; provider-name=&amp;quot;You&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;requires&amp;gt;&lt;br /&gt;
    &amp;lt;import addon=&amp;quot;xbmc.python&amp;quot; version=&amp;quot;2.1.0&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/requires&amp;gt;&lt;br /&gt;
  &amp;lt;extension point=&amp;quot;xbmc.python.pluginsource&amp;quot; library=&amp;quot;addon.py&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;provides&amp;gt;video&amp;lt;/provides&amp;gt;&lt;br /&gt;
  &amp;lt;/extension&amp;gt;&lt;br /&gt;
  &amp;lt;extension point=&amp;quot;xbmc.addon.metadata&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;summary lang=&amp;quot;en_gb&amp;quot;&amp;gt;Your add-on&#039;s summary&amp;lt;/summary&amp;gt;&lt;br /&gt;
    &amp;lt;description lang=&amp;quot;en_gb&amp;quot;&amp;gt;Your add-on&#039;s description&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;disclaimer lang=&amp;quot;en_gb&amp;quot;&amp;gt;&amp;lt;/disclaimer&amp;gt;&lt;br /&gt;
    &amp;lt;language&amp;gt;&amp;lt;/language&amp;gt;&lt;br /&gt;
    &amp;lt;platform&amp;gt;all&amp;lt;/platform&amp;gt;&lt;br /&gt;
    &amp;lt;license&amp;gt;&amp;lt;/license&amp;gt;&lt;br /&gt;
    &amp;lt;forum&amp;gt;&amp;lt;/forum&amp;gt;&lt;br /&gt;
    &amp;lt;website&amp;gt;&amp;lt;/website&amp;gt;&lt;br /&gt;
    &amp;lt;email&amp;gt;&amp;lt;/email&amp;gt;&lt;br /&gt;
    &amp;lt;source&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
  &amp;lt;/extension&amp;gt;&lt;br /&gt;
&amp;lt;/addon&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There are a few important things to note in the above sample:&lt;br /&gt;
&lt;br /&gt;
* The &amp;lt;code&amp;gt;&amp;lt;addon&amp;gt;&amp;lt;/code&amp;gt; element must be present, and be the root node. It presents data about the add-on package as a whole.&lt;br /&gt;
* Inside the &amp;lt;code&amp;gt;&amp;lt;addon&amp;gt;&amp;lt;/code&amp;gt; element is a &amp;lt;code&amp;gt;&amp;lt;requires&amp;gt;&amp;lt;/code&amp;gt; element, listing all the dependencies that this add-on needs in order to function.&lt;br /&gt;
* Then there are one or more &amp;lt;code&amp;gt;&amp;lt;extension&amp;gt;&amp;lt;/code&amp;gt; elements, each of which describes a part of Kodi that the add-on extends.&lt;br /&gt;
* Finally, there is a specific &amp;lt;code&amp;gt;&amp;lt;extension&amp;gt;&amp;lt;/code&amp;gt; element that extends &amp;lt;code&amp;gt;&amp;quot;xbmc.addon.metadata&amp;quot;&amp;lt;/code&amp;gt;. This describes the add-on to the user.&lt;br /&gt;
&lt;br /&gt;
= Elements =&lt;br /&gt;
 &lt;br /&gt;
== &amp;lt;addon&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;&amp;lt;addon&amp;gt;&amp;lt;/code&amp;gt; element has 4 attributes, all required: &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;version&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;provider-name&amp;lt;/code&amp;gt;. For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;addon id=&amp;quot;script.hello.world&amp;quot; name=&amp;quot;Hello World&amp;quot; version=&amp;quot;0.0.1&amp;quot; provider-name=&amp;quot;Dev1, Dev2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== id attribute ===&lt;br /&gt;
&lt;br /&gt;
The id attribute is the unique identifier used for this add-on.  It must be unique, and must use only lowercase characters, periods, underscores, dashes and numbers.  This identifier is also used as the name of the folder that contains the add-on, so for ease of searching, we suggest you use something like &amp;lt;type&amp;gt;.&amp;lt;uniquename&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== version attribute ===&lt;br /&gt;
&lt;br /&gt;
The version attribute is used by Kodi to determine whether updates are available. This should be use a version scheme like &amp;lt;code&amp;gt;x.y.z&amp;lt;/code&amp;gt; (major.minor.patch). For example: &amp;lt;code&amp;gt;version=&amp;quot;0.0.1&amp;quot;&amp;lt;/code&amp;gt;. Generally, you&#039;ll start with a version of &amp;lt;code&amp;gt;0.y.z&amp;lt;/code&amp;gt; for test releases and once you feel it is ready for a full release, you&#039;d bump the version to &amp;lt;code&amp;gt;1.0.0&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== How versioning works ====&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;2.2.9&amp;lt;/code&amp;gt; is newer than &amp;lt;code&amp;gt;2.2.1&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;2.2.10&amp;lt;/code&amp;gt;   is newer than &amp;lt;code&amp;gt;2.2.1&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;2.3.0&amp;lt;/code&amp;gt;   is newer than &amp;lt;code&amp;gt;2.2.9&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;2.2.1&amp;lt;/code&amp;gt; is newer than &amp;lt;code&amp;gt;2.2.1~alpha&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;2.2.1&amp;lt;/code&amp;gt; is newer than &amp;lt;code&amp;gt;2.2.1~beta&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;2.2.1~beta&amp;lt;/code&amp;gt; is newer than &amp;lt;code&amp;gt;2.2.1~alpha&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;2.2.1~beta3&amp;lt;/code&amp;gt; is newer than &amp;lt;code&amp;gt;2.2.1~beta2&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;2.2.1~beta10&amp;lt;/code&amp;gt; is newer than &amp;lt;code&amp;gt;2.2.1~beta1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{tip|Text should only be added for a beta version. In other cases version number should only contain numbers.}}&lt;br /&gt;
&lt;br /&gt;
=== name attribute ===&lt;br /&gt;
&lt;br /&gt;
The name attribute is the name of the add-on as it appears in the UI.  This should be in English where it makes sense for it to be so, and is not translatable.&lt;br /&gt;
&lt;br /&gt;
=== provider-name attribute ===&lt;br /&gt;
&lt;br /&gt;
The provider-name attribute is used as the author field.  This could be a team of authors or a single author. If the add-on is maintained by multiple people please separate them with a comma (&amp;lt;code&amp;gt;,&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;requires&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;&amp;lt;requires&amp;gt;&amp;lt;/code&amp;gt; element contains one or more &amp;lt;code&amp;gt;&amp;lt;import&amp;gt;&amp;lt;/code&amp;gt; elements which specify which other add-ons this particular add-on requires, and which version of those add-ons it requires. These add-ons may be part of Kodi itself, or may be parts of other third-party add-ons.&lt;br /&gt;
&lt;br /&gt;
Kodi will only allow the add-on to be run if suitable versions of the (non-optional) add-ons on which this add-on depends are installed. When a user installs your add-on from an online repository via Kodi&#039;s add-on manager, Kodi attempts to resolve these dependencies, and install anything that your add-on relies on first. The dependency must be provided with the minimum version number your script/skin requires.&lt;br /&gt;
&lt;br /&gt;
=== Examples ===&lt;br /&gt;
&lt;br /&gt;
Here is a sample &amp;lt;code&amp;gt;&amp;lt;requires&amp;gt;&amp;lt;/code&amp;gt; block that imports two required modules:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;requires&amp;gt;&lt;br /&gt;
  &amp;lt;import addon=&amp;quot;xbmc.python&amp;quot;                 version=&amp;quot;2.14.0&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;import addon=&amp;quot;script.module.elementtree&amp;quot;   version=&amp;quot;1.2.7&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;import addon=&amp;quot;script.module.simplejson&amp;quot;    version=&amp;quot;2.0.10&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/requires&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here&#039;s another example, which will only install on OpenELEC:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;requires&amp;gt;&lt;br /&gt;
  &amp;lt;import addon=&amp;quot;os.openelec.tv&amp;quot; version=&amp;quot;2.0&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/requires&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;import&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
Each &amp;lt;code&amp;gt;&amp;lt;import&amp;gt;&amp;lt;/code&amp;gt; element describes one dependency for an add-on, with two required attributes: &amp;lt;code&amp;gt;addon&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;version&amp;lt;/code&amp;gt;. There is also an optional attribute called, fittingly, &amp;lt;code&amp;gt;optional&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
If your add-on relies on other third-party add-ons, Kodi will automatically install them as well, provided they are available on an existing add-on repository. If they aren&#039;t available on any existing repository, the user must install the other add-ons themselves. Note that you need to include any Python libraries you need directly in your add-on; these can&#039;t be loaded with an &amp;lt;code&amp;gt;&amp;lt;import&amp;gt;&amp;lt;/code&amp;gt; element, since Kodi wouldn&#039;t know what to do with them.&lt;br /&gt;
&lt;br /&gt;
=== addon attribute ===&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;addon&amp;lt;/code&amp;gt; attribute specifies the id of the required add-on, e.g. &amp;lt;code&amp;gt;script.module.elementtree&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== version attribute ===&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;version&amp;lt;/code&amp;gt; attribute specifies the minimum version of the required add-on to be installed.&lt;br /&gt;
&lt;br /&gt;
==== Dependency versions ====&lt;br /&gt;
&lt;br /&gt;
Each different Kodi version might require you to use a higher version of the &amp;lt;code&amp;gt;xbmc.*&amp;lt;/code&amp;gt; add-on dependencies to control on which version of Kodi the add-on can be installed.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ Current versions&lt;br /&gt;
! Kodi version !! xbmc.python !! xbmc.gui !! xbmc.json !! xbmc.metadata !! xbmc.addon&lt;br /&gt;
|-&lt;br /&gt;
| Dharma 10.1 &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;Deprecated&amp;lt;/font&amp;gt;|| 1.0 || 2.11 || 2.0|| 1.0 || 0.1&lt;br /&gt;
|-&lt;br /&gt;
| Eden 11.0 &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;Deprecated&amp;lt;/font&amp;gt; || 2.0 || 3.0 || 4.0 || 1.0 || 11.0&lt;br /&gt;
|-&lt;br /&gt;
| Frodo 12.x &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;Deprecated&amp;lt;/font&amp;gt;|| 2.1.0 || 4.0.0 || 6.0.0 || 2.1.0 || 12.0.0&lt;br /&gt;
|-&lt;br /&gt;
| Gotham 13.x || 2.14.0 (ABI 2.1.0) || 5.0.1 || 6.6.0 (ABI 6.0.0) || 2.1.0 || 13.0.0 (ABI 12.0.0)&lt;br /&gt;
|-&lt;br /&gt;
| Helix 14.x || 2.19.0 (ABI 2.1.0) || 5.3.0 || 6.20.0 (ABI 6.0.0) || 2.1.0 || 14.0.0 (ABI 12.0.0)&lt;br /&gt;
|-&lt;br /&gt;
| Isengard 15.x || 2.20.0 (ABI 2.1.0) || 5.9.0 (ABI 5.3.0) || 6.25.1 (ABI 6.0.0) || 2.1.0 || 15.0.0 (ABI 12.0.0)&lt;br /&gt;
|-&lt;br /&gt;
| Jarvis 16.x || 2.24.0 (ABI 2.1.0) || 5.10.0 || 6.32.4 (ABI 6.0.0) || 2.1.0 || 16.0.0 (ABI 12.0.0)&lt;br /&gt;
|-&lt;br /&gt;
| Krypton 17.x || 2.25.0 (ABI 2.1.0) || 5.11.0 || 6.32.4 (ABI 6.0.0) || 2.1.0 || 17.0.0 (ABI 12.0.0)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Each Kodi version contain a certain backwards compatibility. For example add-ons made for Gotham 13.x can still work ion Jarvis 16.x. Do note that this might change in the future. The &#039;&#039;&#039;ABI&#039;&#039;&#039; version you see in the table above is the backwards compatibility version for which add-ons are still marked &amp;quot;working&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== optional attribute ===&lt;br /&gt;
&lt;br /&gt;
The dependency may be made optional by setting the &amp;lt;code&amp;gt;optional&amp;lt;/code&amp;gt; attribute to &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;. This will only install the dependency when the add-on actually needs it. Even if this dependency is missing, the add-on can still be installed.&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;extension&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;&amp;lt;extension&amp;gt;&amp;lt;/code&amp;gt; element describes the technical aspects of this add-on. It will have at least a point attribute which will give the part of Kodi that the add-on extends. For instance, the &amp;lt;code&amp;gt;addon.xml&amp;lt;/code&amp;gt; file for the Confluence skin extends the &amp;lt;code&amp;gt;xbmc.gui.skin&amp;lt;/code&amp;gt; part of xbmc. All available extension points are given below.&lt;br /&gt;
&lt;br /&gt;
The various extension points that Kodi provides are given in the list below.&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
!Extension point&lt;br /&gt;
!Add-on Category&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;[[Skinning|xbmc.gui.skin]]&amp;lt;/code&amp;gt;&lt;br /&gt;
|Skin&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.webinterface&amp;lt;/code&amp;gt;&lt;br /&gt;
|Web interface&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;[[Add-on repositories|xbmc.addon.repository]]&amp;lt;/code&amp;gt;&lt;br /&gt;
|&#039;&#039;None&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;[[HOW-TO:_Automatically_start_addons_using_services|xbmc.service]]&amp;lt;/code&amp;gt;&lt;br /&gt;
|Services&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.metadata.scraper.albums&amp;lt;/code&amp;gt;&lt;br /&gt;
|Album information&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.metadata.scraper.artists&amp;lt;/code&amp;gt;&lt;br /&gt;
|Artist information&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.metadata.scraper.movies&amp;lt;/code&amp;gt;&lt;br /&gt;
|Movie information&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.metadata.scraper.musicvideos&amp;lt;/code&amp;gt;&lt;br /&gt;
|Music video information&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.metadata.scraper.tvshows&amp;lt;/code&amp;gt;&lt;br /&gt;
|TV information&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.metadata.scraper.library&amp;lt;/code&amp;gt;&lt;br /&gt;
|&#039;&#039;None&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.ui.screensaver&amp;lt;/code&amp;gt;&lt;br /&gt;
|Screensaver&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.player.musicviz&amp;lt;/code&amp;gt;&lt;br /&gt;
|Visualization&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;[[Plugin sources#What Kodi requires for your add-on|xbmc.python.pluginsource]]&amp;lt;/code&amp;gt;&lt;br /&gt;
|Music Add-ons (audio) / Picture Add-ons (image) / Program Add-ons (executable) / Video Add-ons (video)&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;[[Script sources#What Kodi requires for your add-on|xbmc.python.script]]&amp;lt;/code&amp;gt;&lt;br /&gt;
|Music Add-ons (audio) / Picture Add-ons (image) / Program Add-ons (executable) / Video Add-ons (video)&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.python.weather&amp;lt;/code&amp;gt;&lt;br /&gt;
|Weather&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.subtitle.module&amp;lt;/code&amp;gt;&lt;br /&gt;
|Subtitle service module&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;[[Script lyrics#What Kodi requires for your add-on|xbmc.python.lyrics]]&amp;lt;/code&amp;gt;&lt;br /&gt;
|Lyrics&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;[[Script library#What Kodi requires for your add-on|xbmc.python.library]]&amp;lt;/code&amp;gt;&lt;br /&gt;
|&#039;&#039;None&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.python.module&amp;lt;/code&amp;gt;&lt;br /&gt;
|These don&#039;t show up in the addon browser and are purely as support for other scripts.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.addon.video&amp;lt;/code&amp;gt;&lt;br /&gt;
|Video Add-ons (video)&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.addon.audio&amp;lt;/code&amp;gt;&lt;br /&gt;
|Music Add-ons (audio)&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.addon.image&amp;lt;/code&amp;gt;&lt;br /&gt;
|Picture Add-ons (image)&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;kodi.resource.images&amp;lt;/code&amp;gt;&lt;br /&gt;
|Additional image files&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;kodi.resource.language&amp;lt;/code&amp;gt;&lt;br /&gt;
|Additional language files&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Add-ons that don&#039;t correspond to a specific add-on category can not be installed by users. These are usually supporting or shared add-ons that are installed automatically by the add-ons that require them.&lt;br /&gt;
&lt;br /&gt;
=== xbmc.python.pluginsource ===&lt;br /&gt;
{{See also|Plugin sources}}&lt;br /&gt;
&lt;br /&gt;
The most common extension point that will be used by plugin addon developers is &amp;lt;code&amp;gt;xbmc.python.pluginsource&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== library attribute ====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;&amp;lt;extension point=&amp;quot;xbmc.python.pluginsource&amp;quot;&amp;gt;&amp;lt;/code&amp;gt; element has an extra attribute: &amp;lt;code&amp;gt;library&amp;lt;/code&amp;gt;. This is the name of the Python script (startup script) that will be run when the add-on is activated. This file must exist in the root of your add-on directory.&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;provides&amp;gt; element ====&lt;br /&gt;
&lt;br /&gt;
The extension has an additional child element named &amp;lt;code&amp;gt;&amp;lt;provides&amp;gt;&amp;lt;/code&amp;gt;, which contains a whitespace separated list of &amp;lt;code&amp;gt;image&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;video&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;audio&amp;lt;/code&amp;gt;, and/or &amp;lt;code&amp;gt;executable&amp;lt;/code&amp;gt;. This determines in what area (or context) of the Kodi system your addon will make itself visible in:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
!Provides&lt;br /&gt;
!Appears in&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;image&amp;lt;/code&amp;gt;&lt;br /&gt;
|Pictures&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;audio&amp;lt;/code&amp;gt;&lt;br /&gt;
|Music&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;video&amp;lt;/code&amp;gt;&lt;br /&gt;
|Video&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;executable&amp;lt;/code&amp;gt;&lt;br /&gt;
|Programs&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;(blank)&#039;&#039;&lt;br /&gt;
|Not visible&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Example ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;extension point=&amp;quot;xbmc.python.pluginsource&amp;quot; library=&amp;quot;gpodderxbmc.py&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;provides&amp;gt;audio video&amp;lt;/provides&amp;gt;&lt;br /&gt;
&amp;lt;/extension&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== xbmc.addon.metadata ===&lt;br /&gt;
&lt;br /&gt;
This special extension point &#039;&#039;must&#039;&#039; be provided by all add-ons, and is the way that your add-on is described to users of the Kodi add-on manager.&lt;br /&gt;
&lt;br /&gt;
==== Required elements ====&lt;br /&gt;
&lt;br /&gt;
There are several elements that this should contain and all are compulsory (except the broken tag). Each of the elements below must always be present in English as a minimum.&lt;br /&gt;
&lt;br /&gt;
Many of these elements can be translated into multiple languages and should be added once for each supported language. See the [[List of language codes (ISO-639:1988)]] for possible language strings. If there&#039;s no &amp;lt;code&amp;gt;lang&amp;lt;/code&amp;gt; attribute for a translatable element, it defaults to English. However, even for English, adding the &amp;lt;code&amp;gt;lang&amp;lt;/code&amp;gt; attribute is recommended.&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;summary&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
One or more &amp;lt;code&amp;gt;&amp;lt;summary&amp;gt;&amp;lt;/code&amp;gt; elements provide a short summary of what the add-on does. This should be a single sentence. It may be translated into multiple languages.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;summary lang=&amp;quot;en&amp;quot;&amp;gt;Hello World script provides some basic examples on how to create your first script.&amp;lt;/summary&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
From Kodi v15 Isengard we recommend you use&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;summary lang=&amp;quot;en_GB&amp;quot;&amp;gt;Hello World script provides some basic examples on how to create your first script.&amp;lt;/summary&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;description&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
One or more &amp;lt;code&amp;gt;&amp;lt;description&amp;gt;&amp;lt;/code&amp;gt; elements provide a more detailed summary of what the add-on does. It may be translated into multiple languages.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;description lang=&amp;quot;en&amp;quot;&amp;gt;Hello World script provides some basic examples on how to create your first script&lt;br /&gt;
 and hopefully will increase the number of Kodi users to start creating their own addons.&amp;lt;/description&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
From Kodi v15 Isengard we recommend you use&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;description lang=&amp;quot;en_GB&amp;quot;&amp;gt;Hello World script provides some basic examples on how to create your first script&lt;br /&gt;
 and hopefully will increase the number of Kodi users to start creating their own addons.&amp;lt;/description&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;disclaimer&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
One or more &amp;lt;code&amp;gt;&amp;lt;disclaimer&amp;gt;&amp;lt;/code&amp;gt; elements that indicate what (if any) things the user should know about the add-on. There is no need to have a disclaimer if you don&#039;t want one, though if something requires settings, or only works in a particular country then you may want to state this here. It may be translated into multiple languages.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;disclaimer lang=&amp;quot;en&amp;quot;&amp;gt;Feel free to use this script. For information visit the wiki.&amp;lt;/disclaimer&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
From Kodi v15 Isengard we recommend you use&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;disclaimer lang=&amp;quot;en_GB&amp;quot;&amp;gt;Feel free to use this script. For information visit the wiki.&amp;lt;/disclaimer&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;platform&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;&amp;lt;platform&amp;gt;&amp;lt;/code&amp;gt; tag specifies which platforms (operating systems, hardware) this add-on runs on. Many add-ons will run on all platforms, so &amp;lt;code&amp;gt;all&amp;lt;/code&amp;gt; is an option. If the platform tag is missing, we assume the add-on runs on all platforms. A combination of these is also possible. Currently available options are:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;all&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;linux&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;osx&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;osx64&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;osx32&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;ios&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;windx&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;android&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;platform&amp;gt;all&amp;lt;/platform&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;language&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;&amp;lt;language&amp;gt;&amp;lt;/code&amp;gt; elements indicate the language(s) of the &#039;&#039;content&#039;&#039; provided by your add-on. It applies to plugins, scripts, scrapers etc. This allows browsing the add-on list by language. When there is no specific language provided in your content, leave it blank.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;language&amp;gt;en de fr&amp;lt;/language&amp;gt;&lt;br /&gt;
    or&lt;br /&gt;
&amp;lt;language&amp;gt;&amp;lt;/language&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;license&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;&amp;lt;license&amp;gt;&amp;lt;/code&amp;gt; element indicates what license is used for this add-on.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;license&amp;gt;GNU GENERAL PUBLIC LICENSE. Version 2, June 1991&amp;lt;/license&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;forum&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;&amp;lt;forum&amp;gt;&amp;lt;/code&amp;gt; element provides the forum thread URL for this specific add-on. Leave this blank if there is no forum thread.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;forum&amp;gt;http://www.myaddonwebsite.com/forum.php?thread=12345&amp;lt;/forum&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;website&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;&amp;lt;website&amp;gt;&amp;lt;/code&amp;gt; element provides the website URL for this specific add-on.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;website&amp;gt;http://www.myaddonwebsite.com/&amp;lt;/website&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;nowiki&amp;gt;&amp;lt;source&amp;gt;&amp;lt;/nowiki&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;source&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; element provides the URL for the source code for this specific add-on.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;source&amp;gt;http://github.com/someone/myaddon&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;email&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;&amp;lt;email&amp;gt;&amp;lt;/code&amp;gt; element provides the email address of the author if he wishes to do so for this specific add-on. Here are two examples of how you can make it look (the second one it harder for spambots to use). This can be left blank if you do not want to make your email address public.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;email&amp;gt;foo@bar.com&amp;lt;/email&amp;gt;&lt;br /&gt;
    or&lt;br /&gt;
&amp;lt;email&amp;gt;foo at bar dot com&amp;lt;/email&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;broken&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;&amp;lt;broken&amp;gt;&amp;lt;/code&amp;gt; tag will mark the add-on as broken in the Kodi repo and provide the reason why. You don&#039;t need to do a version bump for this to work. However a bump is recommended as you could also add this to the changelog.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;broken&amp;gt;deprecated&amp;lt;/broken&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Skin specific elements ==&lt;br /&gt;
=== Overview ===&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
|  &#039;&#039;&#039;effectslowdown&#039;&#039;&#039;&lt;br /&gt;
|  A multiplier that is applied to all &amp;lt;animation&amp;gt; effect lengths in the skin. Useful to slow down all animations globally so that you can better configure timings and see interactions between animating controls.&lt;br /&gt;
|- &lt;br /&gt;
|  &#039;&#039;&#039;debugging&#039;&#039;&#039;&lt;br /&gt;
|  When set to true, it&#039;ll display onscreen debug information (xml filename, mouse position and focused control type and name) in the skin.&lt;br /&gt;
|- &lt;br /&gt;
|  &#039;&#039;&#039;res&#039;&#039;&#039;&lt;br /&gt;
|  Support for arbitrary skin resolutions.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== How window xml files are found ===&lt;br /&gt;
&lt;br /&gt;
Kodi can run in many differing resolutions, and a skin should try and cater to all these resolutions. The easiest way is to develop for one specific resolution and make sure that all controls contain &amp;lt;width&amp;gt; and &amp;lt;height&amp;gt; tags. That way, Kodi can scale the controls to the new screen resolution.&lt;br /&gt;
&lt;br /&gt;
However, you may choose to develop alternative window xml files for differing resolutions (such as for HDTV resolutions, or for widescreen versus 4x3 resolutions).&lt;br /&gt;
&lt;br /&gt;
The order that Kodi looks for it&#039;s skin files are as follows:&lt;br /&gt;
&lt;br /&gt;
# It first looks in the current screenmode folder (one of 1080i, 720p, NTSC16x9, NTSC, PAL16x9 or PAL)&lt;br /&gt;
# If the current screenmode is 1080i and there&#039;s no 1080i folder, it then looks in the 720p folder.&lt;br /&gt;
# Finally, it looks in the &#039;&#039;&#039;res&#039;&#039;&#039; folder.&lt;br /&gt;
&lt;br /&gt;
This allows you to just put any window files that do not require special treatment for 16x9 resolutions etc. in the &amp;lt;defaultresolution&amp;gt; folder, preventing needless repetition.&lt;br /&gt;
&lt;br /&gt;
= Examples =&lt;br /&gt;
&lt;br /&gt;
== addon.xml for skins ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
﻿&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;addon&lt;br /&gt;
  id=&amp;quot;skin.confluence&amp;quot;&lt;br /&gt;
  version=&amp;quot;2.1.3&amp;quot;&lt;br /&gt;
  name=&amp;quot;Confluence&amp;quot;&lt;br /&gt;
  provider-name=&amp;quot;Jezz_X, Team Kodi&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;requires&amp;gt;&lt;br /&gt;
    &amp;lt;import addon=&amp;quot;xbmc.gui&amp;quot; version=&amp;quot;4.0.0&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/requires&amp;gt;&lt;br /&gt;
  &amp;lt;extension&lt;br /&gt;
    point=&amp;quot;xbmc.gui.skin&amp;quot;&lt;br /&gt;
    debugging=&amp;quot;false&amp;quot;&lt;br /&gt;
    effectslowdown=&amp;quot;0.75&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;res width=&amp;quot;1280&amp;quot; height=&amp;quot;720&amp;quot; aspect=&amp;quot;16:9&amp;quot; default=&amp;quot;true&amp;quot; folder=&amp;quot;720p&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;/extension&amp;gt;&lt;br /&gt;
  &amp;lt;extension point=&amp;quot;xbmc.addon.metadata&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;summary lang=&amp;quot;en&amp;quot;&amp;gt;Confluence skin by Jezz_X. (Kodi&#039;s default skin)&amp;lt;/summary&amp;gt;&lt;br /&gt;
    &amp;lt;description lang=&amp;quot;en&amp;quot;&amp;gt;Confluence is the default skin for Kodi 9.11 and above. It is a combination of concepts from many popular skins, and attempts to embrace and integrate their good ideas into a skin that should be easy for first time Kodi users to understand and use.&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;disclaimer lang=&amp;quot;en&amp;quot;&amp;gt;Confluence is the default skin for Kodi, removing it may cause issues&amp;lt;/disclaimer&amp;gt;&lt;br /&gt;
    &amp;lt;platform&amp;gt;all&amp;lt;/platform&amp;gt;&lt;br /&gt;
    &amp;lt;license&amp;gt;GNU GENERAL PUBLIC LICENSE. Version 2, June 1991&amp;lt;/license&amp;gt;&lt;br /&gt;
    &amp;lt;forum&amp;gt;&amp;lt;/forum&amp;gt;&lt;br /&gt;
    &amp;lt;website&amp;gt;&amp;lt;/website&amp;gt;&lt;br /&gt;
    &amp;lt;email&amp;gt;&amp;lt;/email&amp;gt;&lt;br /&gt;
    &amp;lt;source&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
  &amp;lt;/extension&amp;gt;&lt;br /&gt;
&amp;lt;/addon&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
One thing to note is that &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;all tag names are lower case.&amp;lt;/font&amp;gt; XML tag names are case sensitive!&lt;br /&gt;
&lt;br /&gt;
== addon.xml for scripts ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;yes&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;addon&lt;br /&gt;
    id=&amp;quot;script.artwork.downloader&amp;quot;&lt;br /&gt;
    name=&amp;quot;Artwork Downloader&amp;quot;&lt;br /&gt;
    version=&amp;quot;12.0.12&amp;quot;&lt;br /&gt;
    provider-name=&amp;quot;Martijn&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;requires&amp;gt;&lt;br /&gt;
    &amp;lt;import addon=&amp;quot;xbmc.python&amp;quot;                 version=&amp;quot;2.1.0&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;import addon=&amp;quot;xbmc.json&amp;quot;                   version=&amp;quot;6.0.0&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;import addon=&amp;quot;xbmc.addon&amp;quot;                  version=&amp;quot;12.0.0&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;import addon=&amp;quot;script.module.elementtree&amp;quot;   version=&amp;quot;1.2.7&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;import addon=&amp;quot;script.module.simplejson&amp;quot;    version=&amp;quot;2.0.10&amp;quot; optional=&amp;quot;true&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;import addon=&amp;quot;script.common.plugin.cache&amp;quot;  version=&amp;quot;1.3.0&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/requires&amp;gt;&lt;br /&gt;
  &amp;lt;extension point=&amp;quot;xbmc.python.script&amp;quot;         library=&amp;quot;default.py&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;provides&amp;gt;executable&amp;lt;/provides&amp;gt;&lt;br /&gt;
  &amp;lt;/extension&amp;gt;&lt;br /&gt;
  &amp;lt;extension point=&amp;quot;xbmc.service&amp;quot; library=&amp;quot;service.py&amp;quot; start=&amp;quot;login&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;extension point=&amp;quot;xbmc.addon.metadata&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;summary lang=&amp;quot;en&amp;quot;&amp;gt;Downloads Artwork for TV shows, Movies and Musicvideos in your library&amp;lt;/summary&amp;gt;&lt;br /&gt;
    &amp;lt;description lang=&amp;quot;en&amp;quot;&amp;gt;Downloads all available artwork for TV shows, Movies and Musicvideos in your library. Check the options for supported artwork[CR]Artwork sources:[CR]www.fanart.tv[CR]www.thetvdb.com[CR]www.themoviedb.org[CR]Remark:[CR]Check your skin to see what type of artwork is supported![CR]Each TV Show/Movie must have its own folder![CR]Skin integration:[CR]See readme file&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;disclaimer lang=&amp;quot;en&amp;quot;&amp;gt;For bugs, requests or general questions visit the Artwork Downloader thread on the Kodi forum.&amp;lt;/disclaimer&amp;gt;&lt;br /&gt;
    &amp;lt;language&amp;gt;&amp;lt;/language&amp;gt;&lt;br /&gt;
    &amp;lt;platform&amp;gt;all&amp;lt;/platform&amp;gt;&lt;br /&gt;
    &amp;lt;license&amp;gt;GNU GENERAL PUBLIC LICENSE. Version 2, June 1991&amp;lt;/license&amp;gt;&lt;br /&gt;
    &amp;lt;forum&amp;gt;&amp;lt;/forum&amp;gt;&lt;br /&gt;
    &amp;lt;website&amp;gt;&amp;lt;/website&amp;gt;&lt;br /&gt;
    &amp;lt;email&amp;gt;&amp;lt;/email&amp;gt;&lt;br /&gt;
    &amp;lt;source&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
  &amp;lt;/extension&amp;gt;&lt;br /&gt;
&amp;lt;/addon&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Schema Definition =&lt;br /&gt;
&lt;br /&gt;
The XML schema definition for &amp;lt;code&amp;gt;addon.xml&amp;lt;/code&amp;gt; is located [https://github.com/xbmc/xbmc/blob/master/addons/xbmc.addon/metadata.xsd here].&lt;br /&gt;
&lt;br /&gt;
{{frodo updated}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Add-on development]]&lt;br /&gt;
[[Category:Skin development]]&lt;/div&gt;</summary>
		<author><name>Martijn</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Submitting_Add-ons&amp;diff=113596</id>
		<title>Submitting Add-ons</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Submitting_Add-ons&amp;diff=113596"/>
		<updated>2016-02-13T16:17:24Z</updated>

		<summary type="html">&lt;p&gt;Martijn: /* Allowed submissions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav|[[Development]]|[[Add-on development]]}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Submitting a Compliant Add-on to the Kodi.tv Repo ===&lt;br /&gt;
&lt;br /&gt;
After you have read the [[Add-on rules|repository guidelines]] and made sure your addon is compliant with them, you may begin the submission process using the following steps.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Allowed submissions ===&lt;br /&gt;
&lt;br /&gt;
We have restricted the allowed submissions of add-ons to past Kodi versions.&lt;br /&gt;
Several reasons:&lt;br /&gt;
* Kodi code improvements&lt;br /&gt;
* Reduce support load for add-on developers&lt;br /&gt;
* Reduce workload for repository maintainers&lt;br /&gt;
&lt;br /&gt;
Below is a table of on which submissions are allowed to official Kodi repository.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ Allowed add-on submissions&lt;br /&gt;
! codename !! version !! update !! new&lt;br /&gt;
|-&lt;br /&gt;
| Dharma || 10.x || no || no&lt;br /&gt;
|-&lt;br /&gt;
| Eden || 11.x || no || no&lt;br /&gt;
|-&lt;br /&gt;
| Frodo || 12.x || no || no&lt;br /&gt;
|-&lt;br /&gt;
| Gotham || 13.x || yes || no&lt;br /&gt;
|-&lt;br /&gt;
| Helix || 14.x || yes || no&lt;br /&gt;
|-&lt;br /&gt;
| Isengard || 15.x || yes || yes&lt;br /&gt;
|-&lt;br /&gt;
| Jarvis || 16.x || yes || yes&lt;br /&gt;
|-&lt;br /&gt;
| Krypton || 17.x || yes || yes&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Additional feature is that we now use combined repositories. So if your add-on is Gotham/Helix compatible, you only need to send it to Gotham repository.&lt;br /&gt;
If it&#039;s only Helix compatible you need to send it to Helix repository.&lt;br /&gt;
This of course requires that the minimal Kodi dependencies are set accordingly.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ Which repos are used&lt;br /&gt;
! codename !! version !! repo&lt;br /&gt;
|-&lt;br /&gt;
| Dharma || 10.x || Dharma&lt;br /&gt;
|-&lt;br /&gt;
| Eden || 11.x || Eden&lt;br /&gt;
|-&lt;br /&gt;
| Frodo || 12.x || Frodo&lt;br /&gt;
|-&lt;br /&gt;
| Gotham || 13.x || Gotham&lt;br /&gt;
|-&lt;br /&gt;
| Helix || 14.x || Gotham || Helix&lt;br /&gt;
|-&lt;br /&gt;
| Isengard || 15.x || Gotham || Helix || Isengard&lt;br /&gt;
|-&lt;br /&gt;
| Jarvis || 16.x || Gotham || Helix || Isengard  || Jarvis&lt;br /&gt;
|-&lt;br /&gt;
| Krypton || 17.x || Gotham || Helix || Isengard  || Jarvis  || Krypton&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{see also|Addon.xml#Dependency_versions}}&lt;br /&gt;
&lt;br /&gt;
=== The mailing list ===&lt;br /&gt;
We ask that all Add-on authors subscribe to the [https://lists.sourceforge.net/lists/listinfo/xbmc-addons Add-ons Mailing List].&lt;br /&gt;
This is done for several reasons.&lt;br /&gt;
:* This is where all updates and important information will be announced.&lt;br /&gt;
:* This way we can contact you regarding your add-ons if necessary.&lt;br /&gt;
:* You can see what other devs are requesting to be added so you know if possibly you need to check compatibility of the add-on you depend on.&lt;br /&gt;
:* You may find new and interesting add-ons this way on which you can get inspiration from or may depend on.&lt;br /&gt;
&lt;br /&gt;
After you have subscribed to the [https://lists.sourceforge.net/lists/listinfo/xbmc-addons Add-ons Mailing List] you will be send a conformation e-mail. Be sure to accept this before you can submit to the [https://lists.sourceforge.net/lists/listinfo/xbmc-addons Mailing List].&lt;br /&gt;
&lt;br /&gt;
All pull requests should be sent to this list so that repository maintainers will be notified that you want to add of update your add-on. They will do a sanity check if all seems ok and you are following the Kodi guidelines for add-ons. If any issues or questions arise they will contact you through the e-mail you registered with.&lt;br /&gt;
Once all checks out fine your add-on is added to repository and you will receive a confirmation e-mail that it is added.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{tip|To un-subscribe from the mailinglist follow the same link as [https://lists.sourceforge.net/lists/listinfo/xbmc-addons Add-ons Mailing List] and there&#039;s the option to unsubscribe at the bottom}}&lt;br /&gt;
&lt;br /&gt;
==== How to submit your add-on and subsequent updates ====&lt;br /&gt;
&lt;br /&gt;
In order to submit your addon, you must send a request that we add or update your add-on to the [https://lists.sourceforge.net/lists/listinfo/xbmc-addons Add-ons Mailing List] (We call this a &amp;quot;pull request.&amp;quot;). Each request will require a version bump in the [[addon.xml]]. We ask that you also keep a [[Add-on structure#changelog.txt|changelog.txt]] up to date so that users may easily see what has changed. &lt;br /&gt;
&lt;br /&gt;
Note that .xbt files will be generated automatically for skins so you do not include this in your pull request.&lt;br /&gt;
&lt;br /&gt;
There are several ways to request that we add or update your add-on. Please preface threads using the following conventions:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Type !! Description&lt;br /&gt;
|-&lt;br /&gt;
| [Git Pull]|| Submit a request that we pull from your repo. This should include a url, branch/tag/revision, and the addon to pull. HEAD is NOT a revision.&lt;br /&gt;
|-&lt;br /&gt;
| [SVN Pull]|| Same as [Git Pull]&lt;br /&gt;
|-&lt;br /&gt;
| [Zip Pull]|| By far the least used but still a valid way. Submit a link where the add-on zip can be downloaded from.&lt;br /&gt;
For example you can just give us the link to .zip in your dropbox account. We do not want to download it from a public download site that holds questionable content or is filled with ads.&lt;br /&gt;
|-&lt;br /&gt;
| [Patch]|| Sometimes you may wish to submit a patch to the author for review.&lt;br /&gt;
Under most circumstances we will not merge this directly, it should go to the upstream maintainer first.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
After you have send it to the mailing list please keep an eye out for any reply from our repository maintainers if there are any remarks or changes needed or a simple confirmation it has been added. Do note it might take some time to process the request.&lt;br /&gt;
&lt;br /&gt;
After it has been added or updated it will be available from the Kodi repository in Kodi itself, on http://addons.kodi.tv/ and on the wiki page http://kodi.wiki/index.php?title=Category:All_add-ons.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Note|Please locate you add-on in the root of the git repository. This to make sure we can easily pull the add-on into our repository.&lt;br /&gt;
Example: https://github.com/XBMC-Addons/service.xbmc.versioncheck}}&lt;br /&gt;
&lt;br /&gt;
==== Example e-mail ====&lt;br /&gt;
&lt;br /&gt;
Subject:&lt;br /&gt;
  [Git Pull] my.cool.plugin&lt;br /&gt;
Body:&lt;br /&gt;
  *addon -   my.cool.plugin&lt;br /&gt;
  *version - 1.1.0&lt;br /&gt;
  *url - git://some.where.git&lt;br /&gt;
  *revision - a241345a&lt;br /&gt;
  *branch - master&lt;br /&gt;
  *xbmc version - helix&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Note|If you want to request multiple add-ons to be added you can just do this in one e-mail as long as you provide the &amp;quot;Body&amp;quot; part each time for every add-on and every Kodi version you want it to be included to. In this case the subject field doesn&#039;t need to contain the add-on name. Do provide the &amp;quot;[Git Pull]&amp;quot; part at least.}}&lt;br /&gt;
&lt;br /&gt;
{{tip|At this moment Frodo/Gotham/Helix combine all repos into one single repo list in Kodi. You only need to do a request for the minimum repo your add-on supports.}}&lt;br /&gt;
&lt;br /&gt;
=== Github ===&lt;br /&gt;
&lt;br /&gt;
Alternatively, add-on updates may be submitted directly to the [[Official add-on repository]] on Github as pull requests. In addition to the [[Add-on rules|repository guidelines]] the following rules apply when submitting PRs on Github:&lt;br /&gt;
&lt;br /&gt;
* PR should contain one commit only.&lt;br /&gt;
* Commit message should have the format &amp;quot;[addonid] version&amp;quot;. Example: &amp;quot;[my.cool.addon] 1.0.1&amp;quot; &lt;br /&gt;
&lt;br /&gt;
As with mailing list, only PRs from add-on author will be accepted. Patches should be submitted upstream. For an easy way to create PR from your own git repository, see [[HOW-TO: create add-on PRs using Git Subtree Merging]].&lt;br /&gt;
&lt;br /&gt;
[[Category:Add-on development]]&lt;/div&gt;</summary>
		<author><name>Martijn</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Official:Sponsorship&amp;diff=113498</id>
		<title>Official:Sponsorship</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Official:Sponsorship&amp;diff=113498"/>
		<updated>2016-02-04T18:58:10Z</updated>

		<summary type="html">&lt;p&gt;Martijn: /* Sponsorship Levels */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav|[[XBMC Foundation]]}}&lt;br /&gt;
&lt;br /&gt;
== Sponsorship ==&lt;br /&gt;
&lt;br /&gt;
XBMC is a fairly expensive operation to maintain, and as such, we are always happy to welcome new sponsors to the fold, as additional sponsorships tend to make it easier to further development and spread the word. Donations are used solely for purchasing hardware, to improve and extend XBMC, travel for conferences, operational costs and administrative/legal costs and fees. The &amp;quot;&#039;&#039;&#039;XBMC Foundation&#039;&#039;&#039;&amp;quot; is the non-profit organization that operates and endorses the [[XBMC Media Center]] project, and is registered in the US. To become a XBMC Foundation sponsor, any organization may simply contact the XBMC Foundation at contact (at) xbmc dot org.&lt;br /&gt;
&lt;br /&gt;
With that said, the [[XBMC Foundation]] remains a non-profit organization, and as such, we would like very much to combine simple financial growth with definite software and community growth. Keeping that in mind, we ask that all potential sponsors answer the following brief questions in their contact email:&lt;br /&gt;
&lt;br /&gt;
    1. In a paragraph, could you tell us a bit about your organization?&lt;br /&gt;
    2. Why would you like to become an XBMC Foundation sponsor?&lt;br /&gt;
    3. What efforts have you made, if any, to advance Open Source Software generally and XBMC specifically?&lt;br /&gt;
    4. What level of XBMC Sponsorship are  you interested in?&lt;br /&gt;
&lt;br /&gt;
== Becoming an XBMC Sponsor ==&lt;br /&gt;
&lt;br /&gt;
Sponsorship can come in many forms.&lt;br /&gt;
- Promoting the usage our product by displaying it at conventions&lt;br /&gt;
- Providing needed hardware to develop on, expand current possibilities or support new platforms.&lt;br /&gt;
- Donating a certain amount of funds to help maintain our current goals.&lt;br /&gt;
&lt;br /&gt;
We also provide the option for companies to become official sponsors (see the sponsors banner on our front page). In addition to the satisfaction of helping the open-source community, sponsors are entitled to some special perks as well. We strongly encourage anyone using XBMC as part of their business model to sponsor us in some way, though you are welcome to keep the details private if you wish.&lt;br /&gt;
&lt;br /&gt;
Please understand that we cannot give legal advice regarding your possible implementation of our software. Multimedia licensing/copyrights/patents are very tricky, please contact a software attorney for help with these questions.&lt;br /&gt;
&lt;br /&gt;
If you would like to discuss these aspects in more depth, please contact us so we can possibly work out any possible details.&lt;br /&gt;
&lt;br /&gt;
Contact us at interest (at) xbmc dot org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Sponsorship Levels ==&lt;br /&gt;
=== DevCon Sponsor ===&lt;br /&gt;
&lt;br /&gt;
Each year, Team XBMC hosts a single Developers Conference sometime in early fall, typically in September. Each year we are happy to accept a single DevCon Sponsor to help defray the costs of the Conference. The DevCon sponsor will have its name included on all DevCon t-shirts, including any DevCon t-shirts the organization determines to sell to the general public. The DevCon sponsor will also have its name included in any Conference banners and the Conference and next Beta 1 blog posts. Finally, the DevCon Sponsor will receive all the perks of being a Diamond Sponsor.&lt;br /&gt;
&lt;br /&gt;
The cost of the DevCon Sponsorship is negotiable.&lt;br /&gt;
&lt;br /&gt;
=== Diamond Sponsor ===&lt;br /&gt;
&lt;br /&gt;
All Diamond Sponsors will be listed alphabetically on the sponsorship page along with their logo, as well as having two links on the front page of the XBMC blog, at least one of which will be above the “fold.” All Diamond Sponsors may refer to themselves as an “XBMC Foundation Sponsor” or simply as an “Kodi Sponsor.” Diamond Sponsors are invited to come speak to the Team at the yearly DevCon at their expense.&lt;br /&gt;
&lt;br /&gt;
A yearly Diamond Sponsorship costs $10,000, a portion of which may be donated as services (particularly services critical to the development or maintenance of Kodi) at the behest of the Foundation Board of Directors.&lt;br /&gt;
&lt;br /&gt;
=== Gold Sponsor ===&lt;br /&gt;
&lt;br /&gt;
All Gold Sponsors will be linked in text on the sponsorship page. All Gold Sponsors may refer to themselves in press as an “XBMC Foundation Sponsor” or simply as an “Kodi Sponsor.” Gold Sponsors are invited to come speak to the Team at the yearly DevCon at their expense.&lt;br /&gt;
&lt;br /&gt;
A yearly Gold Sponsorship costs $2,500, a portion of which may be donated as services at the behest of the Foundation Board of Directors.&lt;br /&gt;
&lt;br /&gt;
== Terms and Conditions ==&lt;br /&gt;
&lt;br /&gt;
The [[XBMC Foundation]] reserves the right to refuse any sponsorship for any reason. No goods or services will be transferred to any sponsor in connection with their donation. Only the mentioned rights mentioned in the [[Sponsorship#Sponsorship_Levels|sponsorship levels]] are granted to the sponsor, unless otherwise agreed in the sponsorship deal, which must approved by the Board of directors. All sponsor must follow our [[rules of conduct]].&lt;br /&gt;
&lt;br /&gt;
== Sponsors ==&lt;br /&gt;
&lt;br /&gt;
The following pages contain the present and past sponsors who have contributed to the [[XBMC Foundation]].&lt;br /&gt;
&lt;br /&gt;
:* [[Sponsorship/Present|Present sponsorships]]&lt;br /&gt;
&lt;br /&gt;
:* [[Sponsorship/Past|Past sponsorships]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:XBMC Foundation]]&lt;/div&gt;</summary>
		<author><name>Martijn</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Addon.xml&amp;diff=111216</id>
		<title>Addon.xml</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Addon.xml&amp;diff=111216"/>
		<updated>2015-12-28T09:22:28Z</updated>

		<summary type="html">&lt;p&gt;Martijn: /* xbmc.addon.metadata */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav|[[Development]]|[[Add-on development]]}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Every skin, script, or plugin in Kodi contains an &amp;lt;code&amp;gt;addon.xml&amp;lt;/code&amp;gt; file which describes the add-on, providing credits, version information and dependencies. Below, we will explain how this file is structured and which elements must be used to create an add-on for Kodi. You can also consult the examples at the end to see how this file is laid out depending on if you are developing a skin or script.&lt;br /&gt;
&lt;br /&gt;
Every &amp;lt;code&amp;gt;addon.xml&amp;lt;/code&amp;gt; file has the same basic structure, this example is for a video plugin:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;yes&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;addon id=&amp;quot;plugin.addon.id&amp;quot; name=&amp;quot;Your Add-on&amp;quot; version=&amp;quot;1.2.3&amp;quot; provider-name=&amp;quot;You&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;requires&amp;gt;&lt;br /&gt;
    &amp;lt;import addon=&amp;quot;xbmc.python&amp;quot; version=&amp;quot;2.1.0&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/requires&amp;gt;&lt;br /&gt;
  &amp;lt;extension point=&amp;quot;xbmc.python.pluginsource&amp;quot; library=&amp;quot;addon.py&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;provides&amp;gt;video&amp;lt;/provides&amp;gt;&lt;br /&gt;
  &amp;lt;/extension&amp;gt;&lt;br /&gt;
  &amp;lt;extension point=&amp;quot;xbmc.addon.metadata&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;summary lang=&amp;quot;en_gb&amp;quot;&amp;gt;Your add-on&#039;s summary&amp;lt;/summary&amp;gt;&lt;br /&gt;
    &amp;lt;description lang=&amp;quot;en_gb&amp;quot;&amp;gt;Your add-on&#039;s description&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;disclaimer lang=&amp;quot;en_gb&amp;quot;&amp;gt;&amp;lt;/disclaimer&amp;gt;&lt;br /&gt;
    &amp;lt;language&amp;gt;&amp;lt;/language&amp;gt;&lt;br /&gt;
    &amp;lt;platform&amp;gt;all&amp;lt;/platform&amp;gt;&lt;br /&gt;
    &amp;lt;license&amp;gt;&amp;lt;/license&amp;gt;&lt;br /&gt;
    &amp;lt;forum&amp;gt;&amp;lt;/forum&amp;gt;&lt;br /&gt;
    &amp;lt;website&amp;gt;&amp;lt;/website&amp;gt;&lt;br /&gt;
    &amp;lt;email&amp;gt;&amp;lt;/email&amp;gt;&lt;br /&gt;
    &amp;lt;source&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
  &amp;lt;/extension&amp;gt;&lt;br /&gt;
&amp;lt;/addon&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There are a few important things to note in the above sample:&lt;br /&gt;
&lt;br /&gt;
* The &amp;lt;code&amp;gt;&amp;lt;addon&amp;gt;&amp;lt;/code&amp;gt; element must be present, and be the root node. It presents data about the add-on package as a whole.&lt;br /&gt;
* Inside the &amp;lt;code&amp;gt;&amp;lt;addon&amp;gt;&amp;lt;/code&amp;gt; element is a &amp;lt;code&amp;gt;&amp;lt;requires&amp;gt;&amp;lt;/code&amp;gt; element, listing all the dependencies that this add-on needs in order to function.&lt;br /&gt;
* Then there are one or more &amp;lt;code&amp;gt;&amp;lt;extension&amp;gt;&amp;lt;/code&amp;gt; elements, each of which describes a part of Kodi that the add-on extends.&lt;br /&gt;
* Finally, there is a specific &amp;lt;code&amp;gt;&amp;lt;extension&amp;gt;&amp;lt;/code&amp;gt; element that extends &amp;lt;code&amp;gt;&amp;quot;xbmc.addon.metadata&amp;quot;&amp;lt;/code&amp;gt;. This describes the add-on to the user.&lt;br /&gt;
&lt;br /&gt;
= Elements =&lt;br /&gt;
 &lt;br /&gt;
== &amp;lt;addon&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;&amp;lt;addon&amp;gt;&amp;lt;/code&amp;gt; element has 4 attributes, all required: &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;version&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;provider-name&amp;lt;/code&amp;gt;. For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;addon id=&amp;quot;script.hello.world&amp;quot; name=&amp;quot;Hello World&amp;quot; version=&amp;quot;0.0.1&amp;quot; provider-name=&amp;quot;Dev1, Dev2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== id attribute ===&lt;br /&gt;
&lt;br /&gt;
The id attribute is the unique identifier used for this add-on.  It must be unique, and must use only lowercase characters, periods, underscores, dashes and numbers.  This identifier is also used as the name of the folder that contains the add-on, so for ease of searching, we suggest you use something like &amp;lt;type&amp;gt;.&amp;lt;uniquename&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== version attribute ===&lt;br /&gt;
&lt;br /&gt;
The version attribute is used by Kodi to determine whether updates are available. This should be use a version scheme like &amp;lt;code&amp;gt;x.y.z&amp;lt;/code&amp;gt; (major.minor.patch). For example: &amp;lt;code&amp;gt;version=&amp;quot;0.0.1&amp;quot;&amp;lt;/code&amp;gt;. Generally, you&#039;ll start with a version of &amp;lt;code&amp;gt;0.y.z&amp;lt;/code&amp;gt; for test releases and once you feel it is ready for a full release, you&#039;d bump the version to &amp;lt;code&amp;gt;1.0.0&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== How versioning works ====&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;2.2.9&amp;lt;/code&amp;gt; is newer than &amp;lt;code&amp;gt;2.2.1&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;2.2.10&amp;lt;/code&amp;gt;   is newer than &amp;lt;code&amp;gt;2.2.1&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;2.3.0&amp;lt;/code&amp;gt;   is newer than &amp;lt;code&amp;gt;2.2.9&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;2.2.1&amp;lt;/code&amp;gt; is newer than &amp;lt;code&amp;gt;2.2.1~alpha&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;2.2.1&amp;lt;/code&amp;gt; is newer than &amp;lt;code&amp;gt;2.2.1~beta&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;2.2.1~beta&amp;lt;/code&amp;gt; is newer than &amp;lt;code&amp;gt;2.2.1~alpha&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;2.2.1~beta3&amp;lt;/code&amp;gt; is newer than &amp;lt;code&amp;gt;2.2.1~beta2&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;2.2.1~beta10&amp;lt;/code&amp;gt; is newer than &amp;lt;code&amp;gt;2.2.1~beta1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{tip|Text should only be added for a beta version. In other cases version number should only contain numbers.}}&lt;br /&gt;
&lt;br /&gt;
=== name attribute ===&lt;br /&gt;
&lt;br /&gt;
The name attribute is the name of the add-on as it appears in the UI.  This should be in English where it makes sense for it to be so, and is not translatable.&lt;br /&gt;
&lt;br /&gt;
=== provider-name attribute ===&lt;br /&gt;
&lt;br /&gt;
The provider-name attribute is used as the author field.  This could be a team of authors or a single author. If the add-on is maintained by multiple people please separate them with a comma (&amp;lt;code&amp;gt;,&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;requires&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;&amp;lt;requires&amp;gt;&amp;lt;/code&amp;gt; element contains one or more &amp;lt;code&amp;gt;&amp;lt;import&amp;gt;&amp;lt;/code&amp;gt; elements which specify which other add-ons this particular add-on requires, and which version of those add-ons it requires. These add-ons may be part of Kodi itself, or may be parts of other third-party add-ons.&lt;br /&gt;
&lt;br /&gt;
Kodi will only allow the add-on to be run if suitable versions of the (non-optional) add-ons on which this add-on depends are installed. When a user installs your add-on from an online repository via Kodi&#039;s add-on manager, Kodi attempts to resolve these dependencies, and install anything that your add-on relies on first. The dependency must be provided with the minimum version number your script/skin requires.&lt;br /&gt;
&lt;br /&gt;
=== Examples ===&lt;br /&gt;
&lt;br /&gt;
Here is a sample &amp;lt;code&amp;gt;&amp;lt;requires&amp;gt;&amp;lt;/code&amp;gt; block that imports two required modules:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;requires&amp;gt;&lt;br /&gt;
  &amp;lt;import addon=&amp;quot;xbmc.python&amp;quot;                 version=&amp;quot;2.14.0&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;import addon=&amp;quot;script.module.elementtree&amp;quot;   version=&amp;quot;1.2.7&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;import addon=&amp;quot;script.module.simplejson&amp;quot;    version=&amp;quot;2.0.10&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/requires&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here&#039;s another example, which will only install on OpenELEC:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;requires&amp;gt;&lt;br /&gt;
  &amp;lt;import addon=&amp;quot;os.openelec.tv&amp;quot; version=&amp;quot;2.0&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/requires&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;import&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
Each &amp;lt;code&amp;gt;&amp;lt;import&amp;gt;&amp;lt;/code&amp;gt; element describes one dependency for an add-on, with two required attributes: &amp;lt;code&amp;gt;addon&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;version&amp;lt;/code&amp;gt;. There is also an optional attribute called, fittingly, &amp;lt;code&amp;gt;optional&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
If your add-on relies on other third-party add-ons, Kodi will automatically install them as well, provided they are available on an existing add-on repository. If they aren&#039;t available on any existing repository, the user must install the other add-ons themselves. Note that you need to include any Python libraries you need directly in your add-on; these can&#039;t be loaded with an &amp;lt;code&amp;gt;&amp;lt;import&amp;gt;&amp;lt;/code&amp;gt; element, since Kodi wouldn&#039;t know what to do with them.&lt;br /&gt;
&lt;br /&gt;
=== addon attribute ===&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;addon&amp;lt;/code&amp;gt; attribute specifies the id of the required add-on, e.g. &amp;lt;code&amp;gt;script.module.elementtree&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== version attribute ===&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;version&amp;lt;/code&amp;gt; attribute specifies the minimum version of the required add-on to be installed.&lt;br /&gt;
&lt;br /&gt;
==== Dependency versions ====&lt;br /&gt;
&lt;br /&gt;
Each different Kodi version might require you to use a higher version of the &amp;lt;code&amp;gt;xbmc.*&amp;lt;/code&amp;gt; add-on dependencies to control on which version of Kodi the add-on can be installed.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ Current versions&lt;br /&gt;
! Kodi version !! xbmc.python !! xbmc.gui !! xbmc.json !! xbmc.metadata !! xbmc.addon&lt;br /&gt;
|-&lt;br /&gt;
| Dharma 10.1 &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;Deprecated&amp;lt;/font&amp;gt;|| 1.0 || 2.11 || 2.0|| 1.0 || 0.1&lt;br /&gt;
|-&lt;br /&gt;
| Eden 11.0 &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;Deprecated&amp;lt;/font&amp;gt; || 2.0 || 3.0 || 4.0 || 1.0 || 11.0&lt;br /&gt;
|-&lt;br /&gt;
| Frodo 12.x &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;Deprecated&amp;lt;/font&amp;gt;|| 2.1.0 || 4.0.0 || 6.0.0 || 2.1.0 || 12.0.0&lt;br /&gt;
|-&lt;br /&gt;
| Gotham 13.x || 2.14.0 (ABI 2.1.0) || 5.0.1 || 6.6.0 (ABI 6.0.0) || 2.1.0 || 13.0.0 (ABI 12.0.0)&lt;br /&gt;
|-&lt;br /&gt;
| Helix 14.x || 2.19.0 (ABI 2.1.0) || 5.3.0 || 6.20.0 (ABI 6.0.0) || 2.1.0 || 14.0.0 (ABI 12.0.0)&lt;br /&gt;
|-&lt;br /&gt;
| Isengard 15.x || 2.20.0 (ABI 2.1.0) || 5.9.0 (ABI 5.3.0) || 6.25.1 (ABI 6.0.0) || 2.1.0 || 15.0.0 (ABI 12.0.0)&lt;br /&gt;
|-&lt;br /&gt;
| Jarvis 16.x || 2.24.0 (ABI 2.1.0) || 5.10.0 || 6.32.1 (ABI 6.0.0) || 2.1.0 || 16.0.0 (ABI 12.0.0)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Each Kodi version contain a certain backwards compatibility. For example add-ons made for Gotham 13.x can still work ion Jarvis 16.x. Do not that this might change in the future. The &#039;&#039;&#039;ABI&#039;&#039;&#039; version you see in the table above is the backwards compatibility version for which add-ons are still marked &amp;quot;working&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== optional attribute ===&lt;br /&gt;
&lt;br /&gt;
The dependency may be made optional by setting the &amp;lt;code&amp;gt;optional&amp;lt;/code&amp;gt; attribute to &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;. This will only install the dependency when the add-on actually needs it. Even if this dependency is missing, the add-on can still be installed.&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;extension&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;&amp;lt;extension&amp;gt;&amp;lt;/code&amp;gt; element describes the technical aspects of this add-on. It will have at least a point attribute which will give the part of Kodi that the add-on extends. For instance, the &amp;lt;code&amp;gt;addon.xml&amp;lt;/code&amp;gt; file for the Confluence skin extends the &amp;lt;code&amp;gt;xbmc.gui.skin&amp;lt;/code&amp;gt; part of xbmc. All available extension points are given below.&lt;br /&gt;
&lt;br /&gt;
The various extension points that Kodi provides are given in the list below.&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
!Extension point&lt;br /&gt;
!Add-on Category&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;[[Skinning|xbmc.gui.skin]]&amp;lt;/code&amp;gt;&lt;br /&gt;
|Skin&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.gui.webinterface&amp;lt;/code&amp;gt;&lt;br /&gt;
|Web interface&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;[[Add-on repositories|xbmc.addon.repository]]&amp;lt;/code&amp;gt;&lt;br /&gt;
|&#039;&#039;None&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;[[HOW-TO:_Automatically_start_addons_using_services|xbmc.service]]&amp;lt;/code&amp;gt;&lt;br /&gt;
|Services&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.metadata.scraper.albums&amp;lt;/code&amp;gt;&lt;br /&gt;
|Album information&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.metadata.scraper.artists&amp;lt;/code&amp;gt;&lt;br /&gt;
|Artist information&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.metadata.scraper.movies&amp;lt;/code&amp;gt;&lt;br /&gt;
|Movie information&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.metadata.scraper.musicvideos&amp;lt;/code&amp;gt;&lt;br /&gt;
|Music video information&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.metadata.scraper.tvshows&amp;lt;/code&amp;gt;&lt;br /&gt;
|TV information&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.metadata.scraper.library&amp;lt;/code&amp;gt;&lt;br /&gt;
|&#039;&#039;None&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.ui.screensaver&amp;lt;/code&amp;gt;&lt;br /&gt;
|Screensaver&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.player.musicviz&amp;lt;/code&amp;gt;&lt;br /&gt;
|Visualization&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;[[Plugin sources#What Kodi requires for your add-on|xbmc.python.pluginsource]]&amp;lt;/code&amp;gt;&lt;br /&gt;
|Music Add-ons (audio) / Picture Add-ons (image) / Program Add-ons (executable) / Video Add-ons (video)&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;[[Script sources#What Kodi requires for your add-on|xbmc.python.script]]&amp;lt;/code&amp;gt;&lt;br /&gt;
|Music Add-ons (audio) / Picture Add-ons (image) / Program Add-ons (executable) / Video Add-ons (video)&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.python.weather&amp;lt;/code&amp;gt;&lt;br /&gt;
|Weather&lt;br /&gt;
|-{{Gotham row}}&lt;br /&gt;
|&amp;lt;code&amp;gt;[[Script Subtitles#What Kodi requires for your add-on|xbmc.python.subtitles]]&amp;lt;/code&amp;gt;&lt;br /&gt;
|&#039;&#039;&#039;([[:Category:Gotham feature|Future Gotham removal]])&#039;&#039;&#039; Subtitles&lt;br /&gt;
|-{{Gotham row}}&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.subtitle.module&amp;lt;/code&amp;gt;&lt;br /&gt;
|&#039;&#039;&#039;([[:Category:Gotham feature|Future Gotham addition]])&#039;&#039;&#039; Subtitle service module&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;[[Script lyrics#What Kodi requires for your add-on|xbmc.python.lyrics]]&amp;lt;/code&amp;gt;&lt;br /&gt;
|Lyrics&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;[[Script library#What Kodi requires for your add-on|xbmc.python.library]]&amp;lt;/code&amp;gt;&lt;br /&gt;
|&#039;&#039;None&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.python.module&amp;lt;/code&amp;gt;&lt;br /&gt;
|These don&#039;t show up in the addon browser and are purely as support for other scripts.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.addon.video&amp;lt;/code&amp;gt;&lt;br /&gt;
|Video Add-ons (video)&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.addon.audio&amp;lt;/code&amp;gt;&lt;br /&gt;
|Music Add-ons (audio)&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.addon.image&amp;lt;/code&amp;gt;&lt;br /&gt;
|Picture Add-ons (image)&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;kodi.resource.images&amp;lt;/code&amp;gt;&lt;br /&gt;
|Additional image files&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;kodi.resource.language&amp;lt;/code&amp;gt;&lt;br /&gt;
|Additional language files&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Add-ons that don&#039;t correspond to a specific add-on category can not be installed by users. These are usually supporting or shared add-ons that are installed automatically by the add-ons that require them.&lt;br /&gt;
&lt;br /&gt;
=== xbmc.python.pluginsource ===&lt;br /&gt;
{{See also|Plugin sources}}&lt;br /&gt;
&lt;br /&gt;
The most common extension point that will be used by plugin addon developers is &amp;lt;code&amp;gt;xbmc.python.pluginsource&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== library attribute ====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;&amp;lt;extension point=&amp;quot;xbmc.python.pluginsource&amp;quot;&amp;gt;&amp;lt;/code&amp;gt; element has an extra attribute: &amp;lt;code&amp;gt;library&amp;lt;/code&amp;gt;. This is the name of the Python script (startup script) that will be run when the add-on is activated. This file must exist in the root of your add-on directory.&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;provides&amp;gt; element ====&lt;br /&gt;
&lt;br /&gt;
The extension has an additional child element named &amp;lt;code&amp;gt;&amp;lt;provides&amp;gt;&amp;lt;/code&amp;gt;, which contains a whitespace separated list of &amp;lt;code&amp;gt;image&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;video&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;audio&amp;lt;/code&amp;gt;, and/or &amp;lt;code&amp;gt;executable&amp;lt;/code&amp;gt;. This determines in what area (or context) of the Kodi system your addon will make itself visible in:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
!Provides&lt;br /&gt;
!Appears in&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;image&amp;lt;/code&amp;gt;&lt;br /&gt;
|Pictures&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;audio&amp;lt;/code&amp;gt;&lt;br /&gt;
|Music&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;video&amp;lt;/code&amp;gt;&lt;br /&gt;
|Video&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;executable&amp;lt;/code&amp;gt;&lt;br /&gt;
|Programs&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;(blank)&#039;&#039;&lt;br /&gt;
|Not visible&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Example ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;extension point=&amp;quot;xbmc.python.pluginsource&amp;quot; library=&amp;quot;gpodderxbmc.py&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;provides&amp;gt;audio video&amp;lt;/provides&amp;gt;&lt;br /&gt;
&amp;lt;/extension&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== xbmc.addon.metadata ===&lt;br /&gt;
&lt;br /&gt;
This special extension point &#039;&#039;must&#039;&#039; be provided by all add-ons, and is the way that your add-on is described to users of the Kodi add-on manager.&lt;br /&gt;
&lt;br /&gt;
==== Required elements ====&lt;br /&gt;
&lt;br /&gt;
There are several elements that this should contain and all are compulsory (except the broken tag). Each of the elements below must always be present in English as a minimum.&lt;br /&gt;
&lt;br /&gt;
Many of these elements can be translated into multiple languages and should be added once for each supported language. See the [[List of language codes (ISO-639:1988)]] for possible language strings. If there&#039;s no &amp;lt;code&amp;gt;lang&amp;lt;/code&amp;gt; attribute for a translatable element, it defaults to English. However, even for English, adding the &amp;lt;code&amp;gt;lang&amp;lt;/code&amp;gt; attribute is recommended.&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;summary&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
One or more &amp;lt;code&amp;gt;&amp;lt;summary&amp;gt;&amp;lt;/code&amp;gt; elements provide a short summary of what the add-on does. This should be a single sentence. It may be translated into multiple languages.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;summary lang=&amp;quot;en&amp;quot;&amp;gt;Hello World script provides some basic examples on how to create your first script.&amp;lt;/summary&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
From Kodi v15 Isengard we recommend you use&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;summary lang=&amp;quot;en_GB&amp;quot;&amp;gt;Hello World script provides some basic examples on how to create your first script.&amp;lt;/summary&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;description&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
One or more &amp;lt;code&amp;gt;&amp;lt;description&amp;gt;&amp;lt;/code&amp;gt; elements provide a more detailed summary of what the add-on does. It may be translated into multiple languages.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;description lang=&amp;quot;en&amp;quot;&amp;gt;Hello World script provides some basic examples on how to create your first script&lt;br /&gt;
 and hopefully will increase the number of Kodi users to start creating their own addons.&amp;lt;/description&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
From Kodi v15 Isengard we recommend you use&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;description lang=&amp;quot;en_GB&amp;quot;&amp;gt;Hello World script provides some basic examples on how to create your first script&lt;br /&gt;
 and hopefully will increase the number of Kodi users to start creating their own addons.&amp;lt;/description&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;disclaimer&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
One or more &amp;lt;code&amp;gt;&amp;lt;disclaimer&amp;gt;&amp;lt;/code&amp;gt; elements that indicate what (if any) things the user should know about the add-on. There is no need to have a disclaimer if you don&#039;t want one, though if something requires settings, or only works in a particular country then you may want to state this here. It may be translated into multiple languages.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;disclaimer lang=&amp;quot;en&amp;quot;&amp;gt;Feel free to use this script. For information visit the wiki.&amp;lt;/disclaimer&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
From Kodi v15 Isengard we recommend you use&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;disclaimer lang=&amp;quot;en_GB&amp;quot;&amp;gt;Feel free to use this script. For information visit the wiki.&amp;lt;/disclaimer&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;platform&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;&amp;lt;platform&amp;gt;&amp;lt;/code&amp;gt; tag specifies which platforms (operating systems, hardware) this add-on runs on. Many add-ons will run on all platforms, so &amp;lt;code&amp;gt;all&amp;lt;/code&amp;gt; is an option. If the platform tag is missing, we assume the add-on runs on all platforms. A combination of these is also possible. Currently available options are:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;all&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;linux&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;osx&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;osx64&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;osx32&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;ios&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;windx&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;android&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;platform&amp;gt;all&amp;lt;/platform&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;language&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;&amp;lt;language&amp;gt;&amp;lt;/code&amp;gt; elements indicate the language(s) of the &#039;&#039;content&#039;&#039; provided by your add-on. It applies to plugins, scripts, scrapers etc. This allows browsing the add-on list by language. When there is no specific language provided in your content, leave it blank.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;language&amp;gt;en de fr&amp;lt;/language&amp;gt;&lt;br /&gt;
    or&lt;br /&gt;
&amp;lt;language&amp;gt;&amp;lt;/language&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;license&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;&amp;lt;license&amp;gt;&amp;lt;/code&amp;gt; element indicates what license is used for this add-on.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;license&amp;gt;GNU GENERAL PUBLIC LICENSE. Version 2, June 1991&amp;lt;/license&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;forum&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;&amp;lt;forum&amp;gt;&amp;lt;/code&amp;gt; element provides the forum thread URL for this specific add-on. Leave this blank if there is no forum thread.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;forum&amp;gt;http://www.myaddonwebsite.com/forum.php?thread=12345&amp;lt;/forum&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;website&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;&amp;lt;website&amp;gt;&amp;lt;/code&amp;gt; element provides the website URL for this specific add-on.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;website&amp;gt;http://www.myaddonwebsite.com/&amp;lt;/website&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;nowiki&amp;gt;&amp;lt;source&amp;gt;&amp;lt;/nowiki&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;source&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; element provides the URL for the source code for this specific add-on.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;source&amp;gt;http://github.com/someone/myaddon&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;email&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;&amp;lt;email&amp;gt;&amp;lt;/code&amp;gt; element provides the email address of the author if he wishes to do so for this specific add-on. Here are two examples of how you can make it look (the second one it harder for spambots to use). This can be left blank if you do not want to make your email address public.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;email&amp;gt;foo@bar.com&amp;lt;/email&amp;gt;&lt;br /&gt;
    or&lt;br /&gt;
&amp;lt;email&amp;gt;foo at bar dot com&amp;lt;/email&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;broken&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;&amp;lt;broken&amp;gt;&amp;lt;/code&amp;gt; tag will mark the add-on as broken in the Kodi repo and provide the reason why. You don&#039;t need to do a version bump for this to work. However a bump is recommended as you could also add this to the changelog.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;broken&amp;gt;deprecated&amp;lt;/broken&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Skin specific elements ==&lt;br /&gt;
=== Overview ===&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
|  &#039;&#039;&#039;effectslowdown&#039;&#039;&#039;&lt;br /&gt;
|  A multiplier that is applied to all &amp;lt;animation&amp;gt; effect lengths in the skin. Useful to slow down all animations globally so that you can better configure timings and see interactions between animating controls.&lt;br /&gt;
|- &lt;br /&gt;
|  &#039;&#039;&#039;debugging&#039;&#039;&#039;&lt;br /&gt;
|  When set to true, it&#039;ll display onscreen debug information (xml filename, mouse position and focused control type and name) in the skin.&lt;br /&gt;
|- &lt;br /&gt;
|  &#039;&#039;&#039;res&#039;&#039;&#039;&lt;br /&gt;
|  Support for arbitrary skin resolutions.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== How window xml files are found ===&lt;br /&gt;
&lt;br /&gt;
Kodi can run in many differing resolutions, and a skin should try and cater to all these resolutions. The easiest way is to develop for one specific resolution and make sure that all controls contain &amp;lt;width&amp;gt; and &amp;lt;height&amp;gt; tags. That way, Kodi can scale the controls to the new screen resolution.&lt;br /&gt;
&lt;br /&gt;
However, you may choose to develop alternative window xml files for differing resolutions (such as for HDTV resolutions, or for widescreen versus 4x3 resolutions).&lt;br /&gt;
&lt;br /&gt;
The order that Kodi looks for it&#039;s skin files are as follows:&lt;br /&gt;
&lt;br /&gt;
# It first looks in the current screenmode folder (one of 1080i, 720p, NTSC16x9, NTSC, PAL16x9 or PAL)&lt;br /&gt;
# If the current screenmode is 1080i and there&#039;s no 1080i folder, it then looks in the 720p folder.&lt;br /&gt;
# Finally, it looks in the &#039;&#039;&#039;res&#039;&#039;&#039; folder.&lt;br /&gt;
&lt;br /&gt;
This allows you to just put any window files that do not require special treatment for 16x9 resolutions etc. in the &amp;lt;defaultresolution&amp;gt; folder, preventing needless repetition.&lt;br /&gt;
&lt;br /&gt;
= Examples =&lt;br /&gt;
&lt;br /&gt;
== addon.xml for skins ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
﻿&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;addon&lt;br /&gt;
  id=&amp;quot;skin.confluence&amp;quot;&lt;br /&gt;
  version=&amp;quot;2.1.3&amp;quot;&lt;br /&gt;
  name=&amp;quot;Confluence&amp;quot;&lt;br /&gt;
  provider-name=&amp;quot;Jezz_X, Team Kodi&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;requires&amp;gt;&lt;br /&gt;
    &amp;lt;import addon=&amp;quot;xbmc.gui&amp;quot; version=&amp;quot;4.0.0&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/requires&amp;gt;&lt;br /&gt;
  &amp;lt;extension&lt;br /&gt;
    point=&amp;quot;xbmc.gui.skin&amp;quot;&lt;br /&gt;
    debugging=&amp;quot;false&amp;quot;&lt;br /&gt;
    effectslowdown=&amp;quot;0.75&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;res width=&amp;quot;1280&amp;quot; height=&amp;quot;720&amp;quot; aspect=&amp;quot;16:9&amp;quot; default=&amp;quot;true&amp;quot; folder=&amp;quot;720p&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;/extension&amp;gt;&lt;br /&gt;
  &amp;lt;extension point=&amp;quot;xbmc.addon.metadata&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;summary lang=&amp;quot;en&amp;quot;&amp;gt;Confluence skin by Jezz_X. (Kodi&#039;s default skin)&amp;lt;/summary&amp;gt;&lt;br /&gt;
    &amp;lt;description lang=&amp;quot;en&amp;quot;&amp;gt;Confluence is the default skin for Kodi 9.11 and above. It is a combination of concepts from many popular skins, and attempts to embrace and integrate their good ideas into a skin that should be easy for first time Kodi users to understand and use.&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;disclaimer lang=&amp;quot;en&amp;quot;&amp;gt;Confluence is the default skin for Kodi, removing it may cause issues&amp;lt;/disclaimer&amp;gt;&lt;br /&gt;
    &amp;lt;platform&amp;gt;all&amp;lt;/platform&amp;gt;&lt;br /&gt;
    &amp;lt;license&amp;gt;GNU GENERAL PUBLIC LICENSE. Version 2, June 1991&amp;lt;/license&amp;gt;&lt;br /&gt;
    &amp;lt;forum&amp;gt;&amp;lt;/forum&amp;gt;&lt;br /&gt;
    &amp;lt;website&amp;gt;&amp;lt;/website&amp;gt;&lt;br /&gt;
    &amp;lt;email&amp;gt;&amp;lt;/email&amp;gt;&lt;br /&gt;
    &amp;lt;source&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
  &amp;lt;/extension&amp;gt;&lt;br /&gt;
&amp;lt;/addon&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
One thing to note is that &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;all tag names are lower case.&amp;lt;/font&amp;gt; XML tag names are case sensitive!&lt;br /&gt;
&lt;br /&gt;
== addon.xml for scripts ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;yes&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;addon&lt;br /&gt;
    id=&amp;quot;script.artwork.downloader&amp;quot;&lt;br /&gt;
    name=&amp;quot;Artwork Downloader&amp;quot;&lt;br /&gt;
    version=&amp;quot;12.0.12&amp;quot;&lt;br /&gt;
    provider-name=&amp;quot;Martijn&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;requires&amp;gt;&lt;br /&gt;
    &amp;lt;import addon=&amp;quot;xbmc.python&amp;quot;                 version=&amp;quot;2.1.0&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;import addon=&amp;quot;xbmc.json&amp;quot;                   version=&amp;quot;6.0.0&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;import addon=&amp;quot;xbmc.addon&amp;quot;                  version=&amp;quot;12.0.0&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;import addon=&amp;quot;script.module.elementtree&amp;quot;   version=&amp;quot;1.2.7&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;import addon=&amp;quot;script.module.simplejson&amp;quot;    version=&amp;quot;2.0.10&amp;quot; optional=&amp;quot;true&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;import addon=&amp;quot;script.common.plugin.cache&amp;quot;  version=&amp;quot;1.3.0&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/requires&amp;gt;&lt;br /&gt;
  &amp;lt;extension point=&amp;quot;xbmc.python.script&amp;quot;         library=&amp;quot;default.py&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;provides&amp;gt;executable&amp;lt;/provides&amp;gt;&lt;br /&gt;
  &amp;lt;/extension&amp;gt;&lt;br /&gt;
  &amp;lt;extension point=&amp;quot;xbmc.service&amp;quot; library=&amp;quot;service.py&amp;quot; start=&amp;quot;login&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;extension point=&amp;quot;xbmc.addon.metadata&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;summary lang=&amp;quot;en&amp;quot;&amp;gt;Downloads Artwork for TV shows, Movies and Musicvideos in your library&amp;lt;/summary&amp;gt;&lt;br /&gt;
    &amp;lt;description lang=&amp;quot;en&amp;quot;&amp;gt;Downloads all available artwork for TV shows, Movies and Musicvideos in your library. Check the options for supported artwork[CR]Artwork sources:[CR]www.fanart.tv[CR]www.thetvdb.com[CR]www.themoviedb.org[CR]Remark:[CR]Check your skin to see what type of artwork is supported![CR]Each TV Show/Movie must have its own folder![CR]Skin integration:[CR]See readme file&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;disclaimer lang=&amp;quot;en&amp;quot;&amp;gt;For bugs, requests or general questions visit the Artwork Downloader thread on the Kodi forum.&amp;lt;/disclaimer&amp;gt;&lt;br /&gt;
    &amp;lt;language&amp;gt;&amp;lt;/language&amp;gt;&lt;br /&gt;
    &amp;lt;platform&amp;gt;all&amp;lt;/platform&amp;gt;&lt;br /&gt;
    &amp;lt;license&amp;gt;GNU GENERAL PUBLIC LICENSE. Version 2, June 1991&amp;lt;/license&amp;gt;&lt;br /&gt;
    &amp;lt;forum&amp;gt;&amp;lt;/forum&amp;gt;&lt;br /&gt;
    &amp;lt;website&amp;gt;&amp;lt;/website&amp;gt;&lt;br /&gt;
    &amp;lt;email&amp;gt;&amp;lt;/email&amp;gt;&lt;br /&gt;
    &amp;lt;source&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
  &amp;lt;/extension&amp;gt;&lt;br /&gt;
&amp;lt;/addon&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Schema Definition =&lt;br /&gt;
&lt;br /&gt;
The XML schema definition for &amp;lt;code&amp;gt;addon.xml&amp;lt;/code&amp;gt; is located [https://github.com/xbmc/xbmc/blob/master/addons/xbmc.addon/metadata.xsd here].&lt;br /&gt;
&lt;br /&gt;
{{frodo updated}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Add-on development]]&lt;br /&gt;
[[Category:Skin development]]&lt;/div&gt;</summary>
		<author><name>Martijn</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Addon.xml&amp;diff=111215</id>
		<title>Addon.xml</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Addon.xml&amp;diff=111215"/>
		<updated>2015-12-28T09:20:59Z</updated>

		<summary type="html">&lt;p&gt;Martijn: /* xbmc.addon.metadata */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav|[[Development]]|[[Add-on development]]}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Every skin, script, or plugin in Kodi contains an &amp;lt;code&amp;gt;addon.xml&amp;lt;/code&amp;gt; file which describes the add-on, providing credits, version information and dependencies. Below, we will explain how this file is structured and which elements must be used to create an add-on for Kodi. You can also consult the examples at the end to see how this file is laid out depending on if you are developing a skin or script.&lt;br /&gt;
&lt;br /&gt;
Every &amp;lt;code&amp;gt;addon.xml&amp;lt;/code&amp;gt; file has the same basic structure, this example is for a video plugin:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;yes&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;addon id=&amp;quot;plugin.addon.id&amp;quot; name=&amp;quot;Your Add-on&amp;quot; version=&amp;quot;1.2.3&amp;quot; provider-name=&amp;quot;You&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;requires&amp;gt;&lt;br /&gt;
    &amp;lt;import addon=&amp;quot;xbmc.python&amp;quot; version=&amp;quot;2.1.0&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/requires&amp;gt;&lt;br /&gt;
  &amp;lt;extension point=&amp;quot;xbmc.python.pluginsource&amp;quot; library=&amp;quot;addon.py&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;provides&amp;gt;video&amp;lt;/provides&amp;gt;&lt;br /&gt;
  &amp;lt;/extension&amp;gt;&lt;br /&gt;
  &amp;lt;extension point=&amp;quot;xbmc.addon.metadata&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;summary lang=&amp;quot;en_gb&amp;quot;&amp;gt;Your add-on&#039;s summary&amp;lt;/summary&amp;gt;&lt;br /&gt;
    &amp;lt;description lang=&amp;quot;en_gb&amp;quot;&amp;gt;Your add-on&#039;s description&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;disclaimer lang=&amp;quot;en_gb&amp;quot;&amp;gt;&amp;lt;/disclaimer&amp;gt;&lt;br /&gt;
    &amp;lt;language&amp;gt;&amp;lt;/language&amp;gt;&lt;br /&gt;
    &amp;lt;platform&amp;gt;all&amp;lt;/platform&amp;gt;&lt;br /&gt;
    &amp;lt;license&amp;gt;&amp;lt;/license&amp;gt;&lt;br /&gt;
    &amp;lt;forum&amp;gt;&amp;lt;/forum&amp;gt;&lt;br /&gt;
    &amp;lt;website&amp;gt;&amp;lt;/website&amp;gt;&lt;br /&gt;
    &amp;lt;email&amp;gt;&amp;lt;/email&amp;gt;&lt;br /&gt;
    &amp;lt;source&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
  &amp;lt;/extension&amp;gt;&lt;br /&gt;
&amp;lt;/addon&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There are a few important things to note in the above sample:&lt;br /&gt;
&lt;br /&gt;
* The &amp;lt;code&amp;gt;&amp;lt;addon&amp;gt;&amp;lt;/code&amp;gt; element must be present, and be the root node. It presents data about the add-on package as a whole.&lt;br /&gt;
* Inside the &amp;lt;code&amp;gt;&amp;lt;addon&amp;gt;&amp;lt;/code&amp;gt; element is a &amp;lt;code&amp;gt;&amp;lt;requires&amp;gt;&amp;lt;/code&amp;gt; element, listing all the dependencies that this add-on needs in order to function.&lt;br /&gt;
* Then there are one or more &amp;lt;code&amp;gt;&amp;lt;extension&amp;gt;&amp;lt;/code&amp;gt; elements, each of which describes a part of Kodi that the add-on extends.&lt;br /&gt;
* Finally, there is a specific &amp;lt;code&amp;gt;&amp;lt;extension&amp;gt;&amp;lt;/code&amp;gt; element that extends &amp;lt;code&amp;gt;&amp;quot;xbmc.addon.metadata&amp;quot;&amp;lt;/code&amp;gt;. This describes the add-on to the user.&lt;br /&gt;
&lt;br /&gt;
= Elements =&lt;br /&gt;
 &lt;br /&gt;
== &amp;lt;addon&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;&amp;lt;addon&amp;gt;&amp;lt;/code&amp;gt; element has 4 attributes, all required: &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;version&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;provider-name&amp;lt;/code&amp;gt;. For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;addon id=&amp;quot;script.hello.world&amp;quot; name=&amp;quot;Hello World&amp;quot; version=&amp;quot;0.0.1&amp;quot; provider-name=&amp;quot;Dev1, Dev2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== id attribute ===&lt;br /&gt;
&lt;br /&gt;
The id attribute is the unique identifier used for this add-on.  It must be unique, and must use only lowercase characters, periods, underscores, dashes and numbers.  This identifier is also used as the name of the folder that contains the add-on, so for ease of searching, we suggest you use something like &amp;lt;type&amp;gt;.&amp;lt;uniquename&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== version attribute ===&lt;br /&gt;
&lt;br /&gt;
The version attribute is used by Kodi to determine whether updates are available. This should be use a version scheme like &amp;lt;code&amp;gt;x.y.z&amp;lt;/code&amp;gt; (major.minor.patch). For example: &amp;lt;code&amp;gt;version=&amp;quot;0.0.1&amp;quot;&amp;lt;/code&amp;gt;. Generally, you&#039;ll start with a version of &amp;lt;code&amp;gt;0.y.z&amp;lt;/code&amp;gt; for test releases and once you feel it is ready for a full release, you&#039;d bump the version to &amp;lt;code&amp;gt;1.0.0&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== How versioning works ====&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;2.2.9&amp;lt;/code&amp;gt; is newer than &amp;lt;code&amp;gt;2.2.1&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;2.2.10&amp;lt;/code&amp;gt;   is newer than &amp;lt;code&amp;gt;2.2.1&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;2.3.0&amp;lt;/code&amp;gt;   is newer than &amp;lt;code&amp;gt;2.2.9&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;2.2.1&amp;lt;/code&amp;gt; is newer than &amp;lt;code&amp;gt;2.2.1~alpha&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;2.2.1&amp;lt;/code&amp;gt; is newer than &amp;lt;code&amp;gt;2.2.1~beta&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;2.2.1~beta&amp;lt;/code&amp;gt; is newer than &amp;lt;code&amp;gt;2.2.1~alpha&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;2.2.1~beta3&amp;lt;/code&amp;gt; is newer than &amp;lt;code&amp;gt;2.2.1~beta2&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;2.2.1~beta10&amp;lt;/code&amp;gt; is newer than &amp;lt;code&amp;gt;2.2.1~beta1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{tip|Text should only be added for a beta version. In other cases version number should only contain numbers.}}&lt;br /&gt;
&lt;br /&gt;
=== name attribute ===&lt;br /&gt;
&lt;br /&gt;
The name attribute is the name of the add-on as it appears in the UI.  This should be in English where it makes sense for it to be so, and is not translatable.&lt;br /&gt;
&lt;br /&gt;
=== provider-name attribute ===&lt;br /&gt;
&lt;br /&gt;
The provider-name attribute is used as the author field.  This could be a team of authors or a single author. If the add-on is maintained by multiple people please separate them with a comma (&amp;lt;code&amp;gt;,&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;requires&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;&amp;lt;requires&amp;gt;&amp;lt;/code&amp;gt; element contains one or more &amp;lt;code&amp;gt;&amp;lt;import&amp;gt;&amp;lt;/code&amp;gt; elements which specify which other add-ons this particular add-on requires, and which version of those add-ons it requires. These add-ons may be part of Kodi itself, or may be parts of other third-party add-ons.&lt;br /&gt;
&lt;br /&gt;
Kodi will only allow the add-on to be run if suitable versions of the (non-optional) add-ons on which this add-on depends are installed. When a user installs your add-on from an online repository via Kodi&#039;s add-on manager, Kodi attempts to resolve these dependencies, and install anything that your add-on relies on first. The dependency must be provided with the minimum version number your script/skin requires.&lt;br /&gt;
&lt;br /&gt;
=== Examples ===&lt;br /&gt;
&lt;br /&gt;
Here is a sample &amp;lt;code&amp;gt;&amp;lt;requires&amp;gt;&amp;lt;/code&amp;gt; block that imports two required modules:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;requires&amp;gt;&lt;br /&gt;
  &amp;lt;import addon=&amp;quot;xbmc.python&amp;quot;                 version=&amp;quot;2.14.0&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;import addon=&amp;quot;script.module.elementtree&amp;quot;   version=&amp;quot;1.2.7&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;import addon=&amp;quot;script.module.simplejson&amp;quot;    version=&amp;quot;2.0.10&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/requires&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here&#039;s another example, which will only install on OpenELEC:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;requires&amp;gt;&lt;br /&gt;
  &amp;lt;import addon=&amp;quot;os.openelec.tv&amp;quot; version=&amp;quot;2.0&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/requires&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;import&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
Each &amp;lt;code&amp;gt;&amp;lt;import&amp;gt;&amp;lt;/code&amp;gt; element describes one dependency for an add-on, with two required attributes: &amp;lt;code&amp;gt;addon&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;version&amp;lt;/code&amp;gt;. There is also an optional attribute called, fittingly, &amp;lt;code&amp;gt;optional&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
If your add-on relies on other third-party add-ons, Kodi will automatically install them as well, provided they are available on an existing add-on repository. If they aren&#039;t available on any existing repository, the user must install the other add-ons themselves. Note that you need to include any Python libraries you need directly in your add-on; these can&#039;t be loaded with an &amp;lt;code&amp;gt;&amp;lt;import&amp;gt;&amp;lt;/code&amp;gt; element, since Kodi wouldn&#039;t know what to do with them.&lt;br /&gt;
&lt;br /&gt;
=== addon attribute ===&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;addon&amp;lt;/code&amp;gt; attribute specifies the id of the required add-on, e.g. &amp;lt;code&amp;gt;script.module.elementtree&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== version attribute ===&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;version&amp;lt;/code&amp;gt; attribute specifies the minimum version of the required add-on to be installed.&lt;br /&gt;
&lt;br /&gt;
==== Dependency versions ====&lt;br /&gt;
&lt;br /&gt;
Each different Kodi version might require you to use a higher version of the &amp;lt;code&amp;gt;xbmc.*&amp;lt;/code&amp;gt; add-on dependencies to control on which version of Kodi the add-on can be installed.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ Current versions&lt;br /&gt;
! Kodi version !! xbmc.python !! xbmc.gui !! xbmc.json !! xbmc.metadata !! xbmc.addon&lt;br /&gt;
|-&lt;br /&gt;
| Dharma 10.1 &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;Deprecated&amp;lt;/font&amp;gt;|| 1.0 || 2.11 || 2.0|| 1.0 || 0.1&lt;br /&gt;
|-&lt;br /&gt;
| Eden 11.0 &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;Deprecated&amp;lt;/font&amp;gt; || 2.0 || 3.0 || 4.0 || 1.0 || 11.0&lt;br /&gt;
|-&lt;br /&gt;
| Frodo 12.x &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;Deprecated&amp;lt;/font&amp;gt;|| 2.1.0 || 4.0.0 || 6.0.0 || 2.1.0 || 12.0.0&lt;br /&gt;
|-&lt;br /&gt;
| Gotham 13.x || 2.14.0 (ABI 2.1.0) || 5.0.1 || 6.6.0 (ABI 6.0.0) || 2.1.0 || 13.0.0 (ABI 12.0.0)&lt;br /&gt;
|-&lt;br /&gt;
| Helix 14.x || 2.19.0 (ABI 2.1.0) || 5.3.0 || 6.20.0 (ABI 6.0.0) || 2.1.0 || 14.0.0 (ABI 12.0.0)&lt;br /&gt;
|-&lt;br /&gt;
| Isengard 15.x || 2.20.0 (ABI 2.1.0) || 5.9.0 (ABI 5.3.0) || 6.25.1 (ABI 6.0.0) || 2.1.0 || 15.0.0 (ABI 12.0.0)&lt;br /&gt;
|-&lt;br /&gt;
| Jarvis 16.x || 2.24.0 (ABI 2.1.0) || 5.10.0 || 6.32.1 (ABI 6.0.0) || 2.1.0 || 16.0.0 (ABI 12.0.0)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Each Kodi version contain a certain backwards compatibility. For example add-ons made for Gotham 13.x can still work ion Jarvis 16.x. Do not that this might change in the future. The &#039;&#039;&#039;ABI&#039;&#039;&#039; version you see in the table above is the backwards compatibility version for which add-ons are still marked &amp;quot;working&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== optional attribute ===&lt;br /&gt;
&lt;br /&gt;
The dependency may be made optional by setting the &amp;lt;code&amp;gt;optional&amp;lt;/code&amp;gt; attribute to &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;. This will only install the dependency when the add-on actually needs it. Even if this dependency is missing, the add-on can still be installed.&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;extension&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;&amp;lt;extension&amp;gt;&amp;lt;/code&amp;gt; element describes the technical aspects of this add-on. It will have at least a point attribute which will give the part of Kodi that the add-on extends. For instance, the &amp;lt;code&amp;gt;addon.xml&amp;lt;/code&amp;gt; file for the Confluence skin extends the &amp;lt;code&amp;gt;xbmc.gui.skin&amp;lt;/code&amp;gt; part of xbmc. All available extension points are given below.&lt;br /&gt;
&lt;br /&gt;
The various extension points that Kodi provides are given in the list below.&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
!Extension point&lt;br /&gt;
!Add-on Category&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;[[Skinning|xbmc.gui.skin]]&amp;lt;/code&amp;gt;&lt;br /&gt;
|Skin&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.gui.webinterface&amp;lt;/code&amp;gt;&lt;br /&gt;
|Web interface&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;[[Add-on repositories|xbmc.addon.repository]]&amp;lt;/code&amp;gt;&lt;br /&gt;
|&#039;&#039;None&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;[[HOW-TO:_Automatically_start_addons_using_services|xbmc.service]]&amp;lt;/code&amp;gt;&lt;br /&gt;
|Services&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.metadata.scraper.albums&amp;lt;/code&amp;gt;&lt;br /&gt;
|Album information&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.metadata.scraper.artists&amp;lt;/code&amp;gt;&lt;br /&gt;
|Artist information&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.metadata.scraper.movies&amp;lt;/code&amp;gt;&lt;br /&gt;
|Movie information&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.metadata.scraper.musicvideos&amp;lt;/code&amp;gt;&lt;br /&gt;
|Music video information&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.metadata.scraper.tvshows&amp;lt;/code&amp;gt;&lt;br /&gt;
|TV information&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.metadata.scraper.library&amp;lt;/code&amp;gt;&lt;br /&gt;
|&#039;&#039;None&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.ui.screensaver&amp;lt;/code&amp;gt;&lt;br /&gt;
|Screensaver&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.player.musicviz&amp;lt;/code&amp;gt;&lt;br /&gt;
|Visualization&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;[[Plugin sources#What Kodi requires for your add-on|xbmc.python.pluginsource]]&amp;lt;/code&amp;gt;&lt;br /&gt;
|Music Add-ons (audio) / Picture Add-ons (image) / Program Add-ons (executable) / Video Add-ons (video)&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;[[Script sources#What Kodi requires for your add-on|xbmc.python.script]]&amp;lt;/code&amp;gt;&lt;br /&gt;
|Music Add-ons (audio) / Picture Add-ons (image) / Program Add-ons (executable) / Video Add-ons (video)&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.python.weather&amp;lt;/code&amp;gt;&lt;br /&gt;
|Weather&lt;br /&gt;
|-{{Gotham row}}&lt;br /&gt;
|&amp;lt;code&amp;gt;[[Script Subtitles#What Kodi requires for your add-on|xbmc.python.subtitles]]&amp;lt;/code&amp;gt;&lt;br /&gt;
|&#039;&#039;&#039;([[:Category:Gotham feature|Future Gotham removal]])&#039;&#039;&#039; Subtitles&lt;br /&gt;
|-{{Gotham row}}&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.subtitle.module&amp;lt;/code&amp;gt;&lt;br /&gt;
|&#039;&#039;&#039;([[:Category:Gotham feature|Future Gotham addition]])&#039;&#039;&#039; Subtitle service module&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;[[Script lyrics#What Kodi requires for your add-on|xbmc.python.lyrics]]&amp;lt;/code&amp;gt;&lt;br /&gt;
|Lyrics&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;[[Script library#What Kodi requires for your add-on|xbmc.python.library]]&amp;lt;/code&amp;gt;&lt;br /&gt;
|&#039;&#039;None&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.python.module&amp;lt;/code&amp;gt;&lt;br /&gt;
|These don&#039;t show up in the addon browser and are purely as support for other scripts.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.addon.video&amp;lt;/code&amp;gt;&lt;br /&gt;
|Video Add-ons (video)&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.addon.audio&amp;lt;/code&amp;gt;&lt;br /&gt;
|Music Add-ons (audio)&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.addon.image&amp;lt;/code&amp;gt;&lt;br /&gt;
|Picture Add-ons (image)&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;kodi.resource.images&amp;lt;/code&amp;gt;&lt;br /&gt;
|Additional image files&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;kodi.resource.language&amp;lt;/code&amp;gt;&lt;br /&gt;
|Additional language files&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Add-ons that don&#039;t correspond to a specific add-on category can not be installed by users. These are usually supporting or shared add-ons that are installed automatically by the add-ons that require them.&lt;br /&gt;
&lt;br /&gt;
=== xbmc.python.pluginsource ===&lt;br /&gt;
{{See also|Plugin sources}}&lt;br /&gt;
&lt;br /&gt;
The most common extension point that will be used by plugin addon developers is &amp;lt;code&amp;gt;xbmc.python.pluginsource&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== library attribute ====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;&amp;lt;extension point=&amp;quot;xbmc.python.pluginsource&amp;quot;&amp;gt;&amp;lt;/code&amp;gt; element has an extra attribute: &amp;lt;code&amp;gt;library&amp;lt;/code&amp;gt;. This is the name of the Python script (startup script) that will be run when the add-on is activated. This file must exist in the root of your add-on directory.&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;provides&amp;gt; element ====&lt;br /&gt;
&lt;br /&gt;
The extension has an additional child element named &amp;lt;code&amp;gt;&amp;lt;provides&amp;gt;&amp;lt;/code&amp;gt;, which contains a whitespace separated list of &amp;lt;code&amp;gt;image&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;video&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;audio&amp;lt;/code&amp;gt;, and/or &amp;lt;code&amp;gt;executable&amp;lt;/code&amp;gt;. This determines in what area (or context) of the Kodi system your addon will make itself visible in:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
!Provides&lt;br /&gt;
!Appears in&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;image&amp;lt;/code&amp;gt;&lt;br /&gt;
|Pictures&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;audio&amp;lt;/code&amp;gt;&lt;br /&gt;
|Music&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;video&amp;lt;/code&amp;gt;&lt;br /&gt;
|Video&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;executable&amp;lt;/code&amp;gt;&lt;br /&gt;
|Programs&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;(blank)&#039;&#039;&lt;br /&gt;
|Not visible&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Example ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;extension point=&amp;quot;xbmc.python.pluginsource&amp;quot; library=&amp;quot;gpodderxbmc.py&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;provides&amp;gt;audio video&amp;lt;/provides&amp;gt;&lt;br /&gt;
&amp;lt;/extension&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== xbmc.addon.metadata ===&lt;br /&gt;
&lt;br /&gt;
This special extension point &#039;&#039;must&#039;&#039; be provided by all add-ons, and is the way that your add-on is described to users of the Kodi add-on manager.&lt;br /&gt;
&lt;br /&gt;
==== Required elements ====&lt;br /&gt;
&lt;br /&gt;
There are several elements that this should contain and all are compulsory (except the broken tag). Each of the elements below must always be present in English as a minimum.&lt;br /&gt;
&lt;br /&gt;
Many of these elements can be translated into multiple languages and should be added once for each supported language. See the [[List of language codes (ISO-639:1988)]] for possible language strings. If there&#039;s no &amp;lt;code&amp;gt;lang&amp;lt;/code&amp;gt; attribute for a translatable element, it defaults to English. However, even for English, adding the &amp;lt;code&amp;gt;lang&amp;lt;/code&amp;gt; attribute is recommended.&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;summary&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
One or more &amp;lt;code&amp;gt;&amp;lt;summary&amp;gt;&amp;lt;/code&amp;gt; elements provide a short summary of what the add-on does. This should be a single sentence. It may be translated into multiple languages.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;summary lang=&amp;quot;en&amp;quot;&amp;gt;Hello World script provides some basic examples on how to create your first script.&amp;lt;/summary&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
From Kodi v15 Isengard we recommend you use&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;summary lang=&amp;quot;en_gb&amp;quot;&amp;gt;Hello World script provides some basic examples on how to create your first script.&amp;lt;/summary&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;description&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
One or more &amp;lt;code&amp;gt;&amp;lt;description&amp;gt;&amp;lt;/code&amp;gt; elements provide a more detailed summary of what the add-on does. It may be translated into multiple languages.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;description lang=&amp;quot;en&amp;quot;&amp;gt;Hello World script provides some basic examples on how to create your first script&lt;br /&gt;
 and hopefully will increase the number of Kodi users to start creating their own addons.&amp;lt;/description&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
From Kodi v15 Isengard we recommend you use&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;description lang=&amp;quot;en_gb&amp;quot;&amp;gt;Hello World script provides some basic examples on how to create your first script&lt;br /&gt;
 and hopefully will increase the number of Kodi users to start creating their own addons.&amp;lt;/description&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;disclaimer&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
One or more &amp;lt;code&amp;gt;&amp;lt;disclaimer&amp;gt;&amp;lt;/code&amp;gt; elements that indicate what (if any) things the user should know about the add-on. There is no need to have a disclaimer if you don&#039;t want one, though if something requires settings, or only works in a particular country then you may want to state this here. It may be translated into multiple languages.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;disclaimer lang=&amp;quot;en&amp;quot;&amp;gt;Feel free to use this script. For information visit the wiki.&amp;lt;/disclaimer&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
From Kodi v15 Isengard we recommend you use&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;disclaimer lang=&amp;quot;en_gb&amp;quot;&amp;gt;Feel free to use this script. For information visit the wiki.&amp;lt;/disclaimer&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;platform&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;&amp;lt;platform&amp;gt;&amp;lt;/code&amp;gt; tag specifies which platforms (operating systems, hardware) this add-on runs on. Many add-ons will run on all platforms, so &amp;lt;code&amp;gt;all&amp;lt;/code&amp;gt; is an option. If the platform tag is missing, we assume the add-on runs on all platforms. A combination of these is also possible. Currently available options are:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;all&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;linux&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;osx&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;osx64&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;osx32&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;ios&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;windx&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;android&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;platform&amp;gt;all&amp;lt;/platform&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;language&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;&amp;lt;language&amp;gt;&amp;lt;/code&amp;gt; elements indicate the language(s) of the &#039;&#039;content&#039;&#039; provided by your add-on. It applies to plugins, scripts, scrapers etc. This allows browsing the add-on list by language. When there is no specific language provided in your content, leave it blank.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;language&amp;gt;en de fr&amp;lt;/language&amp;gt;&lt;br /&gt;
    or&lt;br /&gt;
&amp;lt;language&amp;gt;&amp;lt;/language&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;license&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;&amp;lt;license&amp;gt;&amp;lt;/code&amp;gt; element indicates what license is used for this add-on.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;license&amp;gt;GNU GENERAL PUBLIC LICENSE. Version 2, June 1991&amp;lt;/license&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;forum&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;&amp;lt;forum&amp;gt;&amp;lt;/code&amp;gt; element provides the forum thread URL for this specific add-on. Leave this blank if there is no forum thread.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;forum&amp;gt;http://www.myaddonwebsite.com/forum.php?thread=12345&amp;lt;/forum&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;website&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;&amp;lt;website&amp;gt;&amp;lt;/code&amp;gt; element provides the website URL for this specific add-on.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;website&amp;gt;http://www.myaddonwebsite.com/&amp;lt;/website&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;nowiki&amp;gt;&amp;lt;source&amp;gt;&amp;lt;/nowiki&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;source&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; element provides the URL for the source code for this specific add-on.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;source&amp;gt;http://github.com/someone/myaddon&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;email&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;&amp;lt;email&amp;gt;&amp;lt;/code&amp;gt; element provides the email address of the author if he wishes to do so for this specific add-on. Here are two examples of how you can make it look (the second one it harder for spambots to use). This can be left blank if you do not want to make your email address public.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;email&amp;gt;foo@bar.com&amp;lt;/email&amp;gt;&lt;br /&gt;
    or&lt;br /&gt;
&amp;lt;email&amp;gt;foo at bar dot com&amp;lt;/email&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;broken&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;&amp;lt;broken&amp;gt;&amp;lt;/code&amp;gt; tag will mark the add-on as broken in the Kodi repo and provide the reason why. You don&#039;t need to do a version bump for this to work. However a bump is recommended as you could also add this to the changelog.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;broken&amp;gt;deprecated&amp;lt;/broken&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Skin specific elements ==&lt;br /&gt;
=== Overview ===&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
|  &#039;&#039;&#039;effectslowdown&#039;&#039;&#039;&lt;br /&gt;
|  A multiplier that is applied to all &amp;lt;animation&amp;gt; effect lengths in the skin. Useful to slow down all animations globally so that you can better configure timings and see interactions between animating controls.&lt;br /&gt;
|- &lt;br /&gt;
|  &#039;&#039;&#039;debugging&#039;&#039;&#039;&lt;br /&gt;
|  When set to true, it&#039;ll display onscreen debug information (xml filename, mouse position and focused control type and name) in the skin.&lt;br /&gt;
|- &lt;br /&gt;
|  &#039;&#039;&#039;res&#039;&#039;&#039;&lt;br /&gt;
|  Support for arbitrary skin resolutions.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== How window xml files are found ===&lt;br /&gt;
&lt;br /&gt;
Kodi can run in many differing resolutions, and a skin should try and cater to all these resolutions. The easiest way is to develop for one specific resolution and make sure that all controls contain &amp;lt;width&amp;gt; and &amp;lt;height&amp;gt; tags. That way, Kodi can scale the controls to the new screen resolution.&lt;br /&gt;
&lt;br /&gt;
However, you may choose to develop alternative window xml files for differing resolutions (such as for HDTV resolutions, or for widescreen versus 4x3 resolutions).&lt;br /&gt;
&lt;br /&gt;
The order that Kodi looks for it&#039;s skin files are as follows:&lt;br /&gt;
&lt;br /&gt;
# It first looks in the current screenmode folder (one of 1080i, 720p, NTSC16x9, NTSC, PAL16x9 or PAL)&lt;br /&gt;
# If the current screenmode is 1080i and there&#039;s no 1080i folder, it then looks in the 720p folder.&lt;br /&gt;
# Finally, it looks in the &#039;&#039;&#039;res&#039;&#039;&#039; folder.&lt;br /&gt;
&lt;br /&gt;
This allows you to just put any window files that do not require special treatment for 16x9 resolutions etc. in the &amp;lt;defaultresolution&amp;gt; folder, preventing needless repetition.&lt;br /&gt;
&lt;br /&gt;
= Examples =&lt;br /&gt;
&lt;br /&gt;
== addon.xml for skins ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
﻿&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;addon&lt;br /&gt;
  id=&amp;quot;skin.confluence&amp;quot;&lt;br /&gt;
  version=&amp;quot;2.1.3&amp;quot;&lt;br /&gt;
  name=&amp;quot;Confluence&amp;quot;&lt;br /&gt;
  provider-name=&amp;quot;Jezz_X, Team Kodi&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;requires&amp;gt;&lt;br /&gt;
    &amp;lt;import addon=&amp;quot;xbmc.gui&amp;quot; version=&amp;quot;4.0.0&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/requires&amp;gt;&lt;br /&gt;
  &amp;lt;extension&lt;br /&gt;
    point=&amp;quot;xbmc.gui.skin&amp;quot;&lt;br /&gt;
    debugging=&amp;quot;false&amp;quot;&lt;br /&gt;
    effectslowdown=&amp;quot;0.75&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;res width=&amp;quot;1280&amp;quot; height=&amp;quot;720&amp;quot; aspect=&amp;quot;16:9&amp;quot; default=&amp;quot;true&amp;quot; folder=&amp;quot;720p&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;/extension&amp;gt;&lt;br /&gt;
  &amp;lt;extension point=&amp;quot;xbmc.addon.metadata&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;summary lang=&amp;quot;en&amp;quot;&amp;gt;Confluence skin by Jezz_X. (Kodi&#039;s default skin)&amp;lt;/summary&amp;gt;&lt;br /&gt;
    &amp;lt;description lang=&amp;quot;en&amp;quot;&amp;gt;Confluence is the default skin for Kodi 9.11 and above. It is a combination of concepts from many popular skins, and attempts to embrace and integrate their good ideas into a skin that should be easy for first time Kodi users to understand and use.&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;disclaimer lang=&amp;quot;en&amp;quot;&amp;gt;Confluence is the default skin for Kodi, removing it may cause issues&amp;lt;/disclaimer&amp;gt;&lt;br /&gt;
    &amp;lt;platform&amp;gt;all&amp;lt;/platform&amp;gt;&lt;br /&gt;
    &amp;lt;license&amp;gt;GNU GENERAL PUBLIC LICENSE. Version 2, June 1991&amp;lt;/license&amp;gt;&lt;br /&gt;
    &amp;lt;forum&amp;gt;&amp;lt;/forum&amp;gt;&lt;br /&gt;
    &amp;lt;website&amp;gt;&amp;lt;/website&amp;gt;&lt;br /&gt;
    &amp;lt;email&amp;gt;&amp;lt;/email&amp;gt;&lt;br /&gt;
    &amp;lt;source&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
  &amp;lt;/extension&amp;gt;&lt;br /&gt;
&amp;lt;/addon&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
One thing to note is that &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;all tag names are lower case.&amp;lt;/font&amp;gt; XML tag names are case sensitive!&lt;br /&gt;
&lt;br /&gt;
== addon.xml for scripts ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;yes&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;addon&lt;br /&gt;
    id=&amp;quot;script.artwork.downloader&amp;quot;&lt;br /&gt;
    name=&amp;quot;Artwork Downloader&amp;quot;&lt;br /&gt;
    version=&amp;quot;12.0.12&amp;quot;&lt;br /&gt;
    provider-name=&amp;quot;Martijn&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;requires&amp;gt;&lt;br /&gt;
    &amp;lt;import addon=&amp;quot;xbmc.python&amp;quot;                 version=&amp;quot;2.1.0&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;import addon=&amp;quot;xbmc.json&amp;quot;                   version=&amp;quot;6.0.0&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;import addon=&amp;quot;xbmc.addon&amp;quot;                  version=&amp;quot;12.0.0&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;import addon=&amp;quot;script.module.elementtree&amp;quot;   version=&amp;quot;1.2.7&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;import addon=&amp;quot;script.module.simplejson&amp;quot;    version=&amp;quot;2.0.10&amp;quot; optional=&amp;quot;true&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;import addon=&amp;quot;script.common.plugin.cache&amp;quot;  version=&amp;quot;1.3.0&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/requires&amp;gt;&lt;br /&gt;
  &amp;lt;extension point=&amp;quot;xbmc.python.script&amp;quot;         library=&amp;quot;default.py&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;provides&amp;gt;executable&amp;lt;/provides&amp;gt;&lt;br /&gt;
  &amp;lt;/extension&amp;gt;&lt;br /&gt;
  &amp;lt;extension point=&amp;quot;xbmc.service&amp;quot; library=&amp;quot;service.py&amp;quot; start=&amp;quot;login&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;extension point=&amp;quot;xbmc.addon.metadata&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;summary lang=&amp;quot;en&amp;quot;&amp;gt;Downloads Artwork for TV shows, Movies and Musicvideos in your library&amp;lt;/summary&amp;gt;&lt;br /&gt;
    &amp;lt;description lang=&amp;quot;en&amp;quot;&amp;gt;Downloads all available artwork for TV shows, Movies and Musicvideos in your library. Check the options for supported artwork[CR]Artwork sources:[CR]www.fanart.tv[CR]www.thetvdb.com[CR]www.themoviedb.org[CR]Remark:[CR]Check your skin to see what type of artwork is supported![CR]Each TV Show/Movie must have its own folder![CR]Skin integration:[CR]See readme file&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;disclaimer lang=&amp;quot;en&amp;quot;&amp;gt;For bugs, requests or general questions visit the Artwork Downloader thread on the Kodi forum.&amp;lt;/disclaimer&amp;gt;&lt;br /&gt;
    &amp;lt;language&amp;gt;&amp;lt;/language&amp;gt;&lt;br /&gt;
    &amp;lt;platform&amp;gt;all&amp;lt;/platform&amp;gt;&lt;br /&gt;
    &amp;lt;license&amp;gt;GNU GENERAL PUBLIC LICENSE. Version 2, June 1991&amp;lt;/license&amp;gt;&lt;br /&gt;
    &amp;lt;forum&amp;gt;&amp;lt;/forum&amp;gt;&lt;br /&gt;
    &amp;lt;website&amp;gt;&amp;lt;/website&amp;gt;&lt;br /&gt;
    &amp;lt;email&amp;gt;&amp;lt;/email&amp;gt;&lt;br /&gt;
    &amp;lt;source&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
  &amp;lt;/extension&amp;gt;&lt;br /&gt;
&amp;lt;/addon&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Schema Definition =&lt;br /&gt;
&lt;br /&gt;
The XML schema definition for &amp;lt;code&amp;gt;addon.xml&amp;lt;/code&amp;gt; is located [https://github.com/xbmc/xbmc/blob/master/addons/xbmc.addon/metadata.xsd here].&lt;br /&gt;
&lt;br /&gt;
{{frodo updated}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Add-on development]]&lt;br /&gt;
[[Category:Skin development]]&lt;/div&gt;</summary>
		<author><name>Martijn</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Addon.xml&amp;diff=111214</id>
		<title>Addon.xml</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Addon.xml&amp;diff=111214"/>
		<updated>2015-12-28T09:19:58Z</updated>

		<summary type="html">&lt;p&gt;Martijn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav|[[Development]]|[[Add-on development]]}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Every skin, script, or plugin in Kodi contains an &amp;lt;code&amp;gt;addon.xml&amp;lt;/code&amp;gt; file which describes the add-on, providing credits, version information and dependencies. Below, we will explain how this file is structured and which elements must be used to create an add-on for Kodi. You can also consult the examples at the end to see how this file is laid out depending on if you are developing a skin or script.&lt;br /&gt;
&lt;br /&gt;
Every &amp;lt;code&amp;gt;addon.xml&amp;lt;/code&amp;gt; file has the same basic structure, this example is for a video plugin:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;yes&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;addon id=&amp;quot;plugin.addon.id&amp;quot; name=&amp;quot;Your Add-on&amp;quot; version=&amp;quot;1.2.3&amp;quot; provider-name=&amp;quot;You&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;requires&amp;gt;&lt;br /&gt;
    &amp;lt;import addon=&amp;quot;xbmc.python&amp;quot; version=&amp;quot;2.1.0&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/requires&amp;gt;&lt;br /&gt;
  &amp;lt;extension point=&amp;quot;xbmc.python.pluginsource&amp;quot; library=&amp;quot;addon.py&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;provides&amp;gt;video&amp;lt;/provides&amp;gt;&lt;br /&gt;
  &amp;lt;/extension&amp;gt;&lt;br /&gt;
  &amp;lt;extension point=&amp;quot;xbmc.addon.metadata&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;summary lang=&amp;quot;en_gb&amp;quot;&amp;gt;Your add-on&#039;s summary&amp;lt;/summary&amp;gt;&lt;br /&gt;
    &amp;lt;description lang=&amp;quot;en_gb&amp;quot;&amp;gt;Your add-on&#039;s description&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;disclaimer lang=&amp;quot;en_gb&amp;quot;&amp;gt;&amp;lt;/disclaimer&amp;gt;&lt;br /&gt;
    &amp;lt;language&amp;gt;&amp;lt;/language&amp;gt;&lt;br /&gt;
    &amp;lt;platform&amp;gt;all&amp;lt;/platform&amp;gt;&lt;br /&gt;
    &amp;lt;license&amp;gt;&amp;lt;/license&amp;gt;&lt;br /&gt;
    &amp;lt;forum&amp;gt;&amp;lt;/forum&amp;gt;&lt;br /&gt;
    &amp;lt;website&amp;gt;&amp;lt;/website&amp;gt;&lt;br /&gt;
    &amp;lt;email&amp;gt;&amp;lt;/email&amp;gt;&lt;br /&gt;
    &amp;lt;source&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
  &amp;lt;/extension&amp;gt;&lt;br /&gt;
&amp;lt;/addon&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There are a few important things to note in the above sample:&lt;br /&gt;
&lt;br /&gt;
* The &amp;lt;code&amp;gt;&amp;lt;addon&amp;gt;&amp;lt;/code&amp;gt; element must be present, and be the root node. It presents data about the add-on package as a whole.&lt;br /&gt;
* Inside the &amp;lt;code&amp;gt;&amp;lt;addon&amp;gt;&amp;lt;/code&amp;gt; element is a &amp;lt;code&amp;gt;&amp;lt;requires&amp;gt;&amp;lt;/code&amp;gt; element, listing all the dependencies that this add-on needs in order to function.&lt;br /&gt;
* Then there are one or more &amp;lt;code&amp;gt;&amp;lt;extension&amp;gt;&amp;lt;/code&amp;gt; elements, each of which describes a part of Kodi that the add-on extends.&lt;br /&gt;
* Finally, there is a specific &amp;lt;code&amp;gt;&amp;lt;extension&amp;gt;&amp;lt;/code&amp;gt; element that extends &amp;lt;code&amp;gt;&amp;quot;xbmc.addon.metadata&amp;quot;&amp;lt;/code&amp;gt;. This describes the add-on to the user.&lt;br /&gt;
&lt;br /&gt;
= Elements =&lt;br /&gt;
 &lt;br /&gt;
== &amp;lt;addon&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;&amp;lt;addon&amp;gt;&amp;lt;/code&amp;gt; element has 4 attributes, all required: &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;version&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;provider-name&amp;lt;/code&amp;gt;. For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;addon id=&amp;quot;script.hello.world&amp;quot; name=&amp;quot;Hello World&amp;quot; version=&amp;quot;0.0.1&amp;quot; provider-name=&amp;quot;Dev1, Dev2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== id attribute ===&lt;br /&gt;
&lt;br /&gt;
The id attribute is the unique identifier used for this add-on.  It must be unique, and must use only lowercase characters, periods, underscores, dashes and numbers.  This identifier is also used as the name of the folder that contains the add-on, so for ease of searching, we suggest you use something like &amp;lt;type&amp;gt;.&amp;lt;uniquename&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== version attribute ===&lt;br /&gt;
&lt;br /&gt;
The version attribute is used by Kodi to determine whether updates are available. This should be use a version scheme like &amp;lt;code&amp;gt;x.y.z&amp;lt;/code&amp;gt; (major.minor.patch). For example: &amp;lt;code&amp;gt;version=&amp;quot;0.0.1&amp;quot;&amp;lt;/code&amp;gt;. Generally, you&#039;ll start with a version of &amp;lt;code&amp;gt;0.y.z&amp;lt;/code&amp;gt; for test releases and once you feel it is ready for a full release, you&#039;d bump the version to &amp;lt;code&amp;gt;1.0.0&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== How versioning works ====&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;2.2.9&amp;lt;/code&amp;gt; is newer than &amp;lt;code&amp;gt;2.2.1&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;2.2.10&amp;lt;/code&amp;gt;   is newer than &amp;lt;code&amp;gt;2.2.1&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;2.3.0&amp;lt;/code&amp;gt;   is newer than &amp;lt;code&amp;gt;2.2.9&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;2.2.1&amp;lt;/code&amp;gt; is newer than &amp;lt;code&amp;gt;2.2.1~alpha&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;2.2.1&amp;lt;/code&amp;gt; is newer than &amp;lt;code&amp;gt;2.2.1~beta&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;2.2.1~beta&amp;lt;/code&amp;gt; is newer than &amp;lt;code&amp;gt;2.2.1~alpha&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;2.2.1~beta3&amp;lt;/code&amp;gt; is newer than &amp;lt;code&amp;gt;2.2.1~beta2&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;2.2.1~beta10&amp;lt;/code&amp;gt; is newer than &amp;lt;code&amp;gt;2.2.1~beta1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{tip|Text should only be added for a beta version. In other cases version number should only contain numbers.}}&lt;br /&gt;
&lt;br /&gt;
=== name attribute ===&lt;br /&gt;
&lt;br /&gt;
The name attribute is the name of the add-on as it appears in the UI.  This should be in English where it makes sense for it to be so, and is not translatable.&lt;br /&gt;
&lt;br /&gt;
=== provider-name attribute ===&lt;br /&gt;
&lt;br /&gt;
The provider-name attribute is used as the author field.  This could be a team of authors or a single author. If the add-on is maintained by multiple people please separate them with a comma (&amp;lt;code&amp;gt;,&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;requires&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;&amp;lt;requires&amp;gt;&amp;lt;/code&amp;gt; element contains one or more &amp;lt;code&amp;gt;&amp;lt;import&amp;gt;&amp;lt;/code&amp;gt; elements which specify which other add-ons this particular add-on requires, and which version of those add-ons it requires. These add-ons may be part of Kodi itself, or may be parts of other third-party add-ons.&lt;br /&gt;
&lt;br /&gt;
Kodi will only allow the add-on to be run if suitable versions of the (non-optional) add-ons on which this add-on depends are installed. When a user installs your add-on from an online repository via Kodi&#039;s add-on manager, Kodi attempts to resolve these dependencies, and install anything that your add-on relies on first. The dependency must be provided with the minimum version number your script/skin requires.&lt;br /&gt;
&lt;br /&gt;
=== Examples ===&lt;br /&gt;
&lt;br /&gt;
Here is a sample &amp;lt;code&amp;gt;&amp;lt;requires&amp;gt;&amp;lt;/code&amp;gt; block that imports two required modules:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;requires&amp;gt;&lt;br /&gt;
  &amp;lt;import addon=&amp;quot;xbmc.python&amp;quot;                 version=&amp;quot;2.14.0&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;import addon=&amp;quot;script.module.elementtree&amp;quot;   version=&amp;quot;1.2.7&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;import addon=&amp;quot;script.module.simplejson&amp;quot;    version=&amp;quot;2.0.10&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/requires&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here&#039;s another example, which will only install on OpenELEC:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;requires&amp;gt;&lt;br /&gt;
  &amp;lt;import addon=&amp;quot;os.openelec.tv&amp;quot; version=&amp;quot;2.0&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/requires&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;import&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
Each &amp;lt;code&amp;gt;&amp;lt;import&amp;gt;&amp;lt;/code&amp;gt; element describes one dependency for an add-on, with two required attributes: &amp;lt;code&amp;gt;addon&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;version&amp;lt;/code&amp;gt;. There is also an optional attribute called, fittingly, &amp;lt;code&amp;gt;optional&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
If your add-on relies on other third-party add-ons, Kodi will automatically install them as well, provided they are available on an existing add-on repository. If they aren&#039;t available on any existing repository, the user must install the other add-ons themselves. Note that you need to include any Python libraries you need directly in your add-on; these can&#039;t be loaded with an &amp;lt;code&amp;gt;&amp;lt;import&amp;gt;&amp;lt;/code&amp;gt; element, since Kodi wouldn&#039;t know what to do with them.&lt;br /&gt;
&lt;br /&gt;
=== addon attribute ===&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;addon&amp;lt;/code&amp;gt; attribute specifies the id of the required add-on, e.g. &amp;lt;code&amp;gt;script.module.elementtree&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== version attribute ===&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;version&amp;lt;/code&amp;gt; attribute specifies the minimum version of the required add-on to be installed.&lt;br /&gt;
&lt;br /&gt;
==== Dependency versions ====&lt;br /&gt;
&lt;br /&gt;
Each different Kodi version might require you to use a higher version of the &amp;lt;code&amp;gt;xbmc.*&amp;lt;/code&amp;gt; add-on dependencies to control on which version of Kodi the add-on can be installed.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ Current versions&lt;br /&gt;
! Kodi version !! xbmc.python !! xbmc.gui !! xbmc.json !! xbmc.metadata !! xbmc.addon&lt;br /&gt;
|-&lt;br /&gt;
| Dharma 10.1 &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;Deprecated&amp;lt;/font&amp;gt;|| 1.0 || 2.11 || 2.0|| 1.0 || 0.1&lt;br /&gt;
|-&lt;br /&gt;
| Eden 11.0 &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;Deprecated&amp;lt;/font&amp;gt; || 2.0 || 3.0 || 4.0 || 1.0 || 11.0&lt;br /&gt;
|-&lt;br /&gt;
| Frodo 12.x &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;Deprecated&amp;lt;/font&amp;gt;|| 2.1.0 || 4.0.0 || 6.0.0 || 2.1.0 || 12.0.0&lt;br /&gt;
|-&lt;br /&gt;
| Gotham 13.x || 2.14.0 (ABI 2.1.0) || 5.0.1 || 6.6.0 (ABI 6.0.0) || 2.1.0 || 13.0.0 (ABI 12.0.0)&lt;br /&gt;
|-&lt;br /&gt;
| Helix 14.x || 2.19.0 (ABI 2.1.0) || 5.3.0 || 6.20.0 (ABI 6.0.0) || 2.1.0 || 14.0.0 (ABI 12.0.0)&lt;br /&gt;
|-&lt;br /&gt;
| Isengard 15.x || 2.20.0 (ABI 2.1.0) || 5.9.0 (ABI 5.3.0) || 6.25.1 (ABI 6.0.0) || 2.1.0 || 15.0.0 (ABI 12.0.0)&lt;br /&gt;
|-&lt;br /&gt;
| Jarvis 16.x || 2.24.0 (ABI 2.1.0) || 5.10.0 || 6.32.1 (ABI 6.0.0) || 2.1.0 || 16.0.0 (ABI 12.0.0)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Each Kodi version contain a certain backwards compatibility. For example add-ons made for Gotham 13.x can still work ion Jarvis 16.x. Do not that this might change in the future. The &#039;&#039;&#039;ABI&#039;&#039;&#039; version you see in the table above is the backwards compatibility version for which add-ons are still marked &amp;quot;working&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== optional attribute ===&lt;br /&gt;
&lt;br /&gt;
The dependency may be made optional by setting the &amp;lt;code&amp;gt;optional&amp;lt;/code&amp;gt; attribute to &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;. This will only install the dependency when the add-on actually needs it. Even if this dependency is missing, the add-on can still be installed.&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;extension&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;&amp;lt;extension&amp;gt;&amp;lt;/code&amp;gt; element describes the technical aspects of this add-on. It will have at least a point attribute which will give the part of Kodi that the add-on extends. For instance, the &amp;lt;code&amp;gt;addon.xml&amp;lt;/code&amp;gt; file for the Confluence skin extends the &amp;lt;code&amp;gt;xbmc.gui.skin&amp;lt;/code&amp;gt; part of xbmc. All available extension points are given below.&lt;br /&gt;
&lt;br /&gt;
The various extension points that Kodi provides are given in the list below.&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
!Extension point&lt;br /&gt;
!Add-on Category&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;[[Skinning|xbmc.gui.skin]]&amp;lt;/code&amp;gt;&lt;br /&gt;
|Skin&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.gui.webinterface&amp;lt;/code&amp;gt;&lt;br /&gt;
|Web interface&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;[[Add-on repositories|xbmc.addon.repository]]&amp;lt;/code&amp;gt;&lt;br /&gt;
|&#039;&#039;None&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;[[HOW-TO:_Automatically_start_addons_using_services|xbmc.service]]&amp;lt;/code&amp;gt;&lt;br /&gt;
|Services&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.metadata.scraper.albums&amp;lt;/code&amp;gt;&lt;br /&gt;
|Album information&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.metadata.scraper.artists&amp;lt;/code&amp;gt;&lt;br /&gt;
|Artist information&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.metadata.scraper.movies&amp;lt;/code&amp;gt;&lt;br /&gt;
|Movie information&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.metadata.scraper.musicvideos&amp;lt;/code&amp;gt;&lt;br /&gt;
|Music video information&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.metadata.scraper.tvshows&amp;lt;/code&amp;gt;&lt;br /&gt;
|TV information&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.metadata.scraper.library&amp;lt;/code&amp;gt;&lt;br /&gt;
|&#039;&#039;None&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.ui.screensaver&amp;lt;/code&amp;gt;&lt;br /&gt;
|Screensaver&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.player.musicviz&amp;lt;/code&amp;gt;&lt;br /&gt;
|Visualization&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;[[Plugin sources#What Kodi requires for your add-on|xbmc.python.pluginsource]]&amp;lt;/code&amp;gt;&lt;br /&gt;
|Music Add-ons (audio) / Picture Add-ons (image) / Program Add-ons (executable) / Video Add-ons (video)&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;[[Script sources#What Kodi requires for your add-on|xbmc.python.script]]&amp;lt;/code&amp;gt;&lt;br /&gt;
|Music Add-ons (audio) / Picture Add-ons (image) / Program Add-ons (executable) / Video Add-ons (video)&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.python.weather&amp;lt;/code&amp;gt;&lt;br /&gt;
|Weather&lt;br /&gt;
|-{{Gotham row}}&lt;br /&gt;
|&amp;lt;code&amp;gt;[[Script Subtitles#What Kodi requires for your add-on|xbmc.python.subtitles]]&amp;lt;/code&amp;gt;&lt;br /&gt;
|&#039;&#039;&#039;([[:Category:Gotham feature|Future Gotham removal]])&#039;&#039;&#039; Subtitles&lt;br /&gt;
|-{{Gotham row}}&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.subtitle.module&amp;lt;/code&amp;gt;&lt;br /&gt;
|&#039;&#039;&#039;([[:Category:Gotham feature|Future Gotham addition]])&#039;&#039;&#039; Subtitle service module&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;[[Script lyrics#What Kodi requires for your add-on|xbmc.python.lyrics]]&amp;lt;/code&amp;gt;&lt;br /&gt;
|Lyrics&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;[[Script library#What Kodi requires for your add-on|xbmc.python.library]]&amp;lt;/code&amp;gt;&lt;br /&gt;
|&#039;&#039;None&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.python.module&amp;lt;/code&amp;gt;&lt;br /&gt;
|These don&#039;t show up in the addon browser and are purely as support for other scripts.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.addon.video&amp;lt;/code&amp;gt;&lt;br /&gt;
|Video Add-ons (video)&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.addon.audio&amp;lt;/code&amp;gt;&lt;br /&gt;
|Music Add-ons (audio)&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.addon.image&amp;lt;/code&amp;gt;&lt;br /&gt;
|Picture Add-ons (image)&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;kodi.resource.images&amp;lt;/code&amp;gt;&lt;br /&gt;
|Additional image files&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;kodi.resource.language&amp;lt;/code&amp;gt;&lt;br /&gt;
|Additional language files&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Add-ons that don&#039;t correspond to a specific add-on category can not be installed by users. These are usually supporting or shared add-ons that are installed automatically by the add-ons that require them.&lt;br /&gt;
&lt;br /&gt;
=== xbmc.python.pluginsource ===&lt;br /&gt;
{{See also|Plugin sources}}&lt;br /&gt;
&lt;br /&gt;
The most common extension point that will be used by plugin addon developers is &amp;lt;code&amp;gt;xbmc.python.pluginsource&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== library attribute ====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;&amp;lt;extension point=&amp;quot;xbmc.python.pluginsource&amp;quot;&amp;gt;&amp;lt;/code&amp;gt; element has an extra attribute: &amp;lt;code&amp;gt;library&amp;lt;/code&amp;gt;. This is the name of the Python script (startup script) that will be run when the add-on is activated. This file must exist in the root of your add-on directory.&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;provides&amp;gt; element ====&lt;br /&gt;
&lt;br /&gt;
The extension has an additional child element named &amp;lt;code&amp;gt;&amp;lt;provides&amp;gt;&amp;lt;/code&amp;gt;, which contains a whitespace separated list of &amp;lt;code&amp;gt;image&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;video&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;audio&amp;lt;/code&amp;gt;, and/or &amp;lt;code&amp;gt;executable&amp;lt;/code&amp;gt;. This determines in what area (or context) of the Kodi system your addon will make itself visible in:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
!Provides&lt;br /&gt;
!Appears in&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;image&amp;lt;/code&amp;gt;&lt;br /&gt;
|Pictures&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;audio&amp;lt;/code&amp;gt;&lt;br /&gt;
|Music&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;video&amp;lt;/code&amp;gt;&lt;br /&gt;
|Video&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;executable&amp;lt;/code&amp;gt;&lt;br /&gt;
|Programs&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;(blank)&#039;&#039;&lt;br /&gt;
|Not visible&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Example ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;extension point=&amp;quot;xbmc.python.pluginsource&amp;quot; library=&amp;quot;gpodderxbmc.py&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;provides&amp;gt;audio video&amp;lt;/provides&amp;gt;&lt;br /&gt;
&amp;lt;/extension&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== xbmc.addon.metadata ===&lt;br /&gt;
&lt;br /&gt;
This special extension point &#039;&#039;must&#039;&#039; be provided by all add-ons, and is the way that your add-on is described to users of the Kodi add-on manager.&lt;br /&gt;
&lt;br /&gt;
==== Required elements ====&lt;br /&gt;
&lt;br /&gt;
There are several elements that this should contain and all are compulsory (except the broken tag). Each of the elements below must always be present in English as a minimum.&lt;br /&gt;
&lt;br /&gt;
Many of these elements can be translated into multiple languages and should be added once for each supported language. See the [[List of language codes (ISO-639:1988)]] for possible language strings. If there&#039;s no &amp;lt;code&amp;gt;lang&amp;lt;/code&amp;gt; attribute for a translatable element, it defaults to English. However, even for English, adding the &amp;lt;code&amp;gt;lang&amp;lt;/code&amp;gt; attribute is recommended.&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;summary&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
One or more &amp;lt;code&amp;gt;&amp;lt;summary&amp;gt;&amp;lt;/code&amp;gt; elements provide a short summary of what the add-on does. This should be a single sentence. It may be translated into multiple languages.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;summary lang=&amp;quot;en&amp;quot;&amp;gt;Hello World script provides some basic examples on how to create your first script.&amp;lt;/summary&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
From Kodi v15 Isengard we recommend you use&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;summary lang=&amp;quot;en_gb&amp;quot;&amp;gt;Hello World script provides some basic examples on how to create your first script.&amp;lt;/summary&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;description&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
One or more &amp;lt;code&amp;gt;&amp;lt;description&amp;gt;&amp;lt;/code&amp;gt; elements provide a more detailed summary of what the add-on does. It may be translated into multiple languages.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;description lang=&amp;quot;en&amp;quot;&amp;gt;Hello World script provides some basic examples on how to create your first script&lt;br /&gt;
 and hopefully will increase the number of Kodi users to start creating their own addons.&amp;lt;/description&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
From Kodi v15 Isengard we recommend you use&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;description lang=&amp;quot;en_gb&amp;quot;&amp;gt;Hello World script provides some basic examples on how to create your first script&lt;br /&gt;
 and hopefully will increase the number of Kodi users to start creating their own addons.&amp;lt;/description&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;platform&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;&amp;lt;platform&amp;gt;&amp;lt;/code&amp;gt; tag specifies which platforms (operating systems, hardware) this add-on runs on. Many add-ons will run on all platforms, so &amp;lt;code&amp;gt;all&amp;lt;/code&amp;gt; is an option. If the platform tag is missing, we assume the add-on runs on all platforms. A combination of these is also possible. Currently available options are:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;all&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;linux&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;osx&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;osx64&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;osx32&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;ios&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;windx&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;android&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;platform&amp;gt;all&amp;lt;/platform&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;language&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;&amp;lt;language&amp;gt;&amp;lt;/code&amp;gt; elements indicate the language(s) of the &#039;&#039;content&#039;&#039; provided by your add-on. It applies to plugins, scripts, scrapers etc. This allows browsing the add-on list by language. When there is no specific language provided in your content, leave it blank.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;language&amp;gt;en de fr&amp;lt;/language&amp;gt;&lt;br /&gt;
    or&lt;br /&gt;
&amp;lt;language&amp;gt;&amp;lt;/language&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;license&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;&amp;lt;license&amp;gt;&amp;lt;/code&amp;gt; element indicates what license is used for this add-on.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;license&amp;gt;GNU GENERAL PUBLIC LICENSE. Version 2, June 1991&amp;lt;/license&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;forum&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;&amp;lt;forum&amp;gt;&amp;lt;/code&amp;gt; element provides the forum thread URL for this specific add-on. Leave this blank if there is no forum thread.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;forum&amp;gt;http://www.myaddonwebsite.com/forum.php?thread=12345&amp;lt;/forum&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;website&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;&amp;lt;website&amp;gt;&amp;lt;/code&amp;gt; element provides the website URL for this specific add-on.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;website&amp;gt;http://www.myaddonwebsite.com/&amp;lt;/website&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;nowiki&amp;gt;&amp;lt;source&amp;gt;&amp;lt;/nowiki&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;source&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; element provides the URL for the source code for this specific add-on.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;source&amp;gt;http://github.com/someone/myaddon&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;email&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;&amp;lt;email&amp;gt;&amp;lt;/code&amp;gt; element provides the email address of the author if he wishes to do so for this specific add-on. Here are two examples of how you can make it look (the second one it harder for spambots to use). This can be left blank if you do not want to make your email address public.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;email&amp;gt;foo@bar.com&amp;lt;/email&amp;gt;&lt;br /&gt;
    or&lt;br /&gt;
&amp;lt;email&amp;gt;foo at bar dot com&amp;lt;/email&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;disclaimer&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
One or more &amp;lt;code&amp;gt;&amp;lt;disclaimer&amp;gt;&amp;lt;/code&amp;gt; elements that indicate what (if any) things the user should know about the add-on. There is no need to have a disclaimer if you don&#039;t want one, though if something requires settings, or only works in a particular country then you may want to state this here. It may be translated into multiple languages.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;disclaimer lang=&amp;quot;en&amp;quot;&amp;gt;Feel free to use this script. For information visit the wiki.&amp;lt;/disclaimer&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;broken&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;&amp;lt;broken&amp;gt;&amp;lt;/code&amp;gt; tag will mark the add-on as broken in the Kodi repo and provide the reason why. You don&#039;t need to do a version bump for this to work. However a bump is recommended as you could also add this to the changelog.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;broken&amp;gt;deprecated&amp;lt;/broken&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Skin specific elements ==&lt;br /&gt;
=== Overview ===&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
|  &#039;&#039;&#039;effectslowdown&#039;&#039;&#039;&lt;br /&gt;
|  A multiplier that is applied to all &amp;lt;animation&amp;gt; effect lengths in the skin. Useful to slow down all animations globally so that you can better configure timings and see interactions between animating controls.&lt;br /&gt;
|- &lt;br /&gt;
|  &#039;&#039;&#039;debugging&#039;&#039;&#039;&lt;br /&gt;
|  When set to true, it&#039;ll display onscreen debug information (xml filename, mouse position and focused control type and name) in the skin.&lt;br /&gt;
|- &lt;br /&gt;
|  &#039;&#039;&#039;res&#039;&#039;&#039;&lt;br /&gt;
|  Support for arbitrary skin resolutions.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== How window xml files are found ===&lt;br /&gt;
&lt;br /&gt;
Kodi can run in many differing resolutions, and a skin should try and cater to all these resolutions. The easiest way is to develop for one specific resolution and make sure that all controls contain &amp;lt;width&amp;gt; and &amp;lt;height&amp;gt; tags. That way, Kodi can scale the controls to the new screen resolution.&lt;br /&gt;
&lt;br /&gt;
However, you may choose to develop alternative window xml files for differing resolutions (such as for HDTV resolutions, or for widescreen versus 4x3 resolutions).&lt;br /&gt;
&lt;br /&gt;
The order that Kodi looks for it&#039;s skin files are as follows:&lt;br /&gt;
&lt;br /&gt;
# It first looks in the current screenmode folder (one of 1080i, 720p, NTSC16x9, NTSC, PAL16x9 or PAL)&lt;br /&gt;
# If the current screenmode is 1080i and there&#039;s no 1080i folder, it then looks in the 720p folder.&lt;br /&gt;
# Finally, it looks in the &#039;&#039;&#039;res&#039;&#039;&#039; folder.&lt;br /&gt;
&lt;br /&gt;
This allows you to just put any window files that do not require special treatment for 16x9 resolutions etc. in the &amp;lt;defaultresolution&amp;gt; folder, preventing needless repetition.&lt;br /&gt;
&lt;br /&gt;
= Examples =&lt;br /&gt;
&lt;br /&gt;
== addon.xml for skins ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
﻿&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;addon&lt;br /&gt;
  id=&amp;quot;skin.confluence&amp;quot;&lt;br /&gt;
  version=&amp;quot;2.1.3&amp;quot;&lt;br /&gt;
  name=&amp;quot;Confluence&amp;quot;&lt;br /&gt;
  provider-name=&amp;quot;Jezz_X, Team Kodi&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;requires&amp;gt;&lt;br /&gt;
    &amp;lt;import addon=&amp;quot;xbmc.gui&amp;quot; version=&amp;quot;4.0.0&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/requires&amp;gt;&lt;br /&gt;
  &amp;lt;extension&lt;br /&gt;
    point=&amp;quot;xbmc.gui.skin&amp;quot;&lt;br /&gt;
    debugging=&amp;quot;false&amp;quot;&lt;br /&gt;
    effectslowdown=&amp;quot;0.75&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;res width=&amp;quot;1280&amp;quot; height=&amp;quot;720&amp;quot; aspect=&amp;quot;16:9&amp;quot; default=&amp;quot;true&amp;quot; folder=&amp;quot;720p&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;/extension&amp;gt;&lt;br /&gt;
  &amp;lt;extension point=&amp;quot;xbmc.addon.metadata&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;summary lang=&amp;quot;en&amp;quot;&amp;gt;Confluence skin by Jezz_X. (Kodi&#039;s default skin)&amp;lt;/summary&amp;gt;&lt;br /&gt;
    &amp;lt;description lang=&amp;quot;en&amp;quot;&amp;gt;Confluence is the default skin for Kodi 9.11 and above. It is a combination of concepts from many popular skins, and attempts to embrace and integrate their good ideas into a skin that should be easy for first time Kodi users to understand and use.&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;disclaimer lang=&amp;quot;en&amp;quot;&amp;gt;Confluence is the default skin for Kodi, removing it may cause issues&amp;lt;/disclaimer&amp;gt;&lt;br /&gt;
    &amp;lt;platform&amp;gt;all&amp;lt;/platform&amp;gt;&lt;br /&gt;
    &amp;lt;license&amp;gt;GNU GENERAL PUBLIC LICENSE. Version 2, June 1991&amp;lt;/license&amp;gt;&lt;br /&gt;
    &amp;lt;forum&amp;gt;&amp;lt;/forum&amp;gt;&lt;br /&gt;
    &amp;lt;website&amp;gt;&amp;lt;/website&amp;gt;&lt;br /&gt;
    &amp;lt;email&amp;gt;&amp;lt;/email&amp;gt;&lt;br /&gt;
    &amp;lt;source&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
  &amp;lt;/extension&amp;gt;&lt;br /&gt;
&amp;lt;/addon&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
One thing to note is that &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;all tag names are lower case.&amp;lt;/font&amp;gt; XML tag names are case sensitive!&lt;br /&gt;
&lt;br /&gt;
== addon.xml for scripts ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;yes&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;addon&lt;br /&gt;
    id=&amp;quot;script.artwork.downloader&amp;quot;&lt;br /&gt;
    name=&amp;quot;Artwork Downloader&amp;quot;&lt;br /&gt;
    version=&amp;quot;12.0.12&amp;quot;&lt;br /&gt;
    provider-name=&amp;quot;Martijn&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;requires&amp;gt;&lt;br /&gt;
    &amp;lt;import addon=&amp;quot;xbmc.python&amp;quot;                 version=&amp;quot;2.1.0&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;import addon=&amp;quot;xbmc.json&amp;quot;                   version=&amp;quot;6.0.0&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;import addon=&amp;quot;xbmc.addon&amp;quot;                  version=&amp;quot;12.0.0&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;import addon=&amp;quot;script.module.elementtree&amp;quot;   version=&amp;quot;1.2.7&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;import addon=&amp;quot;script.module.simplejson&amp;quot;    version=&amp;quot;2.0.10&amp;quot; optional=&amp;quot;true&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;import addon=&amp;quot;script.common.plugin.cache&amp;quot;  version=&amp;quot;1.3.0&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/requires&amp;gt;&lt;br /&gt;
  &amp;lt;extension point=&amp;quot;xbmc.python.script&amp;quot;         library=&amp;quot;default.py&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;provides&amp;gt;executable&amp;lt;/provides&amp;gt;&lt;br /&gt;
  &amp;lt;/extension&amp;gt;&lt;br /&gt;
  &amp;lt;extension point=&amp;quot;xbmc.service&amp;quot; library=&amp;quot;service.py&amp;quot; start=&amp;quot;login&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;extension point=&amp;quot;xbmc.addon.metadata&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;summary lang=&amp;quot;en&amp;quot;&amp;gt;Downloads Artwork for TV shows, Movies and Musicvideos in your library&amp;lt;/summary&amp;gt;&lt;br /&gt;
    &amp;lt;description lang=&amp;quot;en&amp;quot;&amp;gt;Downloads all available artwork for TV shows, Movies and Musicvideos in your library. Check the options for supported artwork[CR]Artwork sources:[CR]www.fanart.tv[CR]www.thetvdb.com[CR]www.themoviedb.org[CR]Remark:[CR]Check your skin to see what type of artwork is supported![CR]Each TV Show/Movie must have its own folder![CR]Skin integration:[CR]See readme file&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;disclaimer lang=&amp;quot;en&amp;quot;&amp;gt;For bugs, requests or general questions visit the Artwork Downloader thread on the Kodi forum.&amp;lt;/disclaimer&amp;gt;&lt;br /&gt;
    &amp;lt;language&amp;gt;&amp;lt;/language&amp;gt;&lt;br /&gt;
    &amp;lt;platform&amp;gt;all&amp;lt;/platform&amp;gt;&lt;br /&gt;
    &amp;lt;license&amp;gt;GNU GENERAL PUBLIC LICENSE. Version 2, June 1991&amp;lt;/license&amp;gt;&lt;br /&gt;
    &amp;lt;forum&amp;gt;&amp;lt;/forum&amp;gt;&lt;br /&gt;
    &amp;lt;website&amp;gt;&amp;lt;/website&amp;gt;&lt;br /&gt;
    &amp;lt;email&amp;gt;&amp;lt;/email&amp;gt;&lt;br /&gt;
    &amp;lt;source&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
  &amp;lt;/extension&amp;gt;&lt;br /&gt;
&amp;lt;/addon&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Schema Definition =&lt;br /&gt;
&lt;br /&gt;
The XML schema definition for &amp;lt;code&amp;gt;addon.xml&amp;lt;/code&amp;gt; is located [https://github.com/xbmc/xbmc/blob/master/addons/xbmc.addon/metadata.xsd here].&lt;br /&gt;
&lt;br /&gt;
{{frodo updated}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Add-on development]]&lt;br /&gt;
[[Category:Skin development]]&lt;/div&gt;</summary>
		<author><name>Martijn</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Addon.xml&amp;diff=111213</id>
		<title>Addon.xml</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Addon.xml&amp;diff=111213"/>
		<updated>2015-12-28T09:19:36Z</updated>

		<summary type="html">&lt;p&gt;Martijn: /*  */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav|[[Development]]|[[Add-on development]]}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Every skin, script, or plugin in Kodi contains an &amp;lt;code&amp;gt;addon.xml&amp;lt;/code&amp;gt; file which describes the add-on, providing credits, version information and dependencies. Below, we will explain how this file is structured and which elements must be used to create an add-on for Kodi. You can also consult the examples at the end to see how this file is laid out depending on if you are developing a skin or script.&lt;br /&gt;
&lt;br /&gt;
Every &amp;lt;code&amp;gt;addon.xml&amp;lt;/code&amp;gt; file has the same basic structure, this example is for a video plugin:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;yes&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;addon id=&amp;quot;plugin.addon.id&amp;quot; name=&amp;quot;Your Add-on&amp;quot; version=&amp;quot;1.2.3&amp;quot; provider-name=&amp;quot;You&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;requires&amp;gt;&lt;br /&gt;
    &amp;lt;import addon=&amp;quot;xbmc.python&amp;quot; version=&amp;quot;2.1.0&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/requires&amp;gt;&lt;br /&gt;
  &amp;lt;extension point=&amp;quot;xbmc.python.pluginsource&amp;quot; library=&amp;quot;addon.py&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;provides&amp;gt;video&amp;lt;/provides&amp;gt;&lt;br /&gt;
  &amp;lt;/extension&amp;gt;&lt;br /&gt;
  &amp;lt;extension point=&amp;quot;xbmc.addon.metadata&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;summary lang=&amp;quot;en&amp;quot;&amp;gt;Your add-on&#039;s summary&amp;lt;/summary&amp;gt;&lt;br /&gt;
    &amp;lt;description lang=&amp;quot;en&amp;quot;&amp;gt;Your add-on&#039;s description&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;disclaimer lang=&amp;quot;en&amp;quot;&amp;gt;&amp;lt;/disclaimer&amp;gt;&lt;br /&gt;
    &amp;lt;language&amp;gt;&amp;lt;/language&amp;gt;&lt;br /&gt;
    &amp;lt;platform&amp;gt;all&amp;lt;/platform&amp;gt;&lt;br /&gt;
    &amp;lt;license&amp;gt;&amp;lt;/license&amp;gt;&lt;br /&gt;
    &amp;lt;forum&amp;gt;&amp;lt;/forum&amp;gt;&lt;br /&gt;
    &amp;lt;website&amp;gt;&amp;lt;/website&amp;gt;&lt;br /&gt;
    &amp;lt;email&amp;gt;&amp;lt;/email&amp;gt;&lt;br /&gt;
    &amp;lt;source&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
  &amp;lt;/extension&amp;gt;&lt;br /&gt;
&amp;lt;/addon&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There are a few important things to note in the above sample:&lt;br /&gt;
&lt;br /&gt;
* The &amp;lt;code&amp;gt;&amp;lt;addon&amp;gt;&amp;lt;/code&amp;gt; element must be present, and be the root node. It presents data about the add-on package as a whole.&lt;br /&gt;
* Inside the &amp;lt;code&amp;gt;&amp;lt;addon&amp;gt;&amp;lt;/code&amp;gt; element is a &amp;lt;code&amp;gt;&amp;lt;requires&amp;gt;&amp;lt;/code&amp;gt; element, listing all the dependencies that this add-on needs in order to function.&lt;br /&gt;
* Then there are one or more &amp;lt;code&amp;gt;&amp;lt;extension&amp;gt;&amp;lt;/code&amp;gt; elements, each of which describes a part of Kodi that the add-on extends.&lt;br /&gt;
* Finally, there is a specific &amp;lt;code&amp;gt;&amp;lt;extension&amp;gt;&amp;lt;/code&amp;gt; element that extends &amp;lt;code&amp;gt;&amp;quot;xbmc.addon.metadata&amp;quot;&amp;lt;/code&amp;gt;. This describes the add-on to the user.&lt;br /&gt;
&lt;br /&gt;
= Elements =&lt;br /&gt;
 &lt;br /&gt;
== &amp;lt;addon&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;&amp;lt;addon&amp;gt;&amp;lt;/code&amp;gt; element has 4 attributes, all required: &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;version&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;provider-name&amp;lt;/code&amp;gt;. For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;addon id=&amp;quot;script.hello.world&amp;quot; name=&amp;quot;Hello World&amp;quot; version=&amp;quot;0.0.1&amp;quot; provider-name=&amp;quot;Dev1, Dev2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== id attribute ===&lt;br /&gt;
&lt;br /&gt;
The id attribute is the unique identifier used for this add-on.  It must be unique, and must use only lowercase characters, periods, underscores, dashes and numbers.  This identifier is also used as the name of the folder that contains the add-on, so for ease of searching, we suggest you use something like &amp;lt;type&amp;gt;.&amp;lt;uniquename&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== version attribute ===&lt;br /&gt;
&lt;br /&gt;
The version attribute is used by Kodi to determine whether updates are available. This should be use a version scheme like &amp;lt;code&amp;gt;x.y.z&amp;lt;/code&amp;gt; (major.minor.patch). For example: &amp;lt;code&amp;gt;version=&amp;quot;0.0.1&amp;quot;&amp;lt;/code&amp;gt;. Generally, you&#039;ll start with a version of &amp;lt;code&amp;gt;0.y.z&amp;lt;/code&amp;gt; for test releases and once you feel it is ready for a full release, you&#039;d bump the version to &amp;lt;code&amp;gt;1.0.0&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== How versioning works ====&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;2.2.9&amp;lt;/code&amp;gt; is newer than &amp;lt;code&amp;gt;2.2.1&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;2.2.10&amp;lt;/code&amp;gt;   is newer than &amp;lt;code&amp;gt;2.2.1&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;2.3.0&amp;lt;/code&amp;gt;   is newer than &amp;lt;code&amp;gt;2.2.9&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;2.2.1&amp;lt;/code&amp;gt; is newer than &amp;lt;code&amp;gt;2.2.1~alpha&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;2.2.1&amp;lt;/code&amp;gt; is newer than &amp;lt;code&amp;gt;2.2.1~beta&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;2.2.1~beta&amp;lt;/code&amp;gt; is newer than &amp;lt;code&amp;gt;2.2.1~alpha&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;2.2.1~beta3&amp;lt;/code&amp;gt; is newer than &amp;lt;code&amp;gt;2.2.1~beta2&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;2.2.1~beta10&amp;lt;/code&amp;gt; is newer than &amp;lt;code&amp;gt;2.2.1~beta1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{tip|Text should only be added for a beta version. In other cases version number should only contain numbers.}}&lt;br /&gt;
&lt;br /&gt;
=== name attribute ===&lt;br /&gt;
&lt;br /&gt;
The name attribute is the name of the add-on as it appears in the UI.  This should be in English where it makes sense for it to be so, and is not translatable.&lt;br /&gt;
&lt;br /&gt;
=== provider-name attribute ===&lt;br /&gt;
&lt;br /&gt;
The provider-name attribute is used as the author field.  This could be a team of authors or a single author. If the add-on is maintained by multiple people please separate them with a comma (&amp;lt;code&amp;gt;,&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;requires&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;&amp;lt;requires&amp;gt;&amp;lt;/code&amp;gt; element contains one or more &amp;lt;code&amp;gt;&amp;lt;import&amp;gt;&amp;lt;/code&amp;gt; elements which specify which other add-ons this particular add-on requires, and which version of those add-ons it requires. These add-ons may be part of Kodi itself, or may be parts of other third-party add-ons.&lt;br /&gt;
&lt;br /&gt;
Kodi will only allow the add-on to be run if suitable versions of the (non-optional) add-ons on which this add-on depends are installed. When a user installs your add-on from an online repository via Kodi&#039;s add-on manager, Kodi attempts to resolve these dependencies, and install anything that your add-on relies on first. The dependency must be provided with the minimum version number your script/skin requires.&lt;br /&gt;
&lt;br /&gt;
=== Examples ===&lt;br /&gt;
&lt;br /&gt;
Here is a sample &amp;lt;code&amp;gt;&amp;lt;requires&amp;gt;&amp;lt;/code&amp;gt; block that imports two required modules:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;requires&amp;gt;&lt;br /&gt;
  &amp;lt;import addon=&amp;quot;xbmc.python&amp;quot;                 version=&amp;quot;2.14.0&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;import addon=&amp;quot;script.module.elementtree&amp;quot;   version=&amp;quot;1.2.7&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;import addon=&amp;quot;script.module.simplejson&amp;quot;    version=&amp;quot;2.0.10&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/requires&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here&#039;s another example, which will only install on OpenELEC:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;requires&amp;gt;&lt;br /&gt;
  &amp;lt;import addon=&amp;quot;os.openelec.tv&amp;quot; version=&amp;quot;2.0&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/requires&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;import&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
Each &amp;lt;code&amp;gt;&amp;lt;import&amp;gt;&amp;lt;/code&amp;gt; element describes one dependency for an add-on, with two required attributes: &amp;lt;code&amp;gt;addon&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;version&amp;lt;/code&amp;gt;. There is also an optional attribute called, fittingly, &amp;lt;code&amp;gt;optional&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
If your add-on relies on other third-party add-ons, Kodi will automatically install them as well, provided they are available on an existing add-on repository. If they aren&#039;t available on any existing repository, the user must install the other add-ons themselves. Note that you need to include any Python libraries you need directly in your add-on; these can&#039;t be loaded with an &amp;lt;code&amp;gt;&amp;lt;import&amp;gt;&amp;lt;/code&amp;gt; element, since Kodi wouldn&#039;t know what to do with them.&lt;br /&gt;
&lt;br /&gt;
=== addon attribute ===&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;addon&amp;lt;/code&amp;gt; attribute specifies the id of the required add-on, e.g. &amp;lt;code&amp;gt;script.module.elementtree&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== version attribute ===&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;version&amp;lt;/code&amp;gt; attribute specifies the minimum version of the required add-on to be installed.&lt;br /&gt;
&lt;br /&gt;
==== Dependency versions ====&lt;br /&gt;
&lt;br /&gt;
Each different Kodi version might require you to use a higher version of the &amp;lt;code&amp;gt;xbmc.*&amp;lt;/code&amp;gt; add-on dependencies to control on which version of Kodi the add-on can be installed.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ Current versions&lt;br /&gt;
! Kodi version !! xbmc.python !! xbmc.gui !! xbmc.json !! xbmc.metadata !! xbmc.addon&lt;br /&gt;
|-&lt;br /&gt;
| Dharma 10.1 &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;Deprecated&amp;lt;/font&amp;gt;|| 1.0 || 2.11 || 2.0|| 1.0 || 0.1&lt;br /&gt;
|-&lt;br /&gt;
| Eden 11.0 &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;Deprecated&amp;lt;/font&amp;gt; || 2.0 || 3.0 || 4.0 || 1.0 || 11.0&lt;br /&gt;
|-&lt;br /&gt;
| Frodo 12.x &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;Deprecated&amp;lt;/font&amp;gt;|| 2.1.0 || 4.0.0 || 6.0.0 || 2.1.0 || 12.0.0&lt;br /&gt;
|-&lt;br /&gt;
| Gotham 13.x || 2.14.0 (ABI 2.1.0) || 5.0.1 || 6.6.0 (ABI 6.0.0) || 2.1.0 || 13.0.0 (ABI 12.0.0)&lt;br /&gt;
|-&lt;br /&gt;
| Helix 14.x || 2.19.0 (ABI 2.1.0) || 5.3.0 || 6.20.0 (ABI 6.0.0) || 2.1.0 || 14.0.0 (ABI 12.0.0)&lt;br /&gt;
|-&lt;br /&gt;
| Isengard 15.x || 2.20.0 (ABI 2.1.0) || 5.9.0 (ABI 5.3.0) || 6.25.1 (ABI 6.0.0) || 2.1.0 || 15.0.0 (ABI 12.0.0)&lt;br /&gt;
|-&lt;br /&gt;
| Jarvis 16.x || 2.24.0 (ABI 2.1.0) || 5.10.0 || 6.32.1 (ABI 6.0.0) || 2.1.0 || 16.0.0 (ABI 12.0.0)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Each Kodi version contain a certain backwards compatibility. For example add-ons made for Gotham 13.x can still work ion Jarvis 16.x. Do not that this might change in the future. The &#039;&#039;&#039;ABI&#039;&#039;&#039; version you see in the table above is the backwards compatibility version for which add-ons are still marked &amp;quot;working&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== optional attribute ===&lt;br /&gt;
&lt;br /&gt;
The dependency may be made optional by setting the &amp;lt;code&amp;gt;optional&amp;lt;/code&amp;gt; attribute to &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;. This will only install the dependency when the add-on actually needs it. Even if this dependency is missing, the add-on can still be installed.&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;extension&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;&amp;lt;extension&amp;gt;&amp;lt;/code&amp;gt; element describes the technical aspects of this add-on. It will have at least a point attribute which will give the part of Kodi that the add-on extends. For instance, the &amp;lt;code&amp;gt;addon.xml&amp;lt;/code&amp;gt; file for the Confluence skin extends the &amp;lt;code&amp;gt;xbmc.gui.skin&amp;lt;/code&amp;gt; part of xbmc. All available extension points are given below.&lt;br /&gt;
&lt;br /&gt;
The various extension points that Kodi provides are given in the list below.&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
!Extension point&lt;br /&gt;
!Add-on Category&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;[[Skinning|xbmc.gui.skin]]&amp;lt;/code&amp;gt;&lt;br /&gt;
|Skin&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.gui.webinterface&amp;lt;/code&amp;gt;&lt;br /&gt;
|Web interface&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;[[Add-on repositories|xbmc.addon.repository]]&amp;lt;/code&amp;gt;&lt;br /&gt;
|&#039;&#039;None&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;[[HOW-TO:_Automatically_start_addons_using_services|xbmc.service]]&amp;lt;/code&amp;gt;&lt;br /&gt;
|Services&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.metadata.scraper.albums&amp;lt;/code&amp;gt;&lt;br /&gt;
|Album information&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.metadata.scraper.artists&amp;lt;/code&amp;gt;&lt;br /&gt;
|Artist information&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.metadata.scraper.movies&amp;lt;/code&amp;gt;&lt;br /&gt;
|Movie information&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.metadata.scraper.musicvideos&amp;lt;/code&amp;gt;&lt;br /&gt;
|Music video information&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.metadata.scraper.tvshows&amp;lt;/code&amp;gt;&lt;br /&gt;
|TV information&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.metadata.scraper.library&amp;lt;/code&amp;gt;&lt;br /&gt;
|&#039;&#039;None&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.ui.screensaver&amp;lt;/code&amp;gt;&lt;br /&gt;
|Screensaver&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.player.musicviz&amp;lt;/code&amp;gt;&lt;br /&gt;
|Visualization&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;[[Plugin sources#What Kodi requires for your add-on|xbmc.python.pluginsource]]&amp;lt;/code&amp;gt;&lt;br /&gt;
|Music Add-ons (audio) / Picture Add-ons (image) / Program Add-ons (executable) / Video Add-ons (video)&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;[[Script sources#What Kodi requires for your add-on|xbmc.python.script]]&amp;lt;/code&amp;gt;&lt;br /&gt;
|Music Add-ons (audio) / Picture Add-ons (image) / Program Add-ons (executable) / Video Add-ons (video)&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.python.weather&amp;lt;/code&amp;gt;&lt;br /&gt;
|Weather&lt;br /&gt;
|-{{Gotham row}}&lt;br /&gt;
|&amp;lt;code&amp;gt;[[Script Subtitles#What Kodi requires for your add-on|xbmc.python.subtitles]]&amp;lt;/code&amp;gt;&lt;br /&gt;
|&#039;&#039;&#039;([[:Category:Gotham feature|Future Gotham removal]])&#039;&#039;&#039; Subtitles&lt;br /&gt;
|-{{Gotham row}}&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.subtitle.module&amp;lt;/code&amp;gt;&lt;br /&gt;
|&#039;&#039;&#039;([[:Category:Gotham feature|Future Gotham addition]])&#039;&#039;&#039; Subtitle service module&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;[[Script lyrics#What Kodi requires for your add-on|xbmc.python.lyrics]]&amp;lt;/code&amp;gt;&lt;br /&gt;
|Lyrics&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;[[Script library#What Kodi requires for your add-on|xbmc.python.library]]&amp;lt;/code&amp;gt;&lt;br /&gt;
|&#039;&#039;None&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.python.module&amp;lt;/code&amp;gt;&lt;br /&gt;
|These don&#039;t show up in the addon browser and are purely as support for other scripts.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.addon.video&amp;lt;/code&amp;gt;&lt;br /&gt;
|Video Add-ons (video)&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.addon.audio&amp;lt;/code&amp;gt;&lt;br /&gt;
|Music Add-ons (audio)&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.addon.image&amp;lt;/code&amp;gt;&lt;br /&gt;
|Picture Add-ons (image)&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;kodi.resource.images&amp;lt;/code&amp;gt;&lt;br /&gt;
|Additional image files&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;kodi.resource.language&amp;lt;/code&amp;gt;&lt;br /&gt;
|Additional language files&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Add-ons that don&#039;t correspond to a specific add-on category can not be installed by users. These are usually supporting or shared add-ons that are installed automatically by the add-ons that require them.&lt;br /&gt;
&lt;br /&gt;
=== xbmc.python.pluginsource ===&lt;br /&gt;
{{See also|Plugin sources}}&lt;br /&gt;
&lt;br /&gt;
The most common extension point that will be used by plugin addon developers is &amp;lt;code&amp;gt;xbmc.python.pluginsource&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== library attribute ====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;&amp;lt;extension point=&amp;quot;xbmc.python.pluginsource&amp;quot;&amp;gt;&amp;lt;/code&amp;gt; element has an extra attribute: &amp;lt;code&amp;gt;library&amp;lt;/code&amp;gt;. This is the name of the Python script (startup script) that will be run when the add-on is activated. This file must exist in the root of your add-on directory.&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;provides&amp;gt; element ====&lt;br /&gt;
&lt;br /&gt;
The extension has an additional child element named &amp;lt;code&amp;gt;&amp;lt;provides&amp;gt;&amp;lt;/code&amp;gt;, which contains a whitespace separated list of &amp;lt;code&amp;gt;image&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;video&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;audio&amp;lt;/code&amp;gt;, and/or &amp;lt;code&amp;gt;executable&amp;lt;/code&amp;gt;. This determines in what area (or context) of the Kodi system your addon will make itself visible in:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
!Provides&lt;br /&gt;
!Appears in&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;image&amp;lt;/code&amp;gt;&lt;br /&gt;
|Pictures&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;audio&amp;lt;/code&amp;gt;&lt;br /&gt;
|Music&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;video&amp;lt;/code&amp;gt;&lt;br /&gt;
|Video&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;executable&amp;lt;/code&amp;gt;&lt;br /&gt;
|Programs&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;(blank)&#039;&#039;&lt;br /&gt;
|Not visible&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Example ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;extension point=&amp;quot;xbmc.python.pluginsource&amp;quot; library=&amp;quot;gpodderxbmc.py&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;provides&amp;gt;audio video&amp;lt;/provides&amp;gt;&lt;br /&gt;
&amp;lt;/extension&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== xbmc.addon.metadata ===&lt;br /&gt;
&lt;br /&gt;
This special extension point &#039;&#039;must&#039;&#039; be provided by all add-ons, and is the way that your add-on is described to users of the Kodi add-on manager.&lt;br /&gt;
&lt;br /&gt;
==== Required elements ====&lt;br /&gt;
&lt;br /&gt;
There are several elements that this should contain and all are compulsory (except the broken tag). Each of the elements below must always be present in English as a minimum.&lt;br /&gt;
&lt;br /&gt;
Many of these elements can be translated into multiple languages and should be added once for each supported language. See the [[List of language codes (ISO-639:1988)]] for possible language strings. If there&#039;s no &amp;lt;code&amp;gt;lang&amp;lt;/code&amp;gt; attribute for a translatable element, it defaults to English. However, even for English, adding the &amp;lt;code&amp;gt;lang&amp;lt;/code&amp;gt; attribute is recommended.&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;summary&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
One or more &amp;lt;code&amp;gt;&amp;lt;summary&amp;gt;&amp;lt;/code&amp;gt; elements provide a short summary of what the add-on does. This should be a single sentence. It may be translated into multiple languages.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;summary lang=&amp;quot;en&amp;quot;&amp;gt;Hello World script provides some basic examples on how to create your first script.&amp;lt;/summary&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
From Kodi v15 Isengard we recommend you use&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;summary lang=&amp;quot;en_gb&amp;quot;&amp;gt;Hello World script provides some basic examples on how to create your first script.&amp;lt;/summary&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;description&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
One or more &amp;lt;code&amp;gt;&amp;lt;description&amp;gt;&amp;lt;/code&amp;gt; elements provide a more detailed summary of what the add-on does. It may be translated into multiple languages.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;description lang=&amp;quot;en&amp;quot;&amp;gt;Hello World script provides some basic examples on how to create your first script&lt;br /&gt;
 and hopefully will increase the number of Kodi users to start creating their own addons.&amp;lt;/description&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
From Kodi v15 Isengard we recommend you use&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;description lang=&amp;quot;en_gb&amp;quot;&amp;gt;Hello World script provides some basic examples on how to create your first script&lt;br /&gt;
 and hopefully will increase the number of Kodi users to start creating their own addons.&amp;lt;/description&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;platform&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;&amp;lt;platform&amp;gt;&amp;lt;/code&amp;gt; tag specifies which platforms (operating systems, hardware) this add-on runs on. Many add-ons will run on all platforms, so &amp;lt;code&amp;gt;all&amp;lt;/code&amp;gt; is an option. If the platform tag is missing, we assume the add-on runs on all platforms. A combination of these is also possible. Currently available options are:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;all&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;linux&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;osx&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;osx64&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;osx32&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;ios&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;windx&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;android&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;platform&amp;gt;all&amp;lt;/platform&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;language&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;&amp;lt;language&amp;gt;&amp;lt;/code&amp;gt; elements indicate the language(s) of the &#039;&#039;content&#039;&#039; provided by your add-on. It applies to plugins, scripts, scrapers etc. This allows browsing the add-on list by language. When there is no specific language provided in your content, leave it blank.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;language&amp;gt;en de fr&amp;lt;/language&amp;gt;&lt;br /&gt;
    or&lt;br /&gt;
&amp;lt;language&amp;gt;&amp;lt;/language&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;license&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;&amp;lt;license&amp;gt;&amp;lt;/code&amp;gt; element indicates what license is used for this add-on.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;license&amp;gt;GNU GENERAL PUBLIC LICENSE. Version 2, June 1991&amp;lt;/license&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;forum&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;&amp;lt;forum&amp;gt;&amp;lt;/code&amp;gt; element provides the forum thread URL for this specific add-on. Leave this blank if there is no forum thread.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;forum&amp;gt;http://www.myaddonwebsite.com/forum.php?thread=12345&amp;lt;/forum&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;website&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;&amp;lt;website&amp;gt;&amp;lt;/code&amp;gt; element provides the website URL for this specific add-on.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;website&amp;gt;http://www.myaddonwebsite.com/&amp;lt;/website&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;nowiki&amp;gt;&amp;lt;source&amp;gt;&amp;lt;/nowiki&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;source&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; element provides the URL for the source code for this specific add-on.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;source&amp;gt;http://github.com/someone/myaddon&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;email&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;&amp;lt;email&amp;gt;&amp;lt;/code&amp;gt; element provides the email address of the author if he wishes to do so for this specific add-on. Here are two examples of how you can make it look (the second one it harder for spambots to use). This can be left blank if you do not want to make your email address public.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;email&amp;gt;foo@bar.com&amp;lt;/email&amp;gt;&lt;br /&gt;
    or&lt;br /&gt;
&amp;lt;email&amp;gt;foo at bar dot com&amp;lt;/email&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;disclaimer&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
One or more &amp;lt;code&amp;gt;&amp;lt;disclaimer&amp;gt;&amp;lt;/code&amp;gt; elements that indicate what (if any) things the user should know about the add-on. There is no need to have a disclaimer if you don&#039;t want one, though if something requires settings, or only works in a particular country then you may want to state this here. It may be translated into multiple languages.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;disclaimer lang=&amp;quot;en&amp;quot;&amp;gt;Feel free to use this script. For information visit the wiki.&amp;lt;/disclaimer&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;broken&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;&amp;lt;broken&amp;gt;&amp;lt;/code&amp;gt; tag will mark the add-on as broken in the Kodi repo and provide the reason why. You don&#039;t need to do a version bump for this to work. However a bump is recommended as you could also add this to the changelog.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;broken&amp;gt;deprecated&amp;lt;/broken&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Skin specific elements ==&lt;br /&gt;
=== Overview ===&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
|  &#039;&#039;&#039;effectslowdown&#039;&#039;&#039;&lt;br /&gt;
|  A multiplier that is applied to all &amp;lt;animation&amp;gt; effect lengths in the skin. Useful to slow down all animations globally so that you can better configure timings and see interactions between animating controls.&lt;br /&gt;
|- &lt;br /&gt;
|  &#039;&#039;&#039;debugging&#039;&#039;&#039;&lt;br /&gt;
|  When set to true, it&#039;ll display onscreen debug information (xml filename, mouse position and focused control type and name) in the skin.&lt;br /&gt;
|- &lt;br /&gt;
|  &#039;&#039;&#039;res&#039;&#039;&#039;&lt;br /&gt;
|  Support for arbitrary skin resolutions.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== How window xml files are found ===&lt;br /&gt;
&lt;br /&gt;
Kodi can run in many differing resolutions, and a skin should try and cater to all these resolutions. The easiest way is to develop for one specific resolution and make sure that all controls contain &amp;lt;width&amp;gt; and &amp;lt;height&amp;gt; tags. That way, Kodi can scale the controls to the new screen resolution.&lt;br /&gt;
&lt;br /&gt;
However, you may choose to develop alternative window xml files for differing resolutions (such as for HDTV resolutions, or for widescreen versus 4x3 resolutions).&lt;br /&gt;
&lt;br /&gt;
The order that Kodi looks for it&#039;s skin files are as follows:&lt;br /&gt;
&lt;br /&gt;
# It first looks in the current screenmode folder (one of 1080i, 720p, NTSC16x9, NTSC, PAL16x9 or PAL)&lt;br /&gt;
# If the current screenmode is 1080i and there&#039;s no 1080i folder, it then looks in the 720p folder.&lt;br /&gt;
# Finally, it looks in the &#039;&#039;&#039;res&#039;&#039;&#039; folder.&lt;br /&gt;
&lt;br /&gt;
This allows you to just put any window files that do not require special treatment for 16x9 resolutions etc. in the &amp;lt;defaultresolution&amp;gt; folder, preventing needless repetition.&lt;br /&gt;
&lt;br /&gt;
= Examples =&lt;br /&gt;
&lt;br /&gt;
== addon.xml for skins ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
﻿&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;addon&lt;br /&gt;
  id=&amp;quot;skin.confluence&amp;quot;&lt;br /&gt;
  version=&amp;quot;2.1.3&amp;quot;&lt;br /&gt;
  name=&amp;quot;Confluence&amp;quot;&lt;br /&gt;
  provider-name=&amp;quot;Jezz_X, Team Kodi&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;requires&amp;gt;&lt;br /&gt;
    &amp;lt;import addon=&amp;quot;xbmc.gui&amp;quot; version=&amp;quot;4.0.0&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/requires&amp;gt;&lt;br /&gt;
  &amp;lt;extension&lt;br /&gt;
    point=&amp;quot;xbmc.gui.skin&amp;quot;&lt;br /&gt;
    debugging=&amp;quot;false&amp;quot;&lt;br /&gt;
    effectslowdown=&amp;quot;0.75&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;res width=&amp;quot;1280&amp;quot; height=&amp;quot;720&amp;quot; aspect=&amp;quot;16:9&amp;quot; default=&amp;quot;true&amp;quot; folder=&amp;quot;720p&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;/extension&amp;gt;&lt;br /&gt;
  &amp;lt;extension point=&amp;quot;xbmc.addon.metadata&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;summary lang=&amp;quot;en&amp;quot;&amp;gt;Confluence skin by Jezz_X. (Kodi&#039;s default skin)&amp;lt;/summary&amp;gt;&lt;br /&gt;
    &amp;lt;description lang=&amp;quot;en&amp;quot;&amp;gt;Confluence is the default skin for Kodi 9.11 and above. It is a combination of concepts from many popular skins, and attempts to embrace and integrate their good ideas into a skin that should be easy for first time Kodi users to understand and use.&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;disclaimer lang=&amp;quot;en&amp;quot;&amp;gt;Confluence is the default skin for Kodi, removing it may cause issues&amp;lt;/disclaimer&amp;gt;&lt;br /&gt;
    &amp;lt;platform&amp;gt;all&amp;lt;/platform&amp;gt;&lt;br /&gt;
    &amp;lt;license&amp;gt;GNU GENERAL PUBLIC LICENSE. Version 2, June 1991&amp;lt;/license&amp;gt;&lt;br /&gt;
    &amp;lt;forum&amp;gt;&amp;lt;/forum&amp;gt;&lt;br /&gt;
    &amp;lt;website&amp;gt;&amp;lt;/website&amp;gt;&lt;br /&gt;
    &amp;lt;email&amp;gt;&amp;lt;/email&amp;gt;&lt;br /&gt;
    &amp;lt;source&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
  &amp;lt;/extension&amp;gt;&lt;br /&gt;
&amp;lt;/addon&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
One thing to note is that &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;all tag names are lower case.&amp;lt;/font&amp;gt; XML tag names are case sensitive!&lt;br /&gt;
&lt;br /&gt;
== addon.xml for scripts ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;yes&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;addon&lt;br /&gt;
    id=&amp;quot;script.artwork.downloader&amp;quot;&lt;br /&gt;
    name=&amp;quot;Artwork Downloader&amp;quot;&lt;br /&gt;
    version=&amp;quot;12.0.12&amp;quot;&lt;br /&gt;
    provider-name=&amp;quot;Martijn&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;requires&amp;gt;&lt;br /&gt;
    &amp;lt;import addon=&amp;quot;xbmc.python&amp;quot;                 version=&amp;quot;2.1.0&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;import addon=&amp;quot;xbmc.json&amp;quot;                   version=&amp;quot;6.0.0&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;import addon=&amp;quot;xbmc.addon&amp;quot;                  version=&amp;quot;12.0.0&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;import addon=&amp;quot;script.module.elementtree&amp;quot;   version=&amp;quot;1.2.7&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;import addon=&amp;quot;script.module.simplejson&amp;quot;    version=&amp;quot;2.0.10&amp;quot; optional=&amp;quot;true&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;import addon=&amp;quot;script.common.plugin.cache&amp;quot;  version=&amp;quot;1.3.0&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/requires&amp;gt;&lt;br /&gt;
  &amp;lt;extension point=&amp;quot;xbmc.python.script&amp;quot;         library=&amp;quot;default.py&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;provides&amp;gt;executable&amp;lt;/provides&amp;gt;&lt;br /&gt;
  &amp;lt;/extension&amp;gt;&lt;br /&gt;
  &amp;lt;extension point=&amp;quot;xbmc.service&amp;quot; library=&amp;quot;service.py&amp;quot; start=&amp;quot;login&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;extension point=&amp;quot;xbmc.addon.metadata&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;summary lang=&amp;quot;en&amp;quot;&amp;gt;Downloads Artwork for TV shows, Movies and Musicvideos in your library&amp;lt;/summary&amp;gt;&lt;br /&gt;
    &amp;lt;description lang=&amp;quot;en&amp;quot;&amp;gt;Downloads all available artwork for TV shows, Movies and Musicvideos in your library. Check the options for supported artwork[CR]Artwork sources:[CR]www.fanart.tv[CR]www.thetvdb.com[CR]www.themoviedb.org[CR]Remark:[CR]Check your skin to see what type of artwork is supported![CR]Each TV Show/Movie must have its own folder![CR]Skin integration:[CR]See readme file&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;disclaimer lang=&amp;quot;en&amp;quot;&amp;gt;For bugs, requests or general questions visit the Artwork Downloader thread on the Kodi forum.&amp;lt;/disclaimer&amp;gt;&lt;br /&gt;
    &amp;lt;language&amp;gt;&amp;lt;/language&amp;gt;&lt;br /&gt;
    &amp;lt;platform&amp;gt;all&amp;lt;/platform&amp;gt;&lt;br /&gt;
    &amp;lt;license&amp;gt;GNU GENERAL PUBLIC LICENSE. Version 2, June 1991&amp;lt;/license&amp;gt;&lt;br /&gt;
    &amp;lt;forum&amp;gt;&amp;lt;/forum&amp;gt;&lt;br /&gt;
    &amp;lt;website&amp;gt;&amp;lt;/website&amp;gt;&lt;br /&gt;
    &amp;lt;email&amp;gt;&amp;lt;/email&amp;gt;&lt;br /&gt;
    &amp;lt;source&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
  &amp;lt;/extension&amp;gt;&lt;br /&gt;
&amp;lt;/addon&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Schema Definition =&lt;br /&gt;
&lt;br /&gt;
The XML schema definition for &amp;lt;code&amp;gt;addon.xml&amp;lt;/code&amp;gt; is located [https://github.com/xbmc/xbmc/blob/master/addons/xbmc.addon/metadata.xsd here].&lt;br /&gt;
&lt;br /&gt;
{{frodo updated}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Add-on development]]&lt;br /&gt;
[[Category:Skin development]]&lt;/div&gt;</summary>
		<author><name>Martijn</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Addon.xml&amp;diff=111212</id>
		<title>Addon.xml</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Addon.xml&amp;diff=111212"/>
		<updated>2015-12-28T09:18:43Z</updated>

		<summary type="html">&lt;p&gt;Martijn: /*  */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav|[[Development]]|[[Add-on development]]}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Every skin, script, or plugin in Kodi contains an &amp;lt;code&amp;gt;addon.xml&amp;lt;/code&amp;gt; file which describes the add-on, providing credits, version information and dependencies. Below, we will explain how this file is structured and which elements must be used to create an add-on for Kodi. You can also consult the examples at the end to see how this file is laid out depending on if you are developing a skin or script.&lt;br /&gt;
&lt;br /&gt;
Every &amp;lt;code&amp;gt;addon.xml&amp;lt;/code&amp;gt; file has the same basic structure, this example is for a video plugin:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;yes&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;addon id=&amp;quot;plugin.addon.id&amp;quot; name=&amp;quot;Your Add-on&amp;quot; version=&amp;quot;1.2.3&amp;quot; provider-name=&amp;quot;You&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;requires&amp;gt;&lt;br /&gt;
    &amp;lt;import addon=&amp;quot;xbmc.python&amp;quot; version=&amp;quot;2.1.0&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/requires&amp;gt;&lt;br /&gt;
  &amp;lt;extension point=&amp;quot;xbmc.python.pluginsource&amp;quot; library=&amp;quot;addon.py&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;provides&amp;gt;video&amp;lt;/provides&amp;gt;&lt;br /&gt;
  &amp;lt;/extension&amp;gt;&lt;br /&gt;
  &amp;lt;extension point=&amp;quot;xbmc.addon.metadata&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;summary lang=&amp;quot;en&amp;quot;&amp;gt;Your add-on&#039;s summary&amp;lt;/summary&amp;gt;&lt;br /&gt;
    &amp;lt;description lang=&amp;quot;en&amp;quot;&amp;gt;Your add-on&#039;s description&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;disclaimer lang=&amp;quot;en&amp;quot;&amp;gt;&amp;lt;/disclaimer&amp;gt;&lt;br /&gt;
    &amp;lt;language&amp;gt;&amp;lt;/language&amp;gt;&lt;br /&gt;
    &amp;lt;platform&amp;gt;all&amp;lt;/platform&amp;gt;&lt;br /&gt;
    &amp;lt;license&amp;gt;&amp;lt;/license&amp;gt;&lt;br /&gt;
    &amp;lt;forum&amp;gt;&amp;lt;/forum&amp;gt;&lt;br /&gt;
    &amp;lt;website&amp;gt;&amp;lt;/website&amp;gt;&lt;br /&gt;
    &amp;lt;email&amp;gt;&amp;lt;/email&amp;gt;&lt;br /&gt;
    &amp;lt;source&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
  &amp;lt;/extension&amp;gt;&lt;br /&gt;
&amp;lt;/addon&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There are a few important things to note in the above sample:&lt;br /&gt;
&lt;br /&gt;
* The &amp;lt;code&amp;gt;&amp;lt;addon&amp;gt;&amp;lt;/code&amp;gt; element must be present, and be the root node. It presents data about the add-on package as a whole.&lt;br /&gt;
* Inside the &amp;lt;code&amp;gt;&amp;lt;addon&amp;gt;&amp;lt;/code&amp;gt; element is a &amp;lt;code&amp;gt;&amp;lt;requires&amp;gt;&amp;lt;/code&amp;gt; element, listing all the dependencies that this add-on needs in order to function.&lt;br /&gt;
* Then there are one or more &amp;lt;code&amp;gt;&amp;lt;extension&amp;gt;&amp;lt;/code&amp;gt; elements, each of which describes a part of Kodi that the add-on extends.&lt;br /&gt;
* Finally, there is a specific &amp;lt;code&amp;gt;&amp;lt;extension&amp;gt;&amp;lt;/code&amp;gt; element that extends &amp;lt;code&amp;gt;&amp;quot;xbmc.addon.metadata&amp;quot;&amp;lt;/code&amp;gt;. This describes the add-on to the user.&lt;br /&gt;
&lt;br /&gt;
= Elements =&lt;br /&gt;
 &lt;br /&gt;
== &amp;lt;addon&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;&amp;lt;addon&amp;gt;&amp;lt;/code&amp;gt; element has 4 attributes, all required: &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;version&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;provider-name&amp;lt;/code&amp;gt;. For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;addon id=&amp;quot;script.hello.world&amp;quot; name=&amp;quot;Hello World&amp;quot; version=&amp;quot;0.0.1&amp;quot; provider-name=&amp;quot;Dev1, Dev2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== id attribute ===&lt;br /&gt;
&lt;br /&gt;
The id attribute is the unique identifier used for this add-on.  It must be unique, and must use only lowercase characters, periods, underscores, dashes and numbers.  This identifier is also used as the name of the folder that contains the add-on, so for ease of searching, we suggest you use something like &amp;lt;type&amp;gt;.&amp;lt;uniquename&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== version attribute ===&lt;br /&gt;
&lt;br /&gt;
The version attribute is used by Kodi to determine whether updates are available. This should be use a version scheme like &amp;lt;code&amp;gt;x.y.z&amp;lt;/code&amp;gt; (major.minor.patch). For example: &amp;lt;code&amp;gt;version=&amp;quot;0.0.1&amp;quot;&amp;lt;/code&amp;gt;. Generally, you&#039;ll start with a version of &amp;lt;code&amp;gt;0.y.z&amp;lt;/code&amp;gt; for test releases and once you feel it is ready for a full release, you&#039;d bump the version to &amp;lt;code&amp;gt;1.0.0&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== How versioning works ====&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;2.2.9&amp;lt;/code&amp;gt; is newer than &amp;lt;code&amp;gt;2.2.1&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;2.2.10&amp;lt;/code&amp;gt;   is newer than &amp;lt;code&amp;gt;2.2.1&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;2.3.0&amp;lt;/code&amp;gt;   is newer than &amp;lt;code&amp;gt;2.2.9&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;2.2.1&amp;lt;/code&amp;gt; is newer than &amp;lt;code&amp;gt;2.2.1~alpha&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;2.2.1&amp;lt;/code&amp;gt; is newer than &amp;lt;code&amp;gt;2.2.1~beta&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;2.2.1~beta&amp;lt;/code&amp;gt; is newer than &amp;lt;code&amp;gt;2.2.1~alpha&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;2.2.1~beta3&amp;lt;/code&amp;gt; is newer than &amp;lt;code&amp;gt;2.2.1~beta2&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;2.2.1~beta10&amp;lt;/code&amp;gt; is newer than &amp;lt;code&amp;gt;2.2.1~beta1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{tip|Text should only be added for a beta version. In other cases version number should only contain numbers.}}&lt;br /&gt;
&lt;br /&gt;
=== name attribute ===&lt;br /&gt;
&lt;br /&gt;
The name attribute is the name of the add-on as it appears in the UI.  This should be in English where it makes sense for it to be so, and is not translatable.&lt;br /&gt;
&lt;br /&gt;
=== provider-name attribute ===&lt;br /&gt;
&lt;br /&gt;
The provider-name attribute is used as the author field.  This could be a team of authors or a single author. If the add-on is maintained by multiple people please separate them with a comma (&amp;lt;code&amp;gt;,&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;requires&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;&amp;lt;requires&amp;gt;&amp;lt;/code&amp;gt; element contains one or more &amp;lt;code&amp;gt;&amp;lt;import&amp;gt;&amp;lt;/code&amp;gt; elements which specify which other add-ons this particular add-on requires, and which version of those add-ons it requires. These add-ons may be part of Kodi itself, or may be parts of other third-party add-ons.&lt;br /&gt;
&lt;br /&gt;
Kodi will only allow the add-on to be run if suitable versions of the (non-optional) add-ons on which this add-on depends are installed. When a user installs your add-on from an online repository via Kodi&#039;s add-on manager, Kodi attempts to resolve these dependencies, and install anything that your add-on relies on first. The dependency must be provided with the minimum version number your script/skin requires.&lt;br /&gt;
&lt;br /&gt;
=== Examples ===&lt;br /&gt;
&lt;br /&gt;
Here is a sample &amp;lt;code&amp;gt;&amp;lt;requires&amp;gt;&amp;lt;/code&amp;gt; block that imports two required modules:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;requires&amp;gt;&lt;br /&gt;
  &amp;lt;import addon=&amp;quot;xbmc.python&amp;quot;                 version=&amp;quot;2.14.0&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;import addon=&amp;quot;script.module.elementtree&amp;quot;   version=&amp;quot;1.2.7&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;import addon=&amp;quot;script.module.simplejson&amp;quot;    version=&amp;quot;2.0.10&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/requires&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here&#039;s another example, which will only install on OpenELEC:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;requires&amp;gt;&lt;br /&gt;
  &amp;lt;import addon=&amp;quot;os.openelec.tv&amp;quot; version=&amp;quot;2.0&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/requires&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;import&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
Each &amp;lt;code&amp;gt;&amp;lt;import&amp;gt;&amp;lt;/code&amp;gt; element describes one dependency for an add-on, with two required attributes: &amp;lt;code&amp;gt;addon&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;version&amp;lt;/code&amp;gt;. There is also an optional attribute called, fittingly, &amp;lt;code&amp;gt;optional&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
If your add-on relies on other third-party add-ons, Kodi will automatically install them as well, provided they are available on an existing add-on repository. If they aren&#039;t available on any existing repository, the user must install the other add-ons themselves. Note that you need to include any Python libraries you need directly in your add-on; these can&#039;t be loaded with an &amp;lt;code&amp;gt;&amp;lt;import&amp;gt;&amp;lt;/code&amp;gt; element, since Kodi wouldn&#039;t know what to do with them.&lt;br /&gt;
&lt;br /&gt;
=== addon attribute ===&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;addon&amp;lt;/code&amp;gt; attribute specifies the id of the required add-on, e.g. &amp;lt;code&amp;gt;script.module.elementtree&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== version attribute ===&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;version&amp;lt;/code&amp;gt; attribute specifies the minimum version of the required add-on to be installed.&lt;br /&gt;
&lt;br /&gt;
==== Dependency versions ====&lt;br /&gt;
&lt;br /&gt;
Each different Kodi version might require you to use a higher version of the &amp;lt;code&amp;gt;xbmc.*&amp;lt;/code&amp;gt; add-on dependencies to control on which version of Kodi the add-on can be installed.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ Current versions&lt;br /&gt;
! Kodi version !! xbmc.python !! xbmc.gui !! xbmc.json !! xbmc.metadata !! xbmc.addon&lt;br /&gt;
|-&lt;br /&gt;
| Dharma 10.1 &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;Deprecated&amp;lt;/font&amp;gt;|| 1.0 || 2.11 || 2.0|| 1.0 || 0.1&lt;br /&gt;
|-&lt;br /&gt;
| Eden 11.0 &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;Deprecated&amp;lt;/font&amp;gt; || 2.0 || 3.0 || 4.0 || 1.0 || 11.0&lt;br /&gt;
|-&lt;br /&gt;
| Frodo 12.x &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;Deprecated&amp;lt;/font&amp;gt;|| 2.1.0 || 4.0.0 || 6.0.0 || 2.1.0 || 12.0.0&lt;br /&gt;
|-&lt;br /&gt;
| Gotham 13.x || 2.14.0 (ABI 2.1.0) || 5.0.1 || 6.6.0 (ABI 6.0.0) || 2.1.0 || 13.0.0 (ABI 12.0.0)&lt;br /&gt;
|-&lt;br /&gt;
| Helix 14.x || 2.19.0 (ABI 2.1.0) || 5.3.0 || 6.20.0 (ABI 6.0.0) || 2.1.0 || 14.0.0 (ABI 12.0.0)&lt;br /&gt;
|-&lt;br /&gt;
| Isengard 15.x || 2.20.0 (ABI 2.1.0) || 5.9.0 (ABI 5.3.0) || 6.25.1 (ABI 6.0.0) || 2.1.0 || 15.0.0 (ABI 12.0.0)&lt;br /&gt;
|-&lt;br /&gt;
| Jarvis 16.x || 2.24.0 (ABI 2.1.0) || 5.10.0 || 6.32.1 (ABI 6.0.0) || 2.1.0 || 16.0.0 (ABI 12.0.0)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Each Kodi version contain a certain backwards compatibility. For example add-ons made for Gotham 13.x can still work ion Jarvis 16.x. Do not that this might change in the future. The &#039;&#039;&#039;ABI&#039;&#039;&#039; version you see in the table above is the backwards compatibility version for which add-ons are still marked &amp;quot;working&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== optional attribute ===&lt;br /&gt;
&lt;br /&gt;
The dependency may be made optional by setting the &amp;lt;code&amp;gt;optional&amp;lt;/code&amp;gt; attribute to &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;. This will only install the dependency when the add-on actually needs it. Even if this dependency is missing, the add-on can still be installed.&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;extension&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;&amp;lt;extension&amp;gt;&amp;lt;/code&amp;gt; element describes the technical aspects of this add-on. It will have at least a point attribute which will give the part of Kodi that the add-on extends. For instance, the &amp;lt;code&amp;gt;addon.xml&amp;lt;/code&amp;gt; file for the Confluence skin extends the &amp;lt;code&amp;gt;xbmc.gui.skin&amp;lt;/code&amp;gt; part of xbmc. All available extension points are given below.&lt;br /&gt;
&lt;br /&gt;
The various extension points that Kodi provides are given in the list below.&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
!Extension point&lt;br /&gt;
!Add-on Category&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;[[Skinning|xbmc.gui.skin]]&amp;lt;/code&amp;gt;&lt;br /&gt;
|Skin&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.gui.webinterface&amp;lt;/code&amp;gt;&lt;br /&gt;
|Web interface&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;[[Add-on repositories|xbmc.addon.repository]]&amp;lt;/code&amp;gt;&lt;br /&gt;
|&#039;&#039;None&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;[[HOW-TO:_Automatically_start_addons_using_services|xbmc.service]]&amp;lt;/code&amp;gt;&lt;br /&gt;
|Services&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.metadata.scraper.albums&amp;lt;/code&amp;gt;&lt;br /&gt;
|Album information&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.metadata.scraper.artists&amp;lt;/code&amp;gt;&lt;br /&gt;
|Artist information&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.metadata.scraper.movies&amp;lt;/code&amp;gt;&lt;br /&gt;
|Movie information&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.metadata.scraper.musicvideos&amp;lt;/code&amp;gt;&lt;br /&gt;
|Music video information&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.metadata.scraper.tvshows&amp;lt;/code&amp;gt;&lt;br /&gt;
|TV information&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.metadata.scraper.library&amp;lt;/code&amp;gt;&lt;br /&gt;
|&#039;&#039;None&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.ui.screensaver&amp;lt;/code&amp;gt;&lt;br /&gt;
|Screensaver&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.player.musicviz&amp;lt;/code&amp;gt;&lt;br /&gt;
|Visualization&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;[[Plugin sources#What Kodi requires for your add-on|xbmc.python.pluginsource]]&amp;lt;/code&amp;gt;&lt;br /&gt;
|Music Add-ons (audio) / Picture Add-ons (image) / Program Add-ons (executable) / Video Add-ons (video)&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;[[Script sources#What Kodi requires for your add-on|xbmc.python.script]]&amp;lt;/code&amp;gt;&lt;br /&gt;
|Music Add-ons (audio) / Picture Add-ons (image) / Program Add-ons (executable) / Video Add-ons (video)&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.python.weather&amp;lt;/code&amp;gt;&lt;br /&gt;
|Weather&lt;br /&gt;
|-{{Gotham row}}&lt;br /&gt;
|&amp;lt;code&amp;gt;[[Script Subtitles#What Kodi requires for your add-on|xbmc.python.subtitles]]&amp;lt;/code&amp;gt;&lt;br /&gt;
|&#039;&#039;&#039;([[:Category:Gotham feature|Future Gotham removal]])&#039;&#039;&#039; Subtitles&lt;br /&gt;
|-{{Gotham row}}&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.subtitle.module&amp;lt;/code&amp;gt;&lt;br /&gt;
|&#039;&#039;&#039;([[:Category:Gotham feature|Future Gotham addition]])&#039;&#039;&#039; Subtitle service module&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;[[Script lyrics#What Kodi requires for your add-on|xbmc.python.lyrics]]&amp;lt;/code&amp;gt;&lt;br /&gt;
|Lyrics&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;[[Script library#What Kodi requires for your add-on|xbmc.python.library]]&amp;lt;/code&amp;gt;&lt;br /&gt;
|&#039;&#039;None&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.python.module&amp;lt;/code&amp;gt;&lt;br /&gt;
|These don&#039;t show up in the addon browser and are purely as support for other scripts.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.addon.video&amp;lt;/code&amp;gt;&lt;br /&gt;
|Video Add-ons (video)&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.addon.audio&amp;lt;/code&amp;gt;&lt;br /&gt;
|Music Add-ons (audio)&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.addon.image&amp;lt;/code&amp;gt;&lt;br /&gt;
|Picture Add-ons (image)&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;kodi.resource.images&amp;lt;/code&amp;gt;&lt;br /&gt;
|Additional image files&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;kodi.resource.language&amp;lt;/code&amp;gt;&lt;br /&gt;
|Additional language files&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Add-ons that don&#039;t correspond to a specific add-on category can not be installed by users. These are usually supporting or shared add-ons that are installed automatically by the add-ons that require them.&lt;br /&gt;
&lt;br /&gt;
=== xbmc.python.pluginsource ===&lt;br /&gt;
{{See also|Plugin sources}}&lt;br /&gt;
&lt;br /&gt;
The most common extension point that will be used by plugin addon developers is &amp;lt;code&amp;gt;xbmc.python.pluginsource&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== library attribute ====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;&amp;lt;extension point=&amp;quot;xbmc.python.pluginsource&amp;quot;&amp;gt;&amp;lt;/code&amp;gt; element has an extra attribute: &amp;lt;code&amp;gt;library&amp;lt;/code&amp;gt;. This is the name of the Python script (startup script) that will be run when the add-on is activated. This file must exist in the root of your add-on directory.&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;provides&amp;gt; element ====&lt;br /&gt;
&lt;br /&gt;
The extension has an additional child element named &amp;lt;code&amp;gt;&amp;lt;provides&amp;gt;&amp;lt;/code&amp;gt;, which contains a whitespace separated list of &amp;lt;code&amp;gt;image&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;video&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;audio&amp;lt;/code&amp;gt;, and/or &amp;lt;code&amp;gt;executable&amp;lt;/code&amp;gt;. This determines in what area (or context) of the Kodi system your addon will make itself visible in:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
!Provides&lt;br /&gt;
!Appears in&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;image&amp;lt;/code&amp;gt;&lt;br /&gt;
|Pictures&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;audio&amp;lt;/code&amp;gt;&lt;br /&gt;
|Music&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;video&amp;lt;/code&amp;gt;&lt;br /&gt;
|Video&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;executable&amp;lt;/code&amp;gt;&lt;br /&gt;
|Programs&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;(blank)&#039;&#039;&lt;br /&gt;
|Not visible&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Example ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;extension point=&amp;quot;xbmc.python.pluginsource&amp;quot; library=&amp;quot;gpodderxbmc.py&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;provides&amp;gt;audio video&amp;lt;/provides&amp;gt;&lt;br /&gt;
&amp;lt;/extension&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== xbmc.addon.metadata ===&lt;br /&gt;
&lt;br /&gt;
This special extension point &#039;&#039;must&#039;&#039; be provided by all add-ons, and is the way that your add-on is described to users of the Kodi add-on manager.&lt;br /&gt;
&lt;br /&gt;
==== Required elements ====&lt;br /&gt;
&lt;br /&gt;
There are several elements that this should contain and all are compulsory (except the broken tag). Each of the elements below must always be present in English as a minimum.&lt;br /&gt;
&lt;br /&gt;
Many of these elements can be translated into multiple languages and should be added once for each supported language. See the [[List of language codes (ISO-639:1988)]] for possible language strings. If there&#039;s no &amp;lt;code&amp;gt;lang&amp;lt;/code&amp;gt; attribute for a translatable element, it defaults to English. However, even for English, adding the &amp;lt;code&amp;gt;lang&amp;lt;/code&amp;gt; attribute is recommended.&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;summary&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
One or more &amp;lt;code&amp;gt;&amp;lt;summary&amp;gt;&amp;lt;/code&amp;gt; elements provide a short summary of what the add-on does. This should be a single sentence. It may be translated into multiple languages.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;summary lang=&amp;quot;en&amp;quot;&amp;gt;Hello World script provides some basic examples on how to create your first script.&amp;lt;/summary&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
From Kodi v15 Isengard we recommend you use&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;summary lang=&amp;quot;en_gb&amp;quot;&amp;gt;Hello World script provides some basic examples on how to create your first script.&amp;lt;/summary&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;description&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
One or more &amp;lt;code&amp;gt;&amp;lt;description&amp;gt;&amp;lt;/code&amp;gt; elements provide a more detailed summary of what the add-on does. It may be translated into multiple languages.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;description lang=&amp;quot;en&amp;quot;&amp;gt;Hello World script provides some basic examples on how to create your first script&lt;br /&gt;
 and hopefully will increase the number of Kodi users to start creating their own addons.&amp;lt;/description&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;platform&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;&amp;lt;platform&amp;gt;&amp;lt;/code&amp;gt; tag specifies which platforms (operating systems, hardware) this add-on runs on. Many add-ons will run on all platforms, so &amp;lt;code&amp;gt;all&amp;lt;/code&amp;gt; is an option. If the platform tag is missing, we assume the add-on runs on all platforms. A combination of these is also possible. Currently available options are:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;all&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;linux&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;osx&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;osx64&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;osx32&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;ios&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;windx&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;android&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;platform&amp;gt;all&amp;lt;/platform&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;language&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;&amp;lt;language&amp;gt;&amp;lt;/code&amp;gt; elements indicate the language(s) of the &#039;&#039;content&#039;&#039; provided by your add-on. It applies to plugins, scripts, scrapers etc. This allows browsing the add-on list by language. When there is no specific language provided in your content, leave it blank.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;language&amp;gt;en de fr&amp;lt;/language&amp;gt;&lt;br /&gt;
    or&lt;br /&gt;
&amp;lt;language&amp;gt;&amp;lt;/language&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;license&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;&amp;lt;license&amp;gt;&amp;lt;/code&amp;gt; element indicates what license is used for this add-on.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;license&amp;gt;GNU GENERAL PUBLIC LICENSE. Version 2, June 1991&amp;lt;/license&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;forum&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;&amp;lt;forum&amp;gt;&amp;lt;/code&amp;gt; element provides the forum thread URL for this specific add-on. Leave this blank if there is no forum thread.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;forum&amp;gt;http://www.myaddonwebsite.com/forum.php?thread=12345&amp;lt;/forum&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;website&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;&amp;lt;website&amp;gt;&amp;lt;/code&amp;gt; element provides the website URL for this specific add-on.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;website&amp;gt;http://www.myaddonwebsite.com/&amp;lt;/website&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;nowiki&amp;gt;&amp;lt;source&amp;gt;&amp;lt;/nowiki&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;source&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; element provides the URL for the source code for this specific add-on.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;source&amp;gt;http://github.com/someone/myaddon&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;email&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;&amp;lt;email&amp;gt;&amp;lt;/code&amp;gt; element provides the email address of the author if he wishes to do so for this specific add-on. Here are two examples of how you can make it look (the second one it harder for spambots to use). This can be left blank if you do not want to make your email address public.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;email&amp;gt;foo@bar.com&amp;lt;/email&amp;gt;&lt;br /&gt;
    or&lt;br /&gt;
&amp;lt;email&amp;gt;foo at bar dot com&amp;lt;/email&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;disclaimer&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
One or more &amp;lt;code&amp;gt;&amp;lt;disclaimer&amp;gt;&amp;lt;/code&amp;gt; elements that indicate what (if any) things the user should know about the add-on. There is no need to have a disclaimer if you don&#039;t want one, though if something requires settings, or only works in a particular country then you may want to state this here. It may be translated into multiple languages.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;disclaimer lang=&amp;quot;en&amp;quot;&amp;gt;Feel free to use this script. For information visit the wiki.&amp;lt;/disclaimer&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;broken&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;&amp;lt;broken&amp;gt;&amp;lt;/code&amp;gt; tag will mark the add-on as broken in the Kodi repo and provide the reason why. You don&#039;t need to do a version bump for this to work. However a bump is recommended as you could also add this to the changelog.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;broken&amp;gt;deprecated&amp;lt;/broken&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Skin specific elements ==&lt;br /&gt;
=== Overview ===&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
|  &#039;&#039;&#039;effectslowdown&#039;&#039;&#039;&lt;br /&gt;
|  A multiplier that is applied to all &amp;lt;animation&amp;gt; effect lengths in the skin. Useful to slow down all animations globally so that you can better configure timings and see interactions between animating controls.&lt;br /&gt;
|- &lt;br /&gt;
|  &#039;&#039;&#039;debugging&#039;&#039;&#039;&lt;br /&gt;
|  When set to true, it&#039;ll display onscreen debug information (xml filename, mouse position and focused control type and name) in the skin.&lt;br /&gt;
|- &lt;br /&gt;
|  &#039;&#039;&#039;res&#039;&#039;&#039;&lt;br /&gt;
|  Support for arbitrary skin resolutions.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== How window xml files are found ===&lt;br /&gt;
&lt;br /&gt;
Kodi can run in many differing resolutions, and a skin should try and cater to all these resolutions. The easiest way is to develop for one specific resolution and make sure that all controls contain &amp;lt;width&amp;gt; and &amp;lt;height&amp;gt; tags. That way, Kodi can scale the controls to the new screen resolution.&lt;br /&gt;
&lt;br /&gt;
However, you may choose to develop alternative window xml files for differing resolutions (such as for HDTV resolutions, or for widescreen versus 4x3 resolutions).&lt;br /&gt;
&lt;br /&gt;
The order that Kodi looks for it&#039;s skin files are as follows:&lt;br /&gt;
&lt;br /&gt;
# It first looks in the current screenmode folder (one of 1080i, 720p, NTSC16x9, NTSC, PAL16x9 or PAL)&lt;br /&gt;
# If the current screenmode is 1080i and there&#039;s no 1080i folder, it then looks in the 720p folder.&lt;br /&gt;
# Finally, it looks in the &#039;&#039;&#039;res&#039;&#039;&#039; folder.&lt;br /&gt;
&lt;br /&gt;
This allows you to just put any window files that do not require special treatment for 16x9 resolutions etc. in the &amp;lt;defaultresolution&amp;gt; folder, preventing needless repetition.&lt;br /&gt;
&lt;br /&gt;
= Examples =&lt;br /&gt;
&lt;br /&gt;
== addon.xml for skins ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
﻿&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;addon&lt;br /&gt;
  id=&amp;quot;skin.confluence&amp;quot;&lt;br /&gt;
  version=&amp;quot;2.1.3&amp;quot;&lt;br /&gt;
  name=&amp;quot;Confluence&amp;quot;&lt;br /&gt;
  provider-name=&amp;quot;Jezz_X, Team Kodi&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;requires&amp;gt;&lt;br /&gt;
    &amp;lt;import addon=&amp;quot;xbmc.gui&amp;quot; version=&amp;quot;4.0.0&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/requires&amp;gt;&lt;br /&gt;
  &amp;lt;extension&lt;br /&gt;
    point=&amp;quot;xbmc.gui.skin&amp;quot;&lt;br /&gt;
    debugging=&amp;quot;false&amp;quot;&lt;br /&gt;
    effectslowdown=&amp;quot;0.75&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;res width=&amp;quot;1280&amp;quot; height=&amp;quot;720&amp;quot; aspect=&amp;quot;16:9&amp;quot; default=&amp;quot;true&amp;quot; folder=&amp;quot;720p&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;/extension&amp;gt;&lt;br /&gt;
  &amp;lt;extension point=&amp;quot;xbmc.addon.metadata&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;summary lang=&amp;quot;en&amp;quot;&amp;gt;Confluence skin by Jezz_X. (Kodi&#039;s default skin)&amp;lt;/summary&amp;gt;&lt;br /&gt;
    &amp;lt;description lang=&amp;quot;en&amp;quot;&amp;gt;Confluence is the default skin for Kodi 9.11 and above. It is a combination of concepts from many popular skins, and attempts to embrace and integrate their good ideas into a skin that should be easy for first time Kodi users to understand and use.&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;disclaimer lang=&amp;quot;en&amp;quot;&amp;gt;Confluence is the default skin for Kodi, removing it may cause issues&amp;lt;/disclaimer&amp;gt;&lt;br /&gt;
    &amp;lt;platform&amp;gt;all&amp;lt;/platform&amp;gt;&lt;br /&gt;
    &amp;lt;license&amp;gt;GNU GENERAL PUBLIC LICENSE. Version 2, June 1991&amp;lt;/license&amp;gt;&lt;br /&gt;
    &amp;lt;forum&amp;gt;&amp;lt;/forum&amp;gt;&lt;br /&gt;
    &amp;lt;website&amp;gt;&amp;lt;/website&amp;gt;&lt;br /&gt;
    &amp;lt;email&amp;gt;&amp;lt;/email&amp;gt;&lt;br /&gt;
    &amp;lt;source&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
  &amp;lt;/extension&amp;gt;&lt;br /&gt;
&amp;lt;/addon&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
One thing to note is that &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;all tag names are lower case.&amp;lt;/font&amp;gt; XML tag names are case sensitive!&lt;br /&gt;
&lt;br /&gt;
== addon.xml for scripts ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;yes&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;addon&lt;br /&gt;
    id=&amp;quot;script.artwork.downloader&amp;quot;&lt;br /&gt;
    name=&amp;quot;Artwork Downloader&amp;quot;&lt;br /&gt;
    version=&amp;quot;12.0.12&amp;quot;&lt;br /&gt;
    provider-name=&amp;quot;Martijn&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;requires&amp;gt;&lt;br /&gt;
    &amp;lt;import addon=&amp;quot;xbmc.python&amp;quot;                 version=&amp;quot;2.1.0&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;import addon=&amp;quot;xbmc.json&amp;quot;                   version=&amp;quot;6.0.0&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;import addon=&amp;quot;xbmc.addon&amp;quot;                  version=&amp;quot;12.0.0&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;import addon=&amp;quot;script.module.elementtree&amp;quot;   version=&amp;quot;1.2.7&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;import addon=&amp;quot;script.module.simplejson&amp;quot;    version=&amp;quot;2.0.10&amp;quot; optional=&amp;quot;true&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;import addon=&amp;quot;script.common.plugin.cache&amp;quot;  version=&amp;quot;1.3.0&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/requires&amp;gt;&lt;br /&gt;
  &amp;lt;extension point=&amp;quot;xbmc.python.script&amp;quot;         library=&amp;quot;default.py&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;provides&amp;gt;executable&amp;lt;/provides&amp;gt;&lt;br /&gt;
  &amp;lt;/extension&amp;gt;&lt;br /&gt;
  &amp;lt;extension point=&amp;quot;xbmc.service&amp;quot; library=&amp;quot;service.py&amp;quot; start=&amp;quot;login&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;extension point=&amp;quot;xbmc.addon.metadata&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;summary lang=&amp;quot;en&amp;quot;&amp;gt;Downloads Artwork for TV shows, Movies and Musicvideos in your library&amp;lt;/summary&amp;gt;&lt;br /&gt;
    &amp;lt;description lang=&amp;quot;en&amp;quot;&amp;gt;Downloads all available artwork for TV shows, Movies and Musicvideos in your library. Check the options for supported artwork[CR]Artwork sources:[CR]www.fanart.tv[CR]www.thetvdb.com[CR]www.themoviedb.org[CR]Remark:[CR]Check your skin to see what type of artwork is supported![CR]Each TV Show/Movie must have its own folder![CR]Skin integration:[CR]See readme file&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;disclaimer lang=&amp;quot;en&amp;quot;&amp;gt;For bugs, requests or general questions visit the Artwork Downloader thread on the Kodi forum.&amp;lt;/disclaimer&amp;gt;&lt;br /&gt;
    &amp;lt;language&amp;gt;&amp;lt;/language&amp;gt;&lt;br /&gt;
    &amp;lt;platform&amp;gt;all&amp;lt;/platform&amp;gt;&lt;br /&gt;
    &amp;lt;license&amp;gt;GNU GENERAL PUBLIC LICENSE. Version 2, June 1991&amp;lt;/license&amp;gt;&lt;br /&gt;
    &amp;lt;forum&amp;gt;&amp;lt;/forum&amp;gt;&lt;br /&gt;
    &amp;lt;website&amp;gt;&amp;lt;/website&amp;gt;&lt;br /&gt;
    &amp;lt;email&amp;gt;&amp;lt;/email&amp;gt;&lt;br /&gt;
    &amp;lt;source&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
  &amp;lt;/extension&amp;gt;&lt;br /&gt;
&amp;lt;/addon&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Schema Definition =&lt;br /&gt;
&lt;br /&gt;
The XML schema definition for &amp;lt;code&amp;gt;addon.xml&amp;lt;/code&amp;gt; is located [https://github.com/xbmc/xbmc/blob/master/addons/xbmc.addon/metadata.xsd here].&lt;br /&gt;
&lt;br /&gt;
{{frodo updated}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Add-on development]]&lt;br /&gt;
[[Category:Skin development]]&lt;/div&gt;</summary>
		<author><name>Martijn</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Addon.xml&amp;diff=111211</id>
		<title>Addon.xml</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Addon.xml&amp;diff=111211"/>
		<updated>2015-12-28T08:59:10Z</updated>

		<summary type="html">&lt;p&gt;Martijn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav|[[Development]]|[[Add-on development]]}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Every skin, script, or plugin in Kodi contains an &amp;lt;code&amp;gt;addon.xml&amp;lt;/code&amp;gt; file which describes the add-on, providing credits, version information and dependencies. Below, we will explain how this file is structured and which elements must be used to create an add-on for Kodi. You can also consult the examples at the end to see how this file is laid out depending on if you are developing a skin or script.&lt;br /&gt;
&lt;br /&gt;
Every &amp;lt;code&amp;gt;addon.xml&amp;lt;/code&amp;gt; file has the same basic structure, this example is for a video plugin:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;yes&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;addon id=&amp;quot;plugin.addon.id&amp;quot; name=&amp;quot;Your Add-on&amp;quot; version=&amp;quot;1.2.3&amp;quot; provider-name=&amp;quot;You&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;requires&amp;gt;&lt;br /&gt;
    &amp;lt;import addon=&amp;quot;xbmc.python&amp;quot; version=&amp;quot;2.1.0&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/requires&amp;gt;&lt;br /&gt;
  &amp;lt;extension point=&amp;quot;xbmc.python.pluginsource&amp;quot; library=&amp;quot;addon.py&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;provides&amp;gt;video&amp;lt;/provides&amp;gt;&lt;br /&gt;
  &amp;lt;/extension&amp;gt;&lt;br /&gt;
  &amp;lt;extension point=&amp;quot;xbmc.addon.metadata&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;summary lang=&amp;quot;en&amp;quot;&amp;gt;Your add-on&#039;s summary&amp;lt;/summary&amp;gt;&lt;br /&gt;
    &amp;lt;description lang=&amp;quot;en&amp;quot;&amp;gt;Your add-on&#039;s description&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;disclaimer lang=&amp;quot;en&amp;quot;&amp;gt;&amp;lt;/disclaimer&amp;gt;&lt;br /&gt;
    &amp;lt;language&amp;gt;&amp;lt;/language&amp;gt;&lt;br /&gt;
    &amp;lt;platform&amp;gt;all&amp;lt;/platform&amp;gt;&lt;br /&gt;
    &amp;lt;license&amp;gt;&amp;lt;/license&amp;gt;&lt;br /&gt;
    &amp;lt;forum&amp;gt;&amp;lt;/forum&amp;gt;&lt;br /&gt;
    &amp;lt;website&amp;gt;&amp;lt;/website&amp;gt;&lt;br /&gt;
    &amp;lt;email&amp;gt;&amp;lt;/email&amp;gt;&lt;br /&gt;
    &amp;lt;source&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
  &amp;lt;/extension&amp;gt;&lt;br /&gt;
&amp;lt;/addon&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There are a few important things to note in the above sample:&lt;br /&gt;
&lt;br /&gt;
* The &amp;lt;code&amp;gt;&amp;lt;addon&amp;gt;&amp;lt;/code&amp;gt; element must be present, and be the root node. It presents data about the add-on package as a whole.&lt;br /&gt;
* Inside the &amp;lt;code&amp;gt;&amp;lt;addon&amp;gt;&amp;lt;/code&amp;gt; element is a &amp;lt;code&amp;gt;&amp;lt;requires&amp;gt;&amp;lt;/code&amp;gt; element, listing all the dependencies that this add-on needs in order to function.&lt;br /&gt;
* Then there are one or more &amp;lt;code&amp;gt;&amp;lt;extension&amp;gt;&amp;lt;/code&amp;gt; elements, each of which describes a part of Kodi that the add-on extends.&lt;br /&gt;
* Finally, there is a specific &amp;lt;code&amp;gt;&amp;lt;extension&amp;gt;&amp;lt;/code&amp;gt; element that extends &amp;lt;code&amp;gt;&amp;quot;xbmc.addon.metadata&amp;quot;&amp;lt;/code&amp;gt;. This describes the add-on to the user.&lt;br /&gt;
&lt;br /&gt;
= Elements =&lt;br /&gt;
 &lt;br /&gt;
== &amp;lt;addon&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;&amp;lt;addon&amp;gt;&amp;lt;/code&amp;gt; element has 4 attributes, all required: &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;version&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;provider-name&amp;lt;/code&amp;gt;. For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;addon id=&amp;quot;script.hello.world&amp;quot; name=&amp;quot;Hello World&amp;quot; version=&amp;quot;0.0.1&amp;quot; provider-name=&amp;quot;Dev1, Dev2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== id attribute ===&lt;br /&gt;
&lt;br /&gt;
The id attribute is the unique identifier used for this add-on.  It must be unique, and must use only lowercase characters, periods, underscores, dashes and numbers.  This identifier is also used as the name of the folder that contains the add-on, so for ease of searching, we suggest you use something like &amp;lt;type&amp;gt;.&amp;lt;uniquename&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== version attribute ===&lt;br /&gt;
&lt;br /&gt;
The version attribute is used by Kodi to determine whether updates are available. This should be use a version scheme like &amp;lt;code&amp;gt;x.y.z&amp;lt;/code&amp;gt; (major.minor.patch). For example: &amp;lt;code&amp;gt;version=&amp;quot;0.0.1&amp;quot;&amp;lt;/code&amp;gt;. Generally, you&#039;ll start with a version of &amp;lt;code&amp;gt;0.y.z&amp;lt;/code&amp;gt; for test releases and once you feel it is ready for a full release, you&#039;d bump the version to &amp;lt;code&amp;gt;1.0.0&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== How versioning works ====&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;2.2.9&amp;lt;/code&amp;gt; is newer than &amp;lt;code&amp;gt;2.2.1&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;2.2.10&amp;lt;/code&amp;gt;   is newer than &amp;lt;code&amp;gt;2.2.1&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;2.3.0&amp;lt;/code&amp;gt;   is newer than &amp;lt;code&amp;gt;2.2.9&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;2.2.1&amp;lt;/code&amp;gt; is newer than &amp;lt;code&amp;gt;2.2.1~alpha&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;2.2.1&amp;lt;/code&amp;gt; is newer than &amp;lt;code&amp;gt;2.2.1~beta&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;2.2.1~beta&amp;lt;/code&amp;gt; is newer than &amp;lt;code&amp;gt;2.2.1~alpha&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;2.2.1~beta3&amp;lt;/code&amp;gt; is newer than &amp;lt;code&amp;gt;2.2.1~beta2&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;2.2.1~beta10&amp;lt;/code&amp;gt; is newer than &amp;lt;code&amp;gt;2.2.1~beta1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{tip|Text should only be added for a beta version. In other cases version number should only contain numbers.}}&lt;br /&gt;
&lt;br /&gt;
=== name attribute ===&lt;br /&gt;
&lt;br /&gt;
The name attribute is the name of the add-on as it appears in the UI.  This should be in English where it makes sense for it to be so, and is not translatable.&lt;br /&gt;
&lt;br /&gt;
=== provider-name attribute ===&lt;br /&gt;
&lt;br /&gt;
The provider-name attribute is used as the author field.  This could be a team of authors or a single author. If the add-on is maintained by multiple people please separate them with a comma (&amp;lt;code&amp;gt;,&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;requires&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;&amp;lt;requires&amp;gt;&amp;lt;/code&amp;gt; element contains one or more &amp;lt;code&amp;gt;&amp;lt;import&amp;gt;&amp;lt;/code&amp;gt; elements which specify which other add-ons this particular add-on requires, and which version of those add-ons it requires. These add-ons may be part of Kodi itself, or may be parts of other third-party add-ons.&lt;br /&gt;
&lt;br /&gt;
Kodi will only allow the add-on to be run if suitable versions of the (non-optional) add-ons on which this add-on depends are installed. When a user installs your add-on from an online repository via Kodi&#039;s add-on manager, Kodi attempts to resolve these dependencies, and install anything that your add-on relies on first. The dependency must be provided with the minimum version number your script/skin requires.&lt;br /&gt;
&lt;br /&gt;
=== Examples ===&lt;br /&gt;
&lt;br /&gt;
Here is a sample &amp;lt;code&amp;gt;&amp;lt;requires&amp;gt;&amp;lt;/code&amp;gt; block that imports two required modules:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;requires&amp;gt;&lt;br /&gt;
  &amp;lt;import addon=&amp;quot;xbmc.python&amp;quot;                 version=&amp;quot;2.14.0&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;import addon=&amp;quot;script.module.elementtree&amp;quot;   version=&amp;quot;1.2.7&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;import addon=&amp;quot;script.module.simplejson&amp;quot;    version=&amp;quot;2.0.10&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/requires&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here&#039;s another example, which will only install on OpenELEC:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;requires&amp;gt;&lt;br /&gt;
  &amp;lt;import addon=&amp;quot;os.openelec.tv&amp;quot; version=&amp;quot;2.0&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/requires&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;import&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
Each &amp;lt;code&amp;gt;&amp;lt;import&amp;gt;&amp;lt;/code&amp;gt; element describes one dependency for an add-on, with two required attributes: &amp;lt;code&amp;gt;addon&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;version&amp;lt;/code&amp;gt;. There is also an optional attribute called, fittingly, &amp;lt;code&amp;gt;optional&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
If your add-on relies on other third-party add-ons, Kodi will automatically install them as well, provided they are available on an existing add-on repository. If they aren&#039;t available on any existing repository, the user must install the other add-ons themselves. Note that you need to include any Python libraries you need directly in your add-on; these can&#039;t be loaded with an &amp;lt;code&amp;gt;&amp;lt;import&amp;gt;&amp;lt;/code&amp;gt; element, since Kodi wouldn&#039;t know what to do with them.&lt;br /&gt;
&lt;br /&gt;
=== addon attribute ===&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;addon&amp;lt;/code&amp;gt; attribute specifies the id of the required add-on, e.g. &amp;lt;code&amp;gt;script.module.elementtree&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== version attribute ===&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;version&amp;lt;/code&amp;gt; attribute specifies the minimum version of the required add-on to be installed.&lt;br /&gt;
&lt;br /&gt;
==== Dependency versions ====&lt;br /&gt;
&lt;br /&gt;
Each different Kodi version might require you to use a higher version of the &amp;lt;code&amp;gt;xbmc.*&amp;lt;/code&amp;gt; add-on dependencies to control on which version of Kodi the add-on can be installed.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ Current versions&lt;br /&gt;
! Kodi version !! xbmc.python !! xbmc.gui !! xbmc.json !! xbmc.metadata !! xbmc.addon&lt;br /&gt;
|-&lt;br /&gt;
| Dharma 10.1 &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;Deprecated&amp;lt;/font&amp;gt;|| 1.0 || 2.11 || 2.0|| 1.0 || 0.1&lt;br /&gt;
|-&lt;br /&gt;
| Eden 11.0 &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;Deprecated&amp;lt;/font&amp;gt; || 2.0 || 3.0 || 4.0 || 1.0 || 11.0&lt;br /&gt;
|-&lt;br /&gt;
| Frodo 12.x &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;Deprecated&amp;lt;/font&amp;gt;|| 2.1.0 || 4.0.0 || 6.0.0 || 2.1.0 || 12.0.0&lt;br /&gt;
|-&lt;br /&gt;
| Gotham 13.x || 2.14.0 (ABI 2.1.0) || 5.0.1 || 6.6.0 (ABI 6.0.0) || 2.1.0 || 13.0.0 (ABI 12.0.0)&lt;br /&gt;
|-&lt;br /&gt;
| Helix 14.x || 2.19.0 (ABI 2.1.0) || 5.3.0 || 6.20.0 (ABI 6.0.0) || 2.1.0 || 14.0.0 (ABI 12.0.0)&lt;br /&gt;
|-&lt;br /&gt;
| Isengard 15.x || 2.20.0 (ABI 2.1.0) || 5.9.0 (ABI 5.3.0) || 6.25.1 (ABI 6.0.0) || 2.1.0 || 15.0.0 (ABI 12.0.0)&lt;br /&gt;
|-&lt;br /&gt;
| Jarvis 16.x || 2.24.0 (ABI 2.1.0) || 5.10.0 || 6.32.1 (ABI 6.0.0) || 2.1.0 || 16.0.0 (ABI 12.0.0)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Each Kodi version contain a certain backwards compatibility. For example add-ons made for Gotham 13.x can still work ion Jarvis 16.x. Do not that this might change in the future. The &#039;&#039;&#039;ABI&#039;&#039;&#039; version you see in the table above is the backwards compatibility version for which add-ons are still marked &amp;quot;working&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== optional attribute ===&lt;br /&gt;
&lt;br /&gt;
The dependency may be made optional by setting the &amp;lt;code&amp;gt;optional&amp;lt;/code&amp;gt; attribute to &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;. This will only install the dependency when the add-on actually needs it. Even if this dependency is missing, the add-on can still be installed.&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;extension&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;&amp;lt;extension&amp;gt;&amp;lt;/code&amp;gt; element describes the technical aspects of this add-on. It will have at least a point attribute which will give the part of Kodi that the add-on extends. For instance, the &amp;lt;code&amp;gt;addon.xml&amp;lt;/code&amp;gt; file for the Confluence skin extends the &amp;lt;code&amp;gt;xbmc.gui.skin&amp;lt;/code&amp;gt; part of xbmc. All available extension points are given below.&lt;br /&gt;
&lt;br /&gt;
The various extension points that Kodi provides are given in the list below.&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
!Extension point&lt;br /&gt;
!Add-on Category&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;[[Skinning|xbmc.gui.skin]]&amp;lt;/code&amp;gt;&lt;br /&gt;
|Skin&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.gui.webinterface&amp;lt;/code&amp;gt;&lt;br /&gt;
|Web interface&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;[[Add-on repositories|xbmc.addon.repository]]&amp;lt;/code&amp;gt;&lt;br /&gt;
|&#039;&#039;None&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;[[HOW-TO:_Automatically_start_addons_using_services|xbmc.service]]&amp;lt;/code&amp;gt;&lt;br /&gt;
|Services&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.metadata.scraper.albums&amp;lt;/code&amp;gt;&lt;br /&gt;
|Album information&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.metadata.scraper.artists&amp;lt;/code&amp;gt;&lt;br /&gt;
|Artist information&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.metadata.scraper.movies&amp;lt;/code&amp;gt;&lt;br /&gt;
|Movie information&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.metadata.scraper.musicvideos&amp;lt;/code&amp;gt;&lt;br /&gt;
|Music video information&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.metadata.scraper.tvshows&amp;lt;/code&amp;gt;&lt;br /&gt;
|TV information&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.metadata.scraper.library&amp;lt;/code&amp;gt;&lt;br /&gt;
|&#039;&#039;None&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.ui.screensaver&amp;lt;/code&amp;gt;&lt;br /&gt;
|Screensaver&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.player.musicviz&amp;lt;/code&amp;gt;&lt;br /&gt;
|Visualization&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;[[Plugin sources#What Kodi requires for your add-on|xbmc.python.pluginsource]]&amp;lt;/code&amp;gt;&lt;br /&gt;
|Music Add-ons (audio) / Picture Add-ons (image) / Program Add-ons (executable) / Video Add-ons (video)&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;[[Script sources#What Kodi requires for your add-on|xbmc.python.script]]&amp;lt;/code&amp;gt;&lt;br /&gt;
|Music Add-ons (audio) / Picture Add-ons (image) / Program Add-ons (executable) / Video Add-ons (video)&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.python.weather&amp;lt;/code&amp;gt;&lt;br /&gt;
|Weather&lt;br /&gt;
|-{{Gotham row}}&lt;br /&gt;
|&amp;lt;code&amp;gt;[[Script Subtitles#What Kodi requires for your add-on|xbmc.python.subtitles]]&amp;lt;/code&amp;gt;&lt;br /&gt;
|&#039;&#039;&#039;([[:Category:Gotham feature|Future Gotham removal]])&#039;&#039;&#039; Subtitles&lt;br /&gt;
|-{{Gotham row}}&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.subtitle.module&amp;lt;/code&amp;gt;&lt;br /&gt;
|&#039;&#039;&#039;([[:Category:Gotham feature|Future Gotham addition]])&#039;&#039;&#039; Subtitle service module&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;[[Script lyrics#What Kodi requires for your add-on|xbmc.python.lyrics]]&amp;lt;/code&amp;gt;&lt;br /&gt;
|Lyrics&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;[[Script library#What Kodi requires for your add-on|xbmc.python.library]]&amp;lt;/code&amp;gt;&lt;br /&gt;
|&#039;&#039;None&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.python.module&amp;lt;/code&amp;gt;&lt;br /&gt;
|These don&#039;t show up in the addon browser and are purely as support for other scripts.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.addon.video&amp;lt;/code&amp;gt;&lt;br /&gt;
|Video Add-ons (video)&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.addon.audio&amp;lt;/code&amp;gt;&lt;br /&gt;
|Music Add-ons (audio)&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.addon.image&amp;lt;/code&amp;gt;&lt;br /&gt;
|Picture Add-ons (image)&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;kodi.resource.images&amp;lt;/code&amp;gt;&lt;br /&gt;
|Additional image files&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;kodi.resource.language&amp;lt;/code&amp;gt;&lt;br /&gt;
|Additional language files&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Add-ons that don&#039;t correspond to a specific add-on category can not be installed by users. These are usually supporting or shared add-ons that are installed automatically by the add-ons that require them.&lt;br /&gt;
&lt;br /&gt;
=== xbmc.python.pluginsource ===&lt;br /&gt;
{{See also|Plugin sources}}&lt;br /&gt;
&lt;br /&gt;
The most common extension point that will be used by plugin addon developers is &amp;lt;code&amp;gt;xbmc.python.pluginsource&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== library attribute ====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;&amp;lt;extension point=&amp;quot;xbmc.python.pluginsource&amp;quot;&amp;gt;&amp;lt;/code&amp;gt; element has an extra attribute: &amp;lt;code&amp;gt;library&amp;lt;/code&amp;gt;. This is the name of the Python script (startup script) that will be run when the add-on is activated. This file must exist in the root of your add-on directory.&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;provides&amp;gt; element ====&lt;br /&gt;
&lt;br /&gt;
The extension has an additional child element named &amp;lt;code&amp;gt;&amp;lt;provides&amp;gt;&amp;lt;/code&amp;gt;, which contains a whitespace separated list of &amp;lt;code&amp;gt;image&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;video&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;audio&amp;lt;/code&amp;gt;, and/or &amp;lt;code&amp;gt;executable&amp;lt;/code&amp;gt;. This determines in what area (or context) of the Kodi system your addon will make itself visible in:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
!Provides&lt;br /&gt;
!Appears in&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;image&amp;lt;/code&amp;gt;&lt;br /&gt;
|Pictures&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;audio&amp;lt;/code&amp;gt;&lt;br /&gt;
|Music&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;video&amp;lt;/code&amp;gt;&lt;br /&gt;
|Video&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;executable&amp;lt;/code&amp;gt;&lt;br /&gt;
|Programs&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;(blank)&#039;&#039;&lt;br /&gt;
|Not visible&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Example ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;extension point=&amp;quot;xbmc.python.pluginsource&amp;quot; library=&amp;quot;gpodderxbmc.py&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;provides&amp;gt;audio video&amp;lt;/provides&amp;gt;&lt;br /&gt;
&amp;lt;/extension&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== xbmc.addon.metadata ===&lt;br /&gt;
&lt;br /&gt;
This special extension point &#039;&#039;must&#039;&#039; be provided by all add-ons, and is the way that your add-on is described to users of the Kodi add-on manager.&lt;br /&gt;
&lt;br /&gt;
==== Required elements ====&lt;br /&gt;
&lt;br /&gt;
There are several elements that this should contain and all are compulsory (except the broken tag). Each of the elements below must always be present in English as a minimum.&lt;br /&gt;
&lt;br /&gt;
Many of these elements can be translated into multiple languages and should be added once for each supported language. See the [[List of language codes (ISO-639:1988)]] for possible language strings. If there&#039;s no &amp;lt;code&amp;gt;lang&amp;lt;/code&amp;gt; attribute for a translatable element, it defaults to English. However, even for English, adding the &amp;lt;code&amp;gt;lang&amp;lt;/code&amp;gt; attribute is recommended.&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;summary&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
One or more &amp;lt;code&amp;gt;&amp;lt;summary&amp;gt;&amp;lt;/code&amp;gt; elements provide a short summary of what the add-on does. This should be a single sentence. It may be translated into multiple languages.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;summary lang=&amp;quot;en&amp;quot;&amp;gt;Hello World script provides some basic examples on how to create your first script.&amp;lt;/summary&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;description&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
One or more &amp;lt;code&amp;gt;&amp;lt;description&amp;gt;&amp;lt;/code&amp;gt; elements provide a more detailed summary of what the add-on does. It may be translated into multiple languages.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;description lang=&amp;quot;en&amp;quot;&amp;gt;Hello World script provides some basic examples on how to create your first script&lt;br /&gt;
 and hopefully will increase the number of Kodi users to start creating their own addons.&amp;lt;/description&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;platform&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;&amp;lt;platform&amp;gt;&amp;lt;/code&amp;gt; tag specifies which platforms (operating systems, hardware) this add-on runs on. Many add-ons will run on all platforms, so &amp;lt;code&amp;gt;all&amp;lt;/code&amp;gt; is an option. If the platform tag is missing, we assume the add-on runs on all platforms. A combination of these is also possible. Currently available options are:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;all&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;linux&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;osx&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;osx64&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;osx32&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;ios&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;windx&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;android&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;platform&amp;gt;all&amp;lt;/platform&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;language&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;&amp;lt;language&amp;gt;&amp;lt;/code&amp;gt; elements indicate the language(s) of the &#039;&#039;content&#039;&#039; provided by your add-on. It applies to plugins, scripts, scrapers etc. This allows browsing the add-on list by language. When there is no specific language provided in your content, leave it blank.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;language&amp;gt;en de fr&amp;lt;/language&amp;gt;&lt;br /&gt;
    or&lt;br /&gt;
&amp;lt;language&amp;gt;&amp;lt;/language&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;license&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;&amp;lt;license&amp;gt;&amp;lt;/code&amp;gt; element indicates what license is used for this add-on.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;license&amp;gt;GNU GENERAL PUBLIC LICENSE. Version 2, June 1991&amp;lt;/license&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;forum&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;&amp;lt;forum&amp;gt;&amp;lt;/code&amp;gt; element provides the forum thread URL for this specific add-on. Leave this blank if there is no forum thread.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;forum&amp;gt;http://www.myaddonwebsite.com/forum.php?thread=12345&amp;lt;/forum&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;website&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;&amp;lt;website&amp;gt;&amp;lt;/code&amp;gt; element provides the website URL for this specific add-on.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;website&amp;gt;http://www.myaddonwebsite.com/&amp;lt;/website&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;nowiki&amp;gt;&amp;lt;source&amp;gt;&amp;lt;/nowiki&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;source&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; element provides the URL for the source code for this specific add-on.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;source&amp;gt;http://github.com/someone/myaddon&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;email&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;&amp;lt;email&amp;gt;&amp;lt;/code&amp;gt; element provides the email address of the author if he wishes to do so for this specific add-on. Here are two examples of how you can make it look (the second one it harder for spambots to use). This can be left blank if you do not want to make your email address public.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;email&amp;gt;foo@bar.com&amp;lt;/email&amp;gt;&lt;br /&gt;
    or&lt;br /&gt;
&amp;lt;email&amp;gt;foo at bar dot com&amp;lt;/email&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;disclaimer&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
One or more &amp;lt;code&amp;gt;&amp;lt;disclaimer&amp;gt;&amp;lt;/code&amp;gt; elements that indicate what (if any) things the user should know about the add-on. There is no need to have a disclaimer if you don&#039;t want one, though if something requires settings, or only works in a particular country then you may want to state this here. It may be translated into multiple languages.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;disclaimer lang=&amp;quot;en&amp;quot;&amp;gt;Feel free to use this script. For information visit the wiki.&amp;lt;/disclaimer&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;broken&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;&amp;lt;broken&amp;gt;&amp;lt;/code&amp;gt; tag will mark the add-on as broken in the Kodi repo and provide the reason why. You don&#039;t need to do a version bump for this to work. However a bump is recommended as you could also add this to the changelog.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;broken&amp;gt;deprecated&amp;lt;/broken&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Skin specific elements ==&lt;br /&gt;
=== Overview ===&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
|  &#039;&#039;&#039;effectslowdown&#039;&#039;&#039;&lt;br /&gt;
|  A multiplier that is applied to all &amp;lt;animation&amp;gt; effect lengths in the skin. Useful to slow down all animations globally so that you can better configure timings and see interactions between animating controls.&lt;br /&gt;
|- &lt;br /&gt;
|  &#039;&#039;&#039;debugging&#039;&#039;&#039;&lt;br /&gt;
|  When set to true, it&#039;ll display onscreen debug information (xml filename, mouse position and focused control type and name) in the skin.&lt;br /&gt;
|- &lt;br /&gt;
|  &#039;&#039;&#039;res&#039;&#039;&#039;&lt;br /&gt;
|  Support for arbitrary skin resolutions.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== How window xml files are found ===&lt;br /&gt;
&lt;br /&gt;
Kodi can run in many differing resolutions, and a skin should try and cater to all these resolutions. The easiest way is to develop for one specific resolution and make sure that all controls contain &amp;lt;width&amp;gt; and &amp;lt;height&amp;gt; tags. That way, Kodi can scale the controls to the new screen resolution.&lt;br /&gt;
&lt;br /&gt;
However, you may choose to develop alternative window xml files for differing resolutions (such as for HDTV resolutions, or for widescreen versus 4x3 resolutions).&lt;br /&gt;
&lt;br /&gt;
The order that Kodi looks for it&#039;s skin files are as follows:&lt;br /&gt;
&lt;br /&gt;
# It first looks in the current screenmode folder (one of 1080i, 720p, NTSC16x9, NTSC, PAL16x9 or PAL)&lt;br /&gt;
# If the current screenmode is 1080i and there&#039;s no 1080i folder, it then looks in the 720p folder.&lt;br /&gt;
# Finally, it looks in the &#039;&#039;&#039;res&#039;&#039;&#039; folder.&lt;br /&gt;
&lt;br /&gt;
This allows you to just put any window files that do not require special treatment for 16x9 resolutions etc. in the &amp;lt;defaultresolution&amp;gt; folder, preventing needless repetition.&lt;br /&gt;
&lt;br /&gt;
= Examples =&lt;br /&gt;
&lt;br /&gt;
== addon.xml for skins ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
﻿&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;addon&lt;br /&gt;
  id=&amp;quot;skin.confluence&amp;quot;&lt;br /&gt;
  version=&amp;quot;2.1.3&amp;quot;&lt;br /&gt;
  name=&amp;quot;Confluence&amp;quot;&lt;br /&gt;
  provider-name=&amp;quot;Jezz_X, Team Kodi&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;requires&amp;gt;&lt;br /&gt;
    &amp;lt;import addon=&amp;quot;xbmc.gui&amp;quot; version=&amp;quot;4.0.0&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/requires&amp;gt;&lt;br /&gt;
  &amp;lt;extension&lt;br /&gt;
    point=&amp;quot;xbmc.gui.skin&amp;quot;&lt;br /&gt;
    debugging=&amp;quot;false&amp;quot;&lt;br /&gt;
    effectslowdown=&amp;quot;0.75&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;res width=&amp;quot;1280&amp;quot; height=&amp;quot;720&amp;quot; aspect=&amp;quot;16:9&amp;quot; default=&amp;quot;true&amp;quot; folder=&amp;quot;720p&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;/extension&amp;gt;&lt;br /&gt;
  &amp;lt;extension point=&amp;quot;xbmc.addon.metadata&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;summary lang=&amp;quot;en&amp;quot;&amp;gt;Confluence skin by Jezz_X. (Kodi&#039;s default skin)&amp;lt;/summary&amp;gt;&lt;br /&gt;
    &amp;lt;description lang=&amp;quot;en&amp;quot;&amp;gt;Confluence is the default skin for Kodi 9.11 and above. It is a combination of concepts from many popular skins, and attempts to embrace and integrate their good ideas into a skin that should be easy for first time Kodi users to understand and use.&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;disclaimer lang=&amp;quot;en&amp;quot;&amp;gt;Confluence is the default skin for Kodi, removing it may cause issues&amp;lt;/disclaimer&amp;gt;&lt;br /&gt;
    &amp;lt;platform&amp;gt;all&amp;lt;/platform&amp;gt;&lt;br /&gt;
    &amp;lt;license&amp;gt;GNU GENERAL PUBLIC LICENSE. Version 2, June 1991&amp;lt;/license&amp;gt;&lt;br /&gt;
    &amp;lt;forum&amp;gt;&amp;lt;/forum&amp;gt;&lt;br /&gt;
    &amp;lt;website&amp;gt;&amp;lt;/website&amp;gt;&lt;br /&gt;
    &amp;lt;email&amp;gt;&amp;lt;/email&amp;gt;&lt;br /&gt;
    &amp;lt;source&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
  &amp;lt;/extension&amp;gt;&lt;br /&gt;
&amp;lt;/addon&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
One thing to note is that &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;all tag names are lower case.&amp;lt;/font&amp;gt; XML tag names are case sensitive!&lt;br /&gt;
&lt;br /&gt;
== addon.xml for scripts ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;yes&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;addon&lt;br /&gt;
    id=&amp;quot;script.artwork.downloader&amp;quot;&lt;br /&gt;
    name=&amp;quot;Artwork Downloader&amp;quot;&lt;br /&gt;
    version=&amp;quot;12.0.12&amp;quot;&lt;br /&gt;
    provider-name=&amp;quot;Martijn&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;requires&amp;gt;&lt;br /&gt;
    &amp;lt;import addon=&amp;quot;xbmc.python&amp;quot;                 version=&amp;quot;2.1.0&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;import addon=&amp;quot;xbmc.json&amp;quot;                   version=&amp;quot;6.0.0&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;import addon=&amp;quot;xbmc.addon&amp;quot;                  version=&amp;quot;12.0.0&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;import addon=&amp;quot;script.module.elementtree&amp;quot;   version=&amp;quot;1.2.7&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;import addon=&amp;quot;script.module.simplejson&amp;quot;    version=&amp;quot;2.0.10&amp;quot; optional=&amp;quot;true&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;import addon=&amp;quot;script.common.plugin.cache&amp;quot;  version=&amp;quot;1.3.0&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/requires&amp;gt;&lt;br /&gt;
  &amp;lt;extension point=&amp;quot;xbmc.python.script&amp;quot;         library=&amp;quot;default.py&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;provides&amp;gt;executable&amp;lt;/provides&amp;gt;&lt;br /&gt;
  &amp;lt;/extension&amp;gt;&lt;br /&gt;
  &amp;lt;extension point=&amp;quot;xbmc.service&amp;quot; library=&amp;quot;service.py&amp;quot; start=&amp;quot;login&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;extension point=&amp;quot;xbmc.addon.metadata&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;summary lang=&amp;quot;en&amp;quot;&amp;gt;Downloads Artwork for TV shows, Movies and Musicvideos in your library&amp;lt;/summary&amp;gt;&lt;br /&gt;
    &amp;lt;description lang=&amp;quot;en&amp;quot;&amp;gt;Downloads all available artwork for TV shows, Movies and Musicvideos in your library. Check the options for supported artwork[CR]Artwork sources:[CR]www.fanart.tv[CR]www.thetvdb.com[CR]www.themoviedb.org[CR]Remark:[CR]Check your skin to see what type of artwork is supported![CR]Each TV Show/Movie must have its own folder![CR]Skin integration:[CR]See readme file&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;disclaimer lang=&amp;quot;en&amp;quot;&amp;gt;For bugs, requests or general questions visit the Artwork Downloader thread on the Kodi forum.&amp;lt;/disclaimer&amp;gt;&lt;br /&gt;
    &amp;lt;language&amp;gt;&amp;lt;/language&amp;gt;&lt;br /&gt;
    &amp;lt;platform&amp;gt;all&amp;lt;/platform&amp;gt;&lt;br /&gt;
    &amp;lt;license&amp;gt;GNU GENERAL PUBLIC LICENSE. Version 2, June 1991&amp;lt;/license&amp;gt;&lt;br /&gt;
    &amp;lt;forum&amp;gt;&amp;lt;/forum&amp;gt;&lt;br /&gt;
    &amp;lt;website&amp;gt;&amp;lt;/website&amp;gt;&lt;br /&gt;
    &amp;lt;email&amp;gt;&amp;lt;/email&amp;gt;&lt;br /&gt;
    &amp;lt;source&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
  &amp;lt;/extension&amp;gt;&lt;br /&gt;
&amp;lt;/addon&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Schema Definition =&lt;br /&gt;
&lt;br /&gt;
The XML schema definition for &amp;lt;code&amp;gt;addon.xml&amp;lt;/code&amp;gt; is located [https://github.com/xbmc/xbmc/blob/master/addons/xbmc.addon/metadata.xsd here].&lt;br /&gt;
&lt;br /&gt;
{{frodo updated}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Add-on development]]&lt;br /&gt;
[[Category:Skin development]]&lt;/div&gt;</summary>
		<author><name>Martijn</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Addon.xml&amp;diff=111210</id>
		<title>Addon.xml</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Addon.xml&amp;diff=111210"/>
		<updated>2015-12-28T08:54:54Z</updated>

		<summary type="html">&lt;p&gt;Martijn: Undo revision 111209 by Martijn (talk)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav|[[Development]]|[[Add-on development]]}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Every skin, script, or plugin in Kodi contains an &amp;lt;code&amp;gt;addon.xml&amp;lt;/code&amp;gt; file which describes the add-on, providing credits, version information and dependencies. Below, we will explain how this file is structured and which elements must be used to create an add-on for Kodi. You can also consult the examples at the end to see how this file is laid out depending on if you are developing a skin or script.&lt;br /&gt;
&lt;br /&gt;
Every &amp;lt;code&amp;gt;addon.xml&amp;lt;/code&amp;gt; file has the same basic structure, this example is for a video plugin:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;yes&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;addon id=&amp;quot;plugin.addon.id&amp;quot; name=&amp;quot;Your Add-on&amp;quot; version=&amp;quot;1.2.3&amp;quot; provider-name=&amp;quot;You&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;requires&amp;gt;&lt;br /&gt;
    &amp;lt;import addon=&amp;quot;xbmc.python&amp;quot; version=&amp;quot;2.1.0&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/requires&amp;gt;&lt;br /&gt;
  &amp;lt;extension point=&amp;quot;xbmc.python.pluginsource&amp;quot; library=&amp;quot;addon.py&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;provides&amp;gt;video&amp;lt;/provides&amp;gt;&lt;br /&gt;
  &amp;lt;/extension&amp;gt;&lt;br /&gt;
  &amp;lt;extension point=&amp;quot;xbmc.addon.metadata&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;summary lang=&amp;quot;en&amp;quot;&amp;gt;Your add-on&#039;s summary&amp;lt;/summary&amp;gt;&lt;br /&gt;
    &amp;lt;description lang=&amp;quot;en&amp;quot;&amp;gt;Your add-on&#039;s description&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;disclaimer lang=&amp;quot;en&amp;quot;&amp;gt;&amp;lt;/disclaimer&amp;gt;&lt;br /&gt;
    &amp;lt;language&amp;gt;&amp;lt;/language&amp;gt;&lt;br /&gt;
    &amp;lt;platform&amp;gt;all&amp;lt;/platform&amp;gt;&lt;br /&gt;
    &amp;lt;license&amp;gt;&amp;lt;/license&amp;gt;&lt;br /&gt;
    &amp;lt;forum&amp;gt;&amp;lt;/forum&amp;gt;&lt;br /&gt;
    &amp;lt;website&amp;gt;&amp;lt;/website&amp;gt;&lt;br /&gt;
    &amp;lt;email&amp;gt;&amp;lt;/email&amp;gt;&lt;br /&gt;
    &amp;lt;source&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
  &amp;lt;/extension&amp;gt;&lt;br /&gt;
&amp;lt;/addon&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There are a few important things to note in the above sample:&lt;br /&gt;
&lt;br /&gt;
* The &amp;lt;code&amp;gt;&amp;lt;addon&amp;gt;&amp;lt;/code&amp;gt; element must be present, and be the root node. It presents data about the add-on package as a whole.&lt;br /&gt;
* Inside the &amp;lt;code&amp;gt;&amp;lt;addon&amp;gt;&amp;lt;/code&amp;gt; element is a &amp;lt;code&amp;gt;&amp;lt;requires&amp;gt;&amp;lt;/code&amp;gt; element, listing all the dependencies that this add-on needs in order to function.&lt;br /&gt;
* Then there are one or more &amp;lt;code&amp;gt;&amp;lt;extension&amp;gt;&amp;lt;/code&amp;gt; elements, each of which describes a part of Kodi that the add-on extends.&lt;br /&gt;
* Finally, there is a specific &amp;lt;code&amp;gt;&amp;lt;extension&amp;gt;&amp;lt;/code&amp;gt; element that extends &amp;lt;code&amp;gt;&amp;quot;xbmc.addon.metadata&amp;quot;&amp;lt;/code&amp;gt;. This describes the add-on to the user.&lt;br /&gt;
&lt;br /&gt;
= Elements =&lt;br /&gt;
 &lt;br /&gt;
== &amp;lt;addon&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;&amp;lt;addon&amp;gt;&amp;lt;/code&amp;gt; element has 4 attributes, all required: &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;version&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;provider-name&amp;lt;/code&amp;gt;. For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;addon id=&amp;quot;script.hello.world&amp;quot; name=&amp;quot;Hello World&amp;quot; version=&amp;quot;0.0.1&amp;quot; provider-name=&amp;quot;Dev1, Dev2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== id attribute ===&lt;br /&gt;
&lt;br /&gt;
The id attribute is the unique identifier used for this add-on.  It must be unique, and must use only lowercase characters, periods, underscores, dashes and numbers.  This identifier is also used as the name of the folder that contains the add-on, so for ease of searching, we suggest you use something like &amp;lt;type&amp;gt;.&amp;lt;uniquename&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== version attribute ===&lt;br /&gt;
&lt;br /&gt;
The version attribute is used by Kodi to determine whether updates are available. This should be use a version scheme like &amp;lt;code&amp;gt;x.y.z&amp;lt;/code&amp;gt; (major.minor.patch). For example: &amp;lt;code&amp;gt;version=&amp;quot;0.0.1&amp;quot;&amp;lt;/code&amp;gt;. Generally, you&#039;ll start with a version of &amp;lt;code&amp;gt;0.y.z&amp;lt;/code&amp;gt; for test releases and once you feel it is ready for a full release, you&#039;d bump the version to &amp;lt;code&amp;gt;1.0.0&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== How versioning works ====&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;2.2.9&amp;lt;/code&amp;gt; is newer than &amp;lt;code&amp;gt;2.2.1&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;2.2.10&amp;lt;/code&amp;gt;   is newer than &amp;lt;code&amp;gt;2.2.1&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;2.3.0&amp;lt;/code&amp;gt;   is newer than &amp;lt;code&amp;gt;2.2.9&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;2.2.1&amp;lt;/code&amp;gt; is newer than &amp;lt;code&amp;gt;2.2.1~alpha&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;2.2.1&amp;lt;/code&amp;gt; is newer than &amp;lt;code&amp;gt;2.2.1~beta&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;2.2.1~beta&amp;lt;/code&amp;gt; is newer than &amp;lt;code&amp;gt;2.2.1~alpha&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;2.2.1~beta3&amp;lt;/code&amp;gt; is newer than &amp;lt;code&amp;gt;2.2.1~beta2&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;2.2.1~beta10&amp;lt;/code&amp;gt; is newer than &amp;lt;code&amp;gt;2.2.1~beta1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{tip|Text should only be added for a beta version. In other cases version number should only contain numbers.}}&lt;br /&gt;
&lt;br /&gt;
=== name attribute ===&lt;br /&gt;
&lt;br /&gt;
The name attribute is the name of the add-on as it appears in the UI.  This should be in English where it makes sense for it to be so, and is not translatable.&lt;br /&gt;
&lt;br /&gt;
=== provider-name attribute ===&lt;br /&gt;
&lt;br /&gt;
The provider-name attribute is used as the author field.  This could be a team of authors or a single author. If the add-on is maintained by multiple people please separate them with a comma (&amp;lt;code&amp;gt;,&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;requires&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;&amp;lt;requires&amp;gt;&amp;lt;/code&amp;gt; element contains one or more &amp;lt;code&amp;gt;&amp;lt;import&amp;gt;&amp;lt;/code&amp;gt; elements which specify which other add-ons this particular add-on requires, and which version of those add-ons it requires. These add-ons may be part of Kodi itself, or may be parts of other third-party add-ons.&lt;br /&gt;
&lt;br /&gt;
Kodi will only allow the add-on to be run if suitable versions of the (non-optional) add-ons on which this add-on depends are installed. When a user installs your add-on from an online repository via Kodi&#039;s add-on manager, Kodi attempts to resolve these dependencies, and install anything that your add-on relies on first. The dependency must be provided with the minimum version number your script/skin requires.&lt;br /&gt;
&lt;br /&gt;
=== Examples ===&lt;br /&gt;
&lt;br /&gt;
Here is a sample &amp;lt;code&amp;gt;&amp;lt;requires&amp;gt;&amp;lt;/code&amp;gt; block that imports two required modules and one optional one:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;requires&amp;gt;&lt;br /&gt;
  &amp;lt;import addon=&amp;quot;xbmc.python&amp;quot;                 version=&amp;quot;2.1.0&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;import addon=&amp;quot;script.module.elementtree&amp;quot;   version=&amp;quot;1.2.7&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;import addon=&amp;quot;script.module.simplejson&amp;quot;    version=&amp;quot;2.0.10&amp;quot; optional=&amp;quot;true&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/requires&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here&#039;s another example, which will only install on OpenELEC:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;requires&amp;gt;&lt;br /&gt;
  &amp;lt;import addon=&amp;quot;os.openelec.tv&amp;quot; version=&amp;quot;2.0&amp;quot; optional=&amp;quot;false&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/requires&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;import&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
Each &amp;lt;code&amp;gt;&amp;lt;import&amp;gt;&amp;lt;/code&amp;gt; element describes one dependency for an add-on, with two required attributes: &amp;lt;code&amp;gt;addon&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;version&amp;lt;/code&amp;gt;. There is also an optional attribute called, fittingly, &amp;lt;code&amp;gt;optional&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
If your add-on relies on other third-party add-ons, Kodi will automatically install them as well, provided they are available on an existing add-on repository. If they aren&#039;t available on any existing repository, the user must install the other add-ons themselves. Note that you need to include any Python libraries you need directly in your add-on; these can&#039;t be loaded with an &amp;lt;code&amp;gt;&amp;lt;import&amp;gt;&amp;lt;/code&amp;gt; element, since Kodi wouldn&#039;t know what to do with them.&lt;br /&gt;
&lt;br /&gt;
=== addon attribute ===&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;addon&amp;lt;/code&amp;gt; attribute specifies the id of the required add-on, e.g. &amp;lt;code&amp;gt;script.module.elementtree&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== version attribute ===&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;version&amp;lt;/code&amp;gt; attribute specifies the minimum version of the required add-on to be installed.&lt;br /&gt;
&lt;br /&gt;
==== Dependency versions ====&lt;br /&gt;
&lt;br /&gt;
Each different Kodi version might require you to use a higher version of the &amp;lt;code&amp;gt;xbmc.*&amp;lt;/code&amp;gt; add-on dependencies to control on which version of Kodi the add-on can be installed.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ Current versions&lt;br /&gt;
! Kodi version !! xbmc.python !! xbmc.gui !! xbmc.json !! xbmc.metadata !! xbmc.addon&lt;br /&gt;
|-&lt;br /&gt;
| Dharma 10.1 &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;Deprecated&amp;lt;/font&amp;gt;|| 1.0 || 2.11 || 2.0|| 1.0 || 0.1&lt;br /&gt;
|-&lt;br /&gt;
| Eden 11.0 &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;Deprecated&amp;lt;/font&amp;gt; || 2.0 || 3.0 || 4.0 || 1.0 || 11.0&lt;br /&gt;
|-&lt;br /&gt;
| Frodo 12.x &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;Deprecated&amp;lt;/font&amp;gt;|| 2.1.0 || 4.0.0 || 6.0.0 || 2.1.0 || 12.0.0&lt;br /&gt;
|-&lt;br /&gt;
| Gotham 13.x || 2.1.0 &amp;gt; 2.14.0 || 5.0.1 || 6.0.0 &amp;gt; 6.6.0 || 2.1.0 || 13.0.0&lt;br /&gt;
|-&lt;br /&gt;
| Helix 14.x || 2.1.0 &amp;gt; 2.19.0 || 5.3.0 || 6.0.0 &amp;gt; 6.20.0 || 2.1.0 || 14.0.0&lt;br /&gt;
|-&lt;br /&gt;
| Isengard 15.x || 2.1.0 &amp;gt; 2.20.0 || 5.3.0 &amp;gt; 5.9.0 || 6.0.0 &amp;gt; 6.25.1 || 2.1.0 || 15.0.0&lt;br /&gt;
|-&lt;br /&gt;
| Jarvis 16.x || 2.1.0 &amp;gt; 2.24.0 || 5.10.0 || 6.0.0 &amp;gt; 6.32.1 || 2.1.0 || 16.0.0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== optional attribute ===&lt;br /&gt;
&lt;br /&gt;
The dependency may be made optional by setting the &amp;lt;code&amp;gt;optional&amp;lt;/code&amp;gt; attribute to &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;. This will only install the dependency when the add-on actually needs it. Even if this dependency is missing, the add-on can still be installed.&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;extension&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;&amp;lt;extension&amp;gt;&amp;lt;/code&amp;gt; element describes the technical aspects of this add-on. It will have at least a point attribute which will give the part of Kodi that the add-on extends. For instance, the &amp;lt;code&amp;gt;addon.xml&amp;lt;/code&amp;gt; file for the Confluence skin extends the &amp;lt;code&amp;gt;xbmc.gui.skin&amp;lt;/code&amp;gt; part of xbmc. All available extension points are given below.&lt;br /&gt;
&lt;br /&gt;
The various extension points that Kodi provides are given in the list below.&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
!Extension point&lt;br /&gt;
!Add-on Category&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;[[Skinning|xbmc.gui.skin]]&amp;lt;/code&amp;gt;&lt;br /&gt;
|Skin&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.gui.webinterface&amp;lt;/code&amp;gt;&lt;br /&gt;
|Web interface&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;[[Add-on repositories|xbmc.addon.repository]]&amp;lt;/code&amp;gt;&lt;br /&gt;
|&#039;&#039;None&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;[[HOW-TO:_Automatically_start_addons_using_services|xbmc.service]]&amp;lt;/code&amp;gt;&lt;br /&gt;
|Services&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.metadata.scraper.albums&amp;lt;/code&amp;gt;&lt;br /&gt;
|Album information&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.metadata.scraper.artists&amp;lt;/code&amp;gt;&lt;br /&gt;
|Artist information&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.metadata.scraper.movies&amp;lt;/code&amp;gt;&lt;br /&gt;
|Movie information&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.metadata.scraper.musicvideos&amp;lt;/code&amp;gt;&lt;br /&gt;
|Music video information&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.metadata.scraper.tvshows&amp;lt;/code&amp;gt;&lt;br /&gt;
|TV information&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.metadata.scraper.library&amp;lt;/code&amp;gt;&lt;br /&gt;
|&#039;&#039;None&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.ui.screensaver&amp;lt;/code&amp;gt;&lt;br /&gt;
|Screensaver&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.player.musicviz&amp;lt;/code&amp;gt;&lt;br /&gt;
|Visualization&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;[[Plugin sources#What Kodi requires for your add-on|xbmc.python.pluginsource]]&amp;lt;/code&amp;gt;&lt;br /&gt;
|Music Add-ons (audio) / Picture Add-ons (image) / Program Add-ons (executable) / Video Add-ons (video)&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;[[Script sources#What Kodi requires for your add-on|xbmc.python.script]]&amp;lt;/code&amp;gt;&lt;br /&gt;
|Music Add-ons (audio) / Picture Add-ons (image) / Program Add-ons (executable) / Video Add-ons (video)&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.python.weather&amp;lt;/code&amp;gt;&lt;br /&gt;
|Weather&lt;br /&gt;
|-{{Gotham row}}&lt;br /&gt;
|&amp;lt;code&amp;gt;[[Script Subtitles#What Kodi requires for your add-on|xbmc.python.subtitles]]&amp;lt;/code&amp;gt;&lt;br /&gt;
|&#039;&#039;&#039;([[:Category:Gotham feature|Future Gotham removal]])&#039;&#039;&#039; Subtitles&lt;br /&gt;
|-{{Gotham row}}&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.subtitle.module&amp;lt;/code&amp;gt;&lt;br /&gt;
|&#039;&#039;&#039;([[:Category:Gotham feature|Future Gotham addition]])&#039;&#039;&#039; Subtitle service module&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;[[Script lyrics#What Kodi requires for your add-on|xbmc.python.lyrics]]&amp;lt;/code&amp;gt;&lt;br /&gt;
|Lyrics&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;[[Script library#What Kodi requires for your add-on|xbmc.python.library]]&amp;lt;/code&amp;gt;&lt;br /&gt;
|&#039;&#039;None&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.python.module&amp;lt;/code&amp;gt;&lt;br /&gt;
|These don&#039;t show up in the addon browser and are purely as support for other scripts.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.addon.video&amp;lt;/code&amp;gt;&lt;br /&gt;
|Video Add-ons (video)&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.addon.audio&amp;lt;/code&amp;gt;&lt;br /&gt;
|Music Add-ons (audio)&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.addon.image&amp;lt;/code&amp;gt;&lt;br /&gt;
|Picture Add-ons (image)&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;kodi.resource.images&amp;lt;/code&amp;gt;&lt;br /&gt;
|Additional image files&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;kodi.resource.language&amp;lt;/code&amp;gt;&lt;br /&gt;
|Additional language files&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Add-ons that don&#039;t correspond to a specific add-on category can not be installed by users. These are usually supporting or shared add-ons that are installed automatically by the add-ons that require them.&lt;br /&gt;
&lt;br /&gt;
=== xbmc.python.pluginsource ===&lt;br /&gt;
{{See also|Plugin sources}}&lt;br /&gt;
&lt;br /&gt;
The most common extension point that will be used by plugin addon developers is &amp;lt;code&amp;gt;xbmc.python.pluginsource&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== library attribute ====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;&amp;lt;extension point=&amp;quot;xbmc.python.pluginsource&amp;quot;&amp;gt;&amp;lt;/code&amp;gt; element has an extra attribute: &amp;lt;code&amp;gt;library&amp;lt;/code&amp;gt;. This is the name of the Python script (startup script) that will be run when the add-on is activated. This file must exist in the root of your add-on directory.&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;provides&amp;gt; element ====&lt;br /&gt;
&lt;br /&gt;
The extension has an additional child element named &amp;lt;code&amp;gt;&amp;lt;provides&amp;gt;&amp;lt;/code&amp;gt;, which contains a whitespace separated list of &amp;lt;code&amp;gt;image&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;video&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;audio&amp;lt;/code&amp;gt;, and/or &amp;lt;code&amp;gt;executable&amp;lt;/code&amp;gt;. This determines in what area (or context) of the Kodi system your addon will make itself visible in:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
!Provides&lt;br /&gt;
!Appears in&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;image&amp;lt;/code&amp;gt;&lt;br /&gt;
|Pictures&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;audio&amp;lt;/code&amp;gt;&lt;br /&gt;
|Music&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;video&amp;lt;/code&amp;gt;&lt;br /&gt;
|Video&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;executable&amp;lt;/code&amp;gt;&lt;br /&gt;
|Programs&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;(blank)&#039;&#039;&lt;br /&gt;
|Not visible&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Example ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;extension point=&amp;quot;xbmc.python.pluginsource&amp;quot; library=&amp;quot;gpodderxbmc.py&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;provides&amp;gt;audio video&amp;lt;/provides&amp;gt;&lt;br /&gt;
&amp;lt;/extension&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== xbmc.addon.metadata ===&lt;br /&gt;
&lt;br /&gt;
This special extension point &#039;&#039;must&#039;&#039; be provided by all add-ons, and is the way that your add-on is described to users of the Kodi add-on manager.&lt;br /&gt;
&lt;br /&gt;
==== Required elements ====&lt;br /&gt;
&lt;br /&gt;
There are several elements that this should contain and all are compulsory (except the broken tag). Each of the elements below must always be present in English as a minimum.&lt;br /&gt;
&lt;br /&gt;
Many of these elements can be translated into multiple languages and should be added once for each supported language. See the [[List of language codes (ISO-639:1988)]] for possible language strings. If there&#039;s no &amp;lt;code&amp;gt;lang&amp;lt;/code&amp;gt; attribute for a translatable element, it defaults to English. However, even for English, adding the &amp;lt;code&amp;gt;lang&amp;lt;/code&amp;gt; attribute is recommended.&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;summary&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
One or more &amp;lt;code&amp;gt;&amp;lt;summary&amp;gt;&amp;lt;/code&amp;gt; elements provide a short summary of what the add-on does. This should be a single sentence. It may be translated into multiple languages.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;summary lang=&amp;quot;en&amp;quot;&amp;gt;Hello World script provides some basic examples on how to create your first script.&amp;lt;/summary&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;description&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
One or more &amp;lt;code&amp;gt;&amp;lt;description&amp;gt;&amp;lt;/code&amp;gt; elements provide a more detailed summary of what the add-on does. It may be translated into multiple languages.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;description lang=&amp;quot;en&amp;quot;&amp;gt;Hello World script provides some basic examples on how to create your first script&lt;br /&gt;
 and hopefully will increase the number of Kodi users to start creating their own addons.&amp;lt;/description&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;platform&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;&amp;lt;platform&amp;gt;&amp;lt;/code&amp;gt; tag specifies which platforms (operating systems, hardware) this add-on runs on. Many add-ons will run on all platforms, so &amp;lt;code&amp;gt;all&amp;lt;/code&amp;gt; is an option. If the platform tag is missing, we assume the add-on runs on all platforms. A combination of these is also possible. Currently available options are:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;all&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;linux&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;osx&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;osx64&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;osx32&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;ios&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;windx&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;android&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;platform&amp;gt;all&amp;lt;/platform&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;language&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;&amp;lt;language&amp;gt;&amp;lt;/code&amp;gt; elements indicate the language(s) of the &#039;&#039;content&#039;&#039; provided by your add-on. It applies to plugins, scripts, scrapers etc. This allows browsing the add-on list by language. When there is no specific language provided in your content, leave it blank.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;language&amp;gt;en de fr&amp;lt;/language&amp;gt;&lt;br /&gt;
    or&lt;br /&gt;
&amp;lt;language&amp;gt;&amp;lt;/language&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;license&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;&amp;lt;license&amp;gt;&amp;lt;/code&amp;gt; element indicates what license is used for this add-on.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;license&amp;gt;GNU GENERAL PUBLIC LICENSE. Version 2, June 1991&amp;lt;/license&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;forum&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;&amp;lt;forum&amp;gt;&amp;lt;/code&amp;gt; element provides the forum thread URL for this specific add-on. Leave this blank if there is no forum thread.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;forum&amp;gt;http://www.myaddonwebsite.com/forum.php?thread=12345&amp;lt;/forum&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;website&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;&amp;lt;website&amp;gt;&amp;lt;/code&amp;gt; element provides the website URL for this specific add-on.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;website&amp;gt;http://www.myaddonwebsite.com/&amp;lt;/website&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;nowiki&amp;gt;&amp;lt;source&amp;gt;&amp;lt;/nowiki&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;source&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; element provides the URL for the source code for this specific add-on.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;source&amp;gt;http://github.com/someone/myaddon&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;email&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;&amp;lt;email&amp;gt;&amp;lt;/code&amp;gt; element provides the email address of the author if he wishes to do so for this specific add-on. Here are two examples of how you can make it look (the second one it harder for spambots to use). This can be left blank if you do not want to make your email address public.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;email&amp;gt;foo@bar.com&amp;lt;/email&amp;gt;&lt;br /&gt;
    or&lt;br /&gt;
&amp;lt;email&amp;gt;foo at bar dot com&amp;lt;/email&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;disclaimer&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
One or more &amp;lt;code&amp;gt;&amp;lt;disclaimer&amp;gt;&amp;lt;/code&amp;gt; elements that indicate what (if any) things the user should know about the add-on. There is no need to have a disclaimer if you don&#039;t want one, though if something requires settings, or only works in a particular country then you may want to state this here. It may be translated into multiple languages.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;disclaimer lang=&amp;quot;en&amp;quot;&amp;gt;Feel free to use this script. For information visit the wiki.&amp;lt;/disclaimer&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;broken&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;&amp;lt;broken&amp;gt;&amp;lt;/code&amp;gt; tag will mark the add-on as broken in the Kodi repo and provide the reason why. You don&#039;t need to do a version bump for this to work. However a bump is recommended as you could also add this to the changelog.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;broken&amp;gt;deprecated&amp;lt;/broken&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Skin specific elements ==&lt;br /&gt;
=== Overview ===&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
|  &#039;&#039;&#039;effectslowdown&#039;&#039;&#039;&lt;br /&gt;
|  A multiplier that is applied to all &amp;lt;animation&amp;gt; effect lengths in the skin. Useful to slow down all animations globally so that you can better configure timings and see interactions between animating controls.&lt;br /&gt;
|- &lt;br /&gt;
|  &#039;&#039;&#039;debugging&#039;&#039;&#039;&lt;br /&gt;
|  When set to true, it&#039;ll display onscreen debug information (xml filename, mouse position and focused control type and name) in the skin.&lt;br /&gt;
|- &lt;br /&gt;
|  &#039;&#039;&#039;res&#039;&#039;&#039;&lt;br /&gt;
|  Support for arbitrary skin resolutions.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== How window xml files are found ===&lt;br /&gt;
&lt;br /&gt;
Kodi can run in many differing resolutions, and a skin should try and cater to all these resolutions. The easiest way is to develop for one specific resolution and make sure that all controls contain &amp;lt;width&amp;gt; and &amp;lt;height&amp;gt; tags. That way, Kodi can scale the controls to the new screen resolution.&lt;br /&gt;
&lt;br /&gt;
However, you may choose to develop alternative window xml files for differing resolutions (such as for HDTV resolutions, or for widescreen versus 4x3 resolutions).&lt;br /&gt;
&lt;br /&gt;
The order that Kodi looks for it&#039;s skin files are as follows:&lt;br /&gt;
&lt;br /&gt;
# It first looks in the current screenmode folder (one of 1080i, 720p, NTSC16x9, NTSC, PAL16x9 or PAL)&lt;br /&gt;
# If the current screenmode is 1080i and there&#039;s no 1080i folder, it then looks in the 720p folder.&lt;br /&gt;
# Finally, it looks in the &#039;&#039;&#039;res&#039;&#039;&#039; folder.&lt;br /&gt;
&lt;br /&gt;
This allows you to just put any window files that do not require special treatment for 16x9 resolutions etc. in the &amp;lt;defaultresolution&amp;gt; folder, preventing needless repetition.&lt;br /&gt;
&lt;br /&gt;
= Examples =&lt;br /&gt;
&lt;br /&gt;
== addon.xml for skins ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
﻿&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;addon&lt;br /&gt;
  id=&amp;quot;skin.confluence&amp;quot;&lt;br /&gt;
  version=&amp;quot;2.1.3&amp;quot;&lt;br /&gt;
  name=&amp;quot;Confluence&amp;quot;&lt;br /&gt;
  provider-name=&amp;quot;Jezz_X, Team Kodi&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;requires&amp;gt;&lt;br /&gt;
    &amp;lt;import addon=&amp;quot;xbmc.gui&amp;quot; version=&amp;quot;4.0.0&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/requires&amp;gt;&lt;br /&gt;
  &amp;lt;extension&lt;br /&gt;
    point=&amp;quot;xbmc.gui.skin&amp;quot;&lt;br /&gt;
    debugging=&amp;quot;false&amp;quot;&lt;br /&gt;
    effectslowdown=&amp;quot;0.75&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;res width=&amp;quot;1280&amp;quot; height=&amp;quot;720&amp;quot; aspect=&amp;quot;16:9&amp;quot; default=&amp;quot;true&amp;quot; folder=&amp;quot;720p&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;/extension&amp;gt;&lt;br /&gt;
  &amp;lt;extension point=&amp;quot;xbmc.addon.metadata&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;summary lang=&amp;quot;en&amp;quot;&amp;gt;Confluence skin by Jezz_X. (Kodi&#039;s default skin)&amp;lt;/summary&amp;gt;&lt;br /&gt;
    &amp;lt;description lang=&amp;quot;en&amp;quot;&amp;gt;Confluence is the default skin for Kodi 9.11 and above. It is a combination of concepts from many popular skins, and attempts to embrace and integrate their good ideas into a skin that should be easy for first time Kodi users to understand and use.&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;disclaimer lang=&amp;quot;en&amp;quot;&amp;gt;Confluence is the default skin for Kodi, removing it may cause issues&amp;lt;/disclaimer&amp;gt;&lt;br /&gt;
    &amp;lt;platform&amp;gt;all&amp;lt;/platform&amp;gt;&lt;br /&gt;
    &amp;lt;license&amp;gt;GNU GENERAL PUBLIC LICENSE. Version 2, June 1991&amp;lt;/license&amp;gt;&lt;br /&gt;
    &amp;lt;forum&amp;gt;&amp;lt;/forum&amp;gt;&lt;br /&gt;
    &amp;lt;website&amp;gt;&amp;lt;/website&amp;gt;&lt;br /&gt;
    &amp;lt;email&amp;gt;&amp;lt;/email&amp;gt;&lt;br /&gt;
    &amp;lt;source&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
  &amp;lt;/extension&amp;gt;&lt;br /&gt;
&amp;lt;/addon&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
One thing to note is that &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;all tag names are lower case.&amp;lt;/font&amp;gt; XML tag names are case sensitive!&lt;br /&gt;
&lt;br /&gt;
== addon.xml for scripts ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;yes&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;addon&lt;br /&gt;
    id=&amp;quot;script.artwork.downloader&amp;quot;&lt;br /&gt;
    name=&amp;quot;Artwork Downloader&amp;quot;&lt;br /&gt;
    version=&amp;quot;12.0.12&amp;quot;&lt;br /&gt;
    provider-name=&amp;quot;Martijn&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;requires&amp;gt;&lt;br /&gt;
    &amp;lt;import addon=&amp;quot;xbmc.python&amp;quot;                 version=&amp;quot;2.1.0&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;import addon=&amp;quot;xbmc.json&amp;quot;                   version=&amp;quot;6.0.0&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;import addon=&amp;quot;xbmc.addon&amp;quot;                  version=&amp;quot;12.0.0&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;import addon=&amp;quot;script.module.elementtree&amp;quot;   version=&amp;quot;1.2.7&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;import addon=&amp;quot;script.module.simplejson&amp;quot;    version=&amp;quot;2.0.10&amp;quot; optional=&amp;quot;true&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;import addon=&amp;quot;script.common.plugin.cache&amp;quot;  version=&amp;quot;1.3.0&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/requires&amp;gt;&lt;br /&gt;
  &amp;lt;extension point=&amp;quot;xbmc.python.script&amp;quot;         library=&amp;quot;default.py&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;provides&amp;gt;executable&amp;lt;/provides&amp;gt;&lt;br /&gt;
  &amp;lt;/extension&amp;gt;&lt;br /&gt;
  &amp;lt;extension point=&amp;quot;xbmc.service&amp;quot; library=&amp;quot;service.py&amp;quot; start=&amp;quot;login&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;extension point=&amp;quot;xbmc.addon.metadata&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;summary lang=&amp;quot;en&amp;quot;&amp;gt;Downloads Artwork for TV shows, Movies and Musicvideos in your library&amp;lt;/summary&amp;gt;&lt;br /&gt;
    &amp;lt;description lang=&amp;quot;en&amp;quot;&amp;gt;Downloads all available artwork for TV shows, Movies and Musicvideos in your library. Check the options for supported artwork[CR]Artwork sources:[CR]www.fanart.tv[CR]www.thetvdb.com[CR]www.themoviedb.org[CR]Remark:[CR]Check your skin to see what type of artwork is supported![CR]Each TV Show/Movie must have its own folder![CR]Skin integration:[CR]See readme file&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;disclaimer lang=&amp;quot;en&amp;quot;&amp;gt;For bugs, requests or general questions visit the Artwork Downloader thread on the Kodi forum.&amp;lt;/disclaimer&amp;gt;&lt;br /&gt;
    &amp;lt;language&amp;gt;&amp;lt;/language&amp;gt;&lt;br /&gt;
    &amp;lt;platform&amp;gt;all&amp;lt;/platform&amp;gt;&lt;br /&gt;
    &amp;lt;license&amp;gt;GNU GENERAL PUBLIC LICENSE. Version 2, June 1991&amp;lt;/license&amp;gt;&lt;br /&gt;
    &amp;lt;forum&amp;gt;&amp;lt;/forum&amp;gt;&lt;br /&gt;
    &amp;lt;website&amp;gt;&amp;lt;/website&amp;gt;&lt;br /&gt;
    &amp;lt;email&amp;gt;&amp;lt;/email&amp;gt;&lt;br /&gt;
    &amp;lt;source&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
  &amp;lt;/extension&amp;gt;&lt;br /&gt;
&amp;lt;/addon&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Schema Definition =&lt;br /&gt;
&lt;br /&gt;
The XML schema definition for &amp;lt;code&amp;gt;addon.xml&amp;lt;/code&amp;gt; is located [https://github.com/xbmc/xbmc/blob/master/addons/xbmc.addon/metadata.xsd here].&lt;br /&gt;
&lt;br /&gt;
{{frodo updated}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Add-on development]]&lt;br /&gt;
[[Category:Skin development]]&lt;/div&gt;</summary>
		<author><name>Martijn</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Addon.xml&amp;diff=111209</id>
		<title>Addon.xml</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Addon.xml&amp;diff=111209"/>
		<updated>2015-12-28T08:41:46Z</updated>

		<summary type="html">&lt;p&gt;Martijn: /* Dependency versions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav|[[Development]]|[[Add-on development]]}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Every skin, script, or plugin in Kodi contains an &amp;lt;code&amp;gt;addon.xml&amp;lt;/code&amp;gt; file which describes the add-on, providing credits, version information and dependencies. Below, we will explain how this file is structured and which elements must be used to create an add-on for Kodi. You can also consult the examples at the end to see how this file is laid out depending on if you are developing a skin or script.&lt;br /&gt;
&lt;br /&gt;
Every &amp;lt;code&amp;gt;addon.xml&amp;lt;/code&amp;gt; file has the same basic structure, this example is for a video plugin:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;yes&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;addon id=&amp;quot;plugin.addon.id&amp;quot; name=&amp;quot;Your Add-on&amp;quot; version=&amp;quot;1.2.3&amp;quot; provider-name=&amp;quot;You&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;requires&amp;gt;&lt;br /&gt;
    &amp;lt;import addon=&amp;quot;xbmc.python&amp;quot; version=&amp;quot;2.1.0&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/requires&amp;gt;&lt;br /&gt;
  &amp;lt;extension point=&amp;quot;xbmc.python.pluginsource&amp;quot; library=&amp;quot;addon.py&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;provides&amp;gt;video&amp;lt;/provides&amp;gt;&lt;br /&gt;
  &amp;lt;/extension&amp;gt;&lt;br /&gt;
  &amp;lt;extension point=&amp;quot;xbmc.addon.metadata&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;summary lang=&amp;quot;en&amp;quot;&amp;gt;Your add-on&#039;s summary&amp;lt;/summary&amp;gt;&lt;br /&gt;
    &amp;lt;description lang=&amp;quot;en&amp;quot;&amp;gt;Your add-on&#039;s description&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;disclaimer lang=&amp;quot;en&amp;quot;&amp;gt;&amp;lt;/disclaimer&amp;gt;&lt;br /&gt;
    &amp;lt;language&amp;gt;&amp;lt;/language&amp;gt;&lt;br /&gt;
    &amp;lt;platform&amp;gt;all&amp;lt;/platform&amp;gt;&lt;br /&gt;
    &amp;lt;license&amp;gt;&amp;lt;/license&amp;gt;&lt;br /&gt;
    &amp;lt;forum&amp;gt;&amp;lt;/forum&amp;gt;&lt;br /&gt;
    &amp;lt;website&amp;gt;&amp;lt;/website&amp;gt;&lt;br /&gt;
    &amp;lt;email&amp;gt;&amp;lt;/email&amp;gt;&lt;br /&gt;
    &amp;lt;source&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
  &amp;lt;/extension&amp;gt;&lt;br /&gt;
&amp;lt;/addon&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There are a few important things to note in the above sample:&lt;br /&gt;
&lt;br /&gt;
* The &amp;lt;code&amp;gt;&amp;lt;addon&amp;gt;&amp;lt;/code&amp;gt; element must be present, and be the root node. It presents data about the add-on package as a whole.&lt;br /&gt;
* Inside the &amp;lt;code&amp;gt;&amp;lt;addon&amp;gt;&amp;lt;/code&amp;gt; element is a &amp;lt;code&amp;gt;&amp;lt;requires&amp;gt;&amp;lt;/code&amp;gt; element, listing all the dependencies that this add-on needs in order to function.&lt;br /&gt;
* Then there are one or more &amp;lt;code&amp;gt;&amp;lt;extension&amp;gt;&amp;lt;/code&amp;gt; elements, each of which describes a part of Kodi that the add-on extends.&lt;br /&gt;
* Finally, there is a specific &amp;lt;code&amp;gt;&amp;lt;extension&amp;gt;&amp;lt;/code&amp;gt; element that extends &amp;lt;code&amp;gt;&amp;quot;xbmc.addon.metadata&amp;quot;&amp;lt;/code&amp;gt;. This describes the add-on to the user.&lt;br /&gt;
&lt;br /&gt;
= Elements =&lt;br /&gt;
 &lt;br /&gt;
== &amp;lt;addon&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;&amp;lt;addon&amp;gt;&amp;lt;/code&amp;gt; element has 4 attributes, all required: &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;version&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;provider-name&amp;lt;/code&amp;gt;. For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;addon id=&amp;quot;script.hello.world&amp;quot; name=&amp;quot;Hello World&amp;quot; version=&amp;quot;0.0.1&amp;quot; provider-name=&amp;quot;Dev1, Dev2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== id attribute ===&lt;br /&gt;
&lt;br /&gt;
The id attribute is the unique identifier used for this add-on.  It must be unique, and must use only lowercase characters, periods, underscores, dashes and numbers.  This identifier is also used as the name of the folder that contains the add-on, so for ease of searching, we suggest you use something like &amp;lt;type&amp;gt;.&amp;lt;uniquename&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== version attribute ===&lt;br /&gt;
&lt;br /&gt;
The version attribute is used by Kodi to determine whether updates are available. This should be use a version scheme like &amp;lt;code&amp;gt;x.y.z&amp;lt;/code&amp;gt; (major.minor.patch). For example: &amp;lt;code&amp;gt;version=&amp;quot;0.0.1&amp;quot;&amp;lt;/code&amp;gt;. Generally, you&#039;ll start with a version of &amp;lt;code&amp;gt;0.y.z&amp;lt;/code&amp;gt; for test releases and once you feel it is ready for a full release, you&#039;d bump the version to &amp;lt;code&amp;gt;1.0.0&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== How versioning works ====&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;2.2.9&amp;lt;/code&amp;gt; is newer than &amp;lt;code&amp;gt;2.2.1&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;2.2.10&amp;lt;/code&amp;gt;   is newer than &amp;lt;code&amp;gt;2.2.1&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;2.3.0&amp;lt;/code&amp;gt;   is newer than &amp;lt;code&amp;gt;2.2.9&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;2.2.1&amp;lt;/code&amp;gt; is newer than &amp;lt;code&amp;gt;2.2.1~alpha&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;2.2.1&amp;lt;/code&amp;gt; is newer than &amp;lt;code&amp;gt;2.2.1~beta&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;2.2.1~beta&amp;lt;/code&amp;gt; is newer than &amp;lt;code&amp;gt;2.2.1~alpha&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;2.2.1~beta3&amp;lt;/code&amp;gt; is newer than &amp;lt;code&amp;gt;2.2.1~beta2&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;2.2.1~beta10&amp;lt;/code&amp;gt; is newer than &amp;lt;code&amp;gt;2.2.1~beta1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{tip|Text should only be added for a beta version. In other cases version number should only contain numbers.}}&lt;br /&gt;
&lt;br /&gt;
=== name attribute ===&lt;br /&gt;
&lt;br /&gt;
The name attribute is the name of the add-on as it appears in the UI.  This should be in English where it makes sense for it to be so, and is not translatable.&lt;br /&gt;
&lt;br /&gt;
=== provider-name attribute ===&lt;br /&gt;
&lt;br /&gt;
The provider-name attribute is used as the author field.  This could be a team of authors or a single author. If the add-on is maintained by multiple people please separate them with a comma (&amp;lt;code&amp;gt;,&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;requires&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;&amp;lt;requires&amp;gt;&amp;lt;/code&amp;gt; element contains one or more &amp;lt;code&amp;gt;&amp;lt;import&amp;gt;&amp;lt;/code&amp;gt; elements which specify which other add-ons this particular add-on requires, and which version of those add-ons it requires. These add-ons may be part of Kodi itself, or may be parts of other third-party add-ons.&lt;br /&gt;
&lt;br /&gt;
Kodi will only allow the add-on to be run if suitable versions of the (non-optional) add-ons on which this add-on depends are installed. When a user installs your add-on from an online repository via Kodi&#039;s add-on manager, Kodi attempts to resolve these dependencies, and install anything that your add-on relies on first. The dependency must be provided with the minimum version number your script/skin requires.&lt;br /&gt;
&lt;br /&gt;
=== Examples ===&lt;br /&gt;
&lt;br /&gt;
Here is a sample &amp;lt;code&amp;gt;&amp;lt;requires&amp;gt;&amp;lt;/code&amp;gt; block that imports two required modules and one optional one:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;requires&amp;gt;&lt;br /&gt;
  &amp;lt;import addon=&amp;quot;xbmc.python&amp;quot;                 version=&amp;quot;2.1.0&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;import addon=&amp;quot;script.module.elementtree&amp;quot;   version=&amp;quot;1.2.7&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;import addon=&amp;quot;script.module.simplejson&amp;quot;    version=&amp;quot;2.0.10&amp;quot; optional=&amp;quot;true&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/requires&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here&#039;s another example, which will only install on OpenELEC:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;requires&amp;gt;&lt;br /&gt;
  &amp;lt;import addon=&amp;quot;os.openelec.tv&amp;quot; version=&amp;quot;2.0&amp;quot; optional=&amp;quot;false&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/requires&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;import&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
Each &amp;lt;code&amp;gt;&amp;lt;import&amp;gt;&amp;lt;/code&amp;gt; element describes one dependency for an add-on, with two required attributes: &amp;lt;code&amp;gt;addon&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;version&amp;lt;/code&amp;gt;. There is also an optional attribute called, fittingly, &amp;lt;code&amp;gt;optional&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
If your add-on relies on other third-party add-ons, Kodi will automatically install them as well, provided they are available on an existing add-on repository. If they aren&#039;t available on any existing repository, the user must install the other add-ons themselves. Note that you need to include any Python libraries you need directly in your add-on; these can&#039;t be loaded with an &amp;lt;code&amp;gt;&amp;lt;import&amp;gt;&amp;lt;/code&amp;gt; element, since Kodi wouldn&#039;t know what to do with them.&lt;br /&gt;
&lt;br /&gt;
=== addon attribute ===&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;addon&amp;lt;/code&amp;gt; attribute specifies the id of the required add-on, e.g. &amp;lt;code&amp;gt;script.module.elementtree&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== version attribute ===&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;version&amp;lt;/code&amp;gt; attribute specifies the minimum version of the required add-on to be installed.&lt;br /&gt;
&lt;br /&gt;
==== Dependency versions ====&lt;br /&gt;
&lt;br /&gt;
Each different Kodi version might require you to use a higher version of the &amp;lt;code&amp;gt;xbmc.*&amp;lt;/code&amp;gt; add-on dependencies to control on which version of Kodi the add-on can be installed.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ Current versions&lt;br /&gt;
! Kodi version !! xbmc.python !! xbmc.gui !! xbmc.json !! xbmc.metadata !! xbmc.addon&lt;br /&gt;
|-&lt;br /&gt;
| Dharma 10.1 &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;Deprecated&amp;lt;/font&amp;gt;|| 1.0 || 2.11 || 2.0|| 1.0 || 0.1&lt;br /&gt;
|-&lt;br /&gt;
| Eden 11.0 &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;Deprecated&amp;lt;/font&amp;gt; || 2.0 || 3.0 || 4.0 || 1.0 || 11.0&lt;br /&gt;
|-&lt;br /&gt;
| Frodo 12.x &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;Deprecated&amp;lt;/font&amp;gt;|| 2.1.0 || 4.0.0 || 6.0.0 || 2.1.0 || 12.0.0&lt;br /&gt;
|-&lt;br /&gt;
| Gotham 13.x || 2.14.0 || 5.0.1 || 6.6.0 || 2.1.0 || 13.0.0&lt;br /&gt;
|-&lt;br /&gt;
| Helix 14.x || 2.19.0 || 5.3.0 || 6.20.0 || 2.1.0 || 14.0.0&lt;br /&gt;
|-&lt;br /&gt;
| Isengard 15.x || 2.20.0 || 5.9.0 || 6.25.1 || 2.1.0 || 15.0.0&lt;br /&gt;
|-&lt;br /&gt;
| Jarvis 16.x || 2.24.0 || 5.10.0 || 6.32.1 || 2.1.0 || 16.0.0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Each Kodi version contain a certain backwards compatibility. For example add-ons made for Gotham 13.x can still work ion Jarvis 16.x. Do not that this might change in the future.&lt;br /&gt;
&lt;br /&gt;
=== optional attribute ===&lt;br /&gt;
&lt;br /&gt;
The dependency may be made optional by setting the &amp;lt;code&amp;gt;optional&amp;lt;/code&amp;gt; attribute to &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;. This will only install the dependency when the add-on actually needs it. Even if this dependency is missing, the add-on can still be installed.&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;extension&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;&amp;lt;extension&amp;gt;&amp;lt;/code&amp;gt; element describes the technical aspects of this add-on. It will have at least a point attribute which will give the part of Kodi that the add-on extends. For instance, the &amp;lt;code&amp;gt;addon.xml&amp;lt;/code&amp;gt; file for the Confluence skin extends the &amp;lt;code&amp;gt;xbmc.gui.skin&amp;lt;/code&amp;gt; part of xbmc. All available extension points are given below.&lt;br /&gt;
&lt;br /&gt;
The various extension points that Kodi provides are given in the list below.&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
!Extension point&lt;br /&gt;
!Add-on Category&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;[[Skinning|xbmc.gui.skin]]&amp;lt;/code&amp;gt;&lt;br /&gt;
|Skin&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.gui.webinterface&amp;lt;/code&amp;gt;&lt;br /&gt;
|Web interface&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;[[Add-on repositories|xbmc.addon.repository]]&amp;lt;/code&amp;gt;&lt;br /&gt;
|&#039;&#039;None&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;[[HOW-TO:_Automatically_start_addons_using_services|xbmc.service]]&amp;lt;/code&amp;gt;&lt;br /&gt;
|Services&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.metadata.scraper.albums&amp;lt;/code&amp;gt;&lt;br /&gt;
|Album information&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.metadata.scraper.artists&amp;lt;/code&amp;gt;&lt;br /&gt;
|Artist information&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.metadata.scraper.movies&amp;lt;/code&amp;gt;&lt;br /&gt;
|Movie information&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.metadata.scraper.musicvideos&amp;lt;/code&amp;gt;&lt;br /&gt;
|Music video information&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.metadata.scraper.tvshows&amp;lt;/code&amp;gt;&lt;br /&gt;
|TV information&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.metadata.scraper.library&amp;lt;/code&amp;gt;&lt;br /&gt;
|&#039;&#039;None&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.ui.screensaver&amp;lt;/code&amp;gt;&lt;br /&gt;
|Screensaver&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.player.musicviz&amp;lt;/code&amp;gt;&lt;br /&gt;
|Visualization&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;[[Plugin sources#What Kodi requires for your add-on|xbmc.python.pluginsource]]&amp;lt;/code&amp;gt;&lt;br /&gt;
|Music Add-ons (audio) / Picture Add-ons (image) / Program Add-ons (executable) / Video Add-ons (video)&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;[[Script sources#What Kodi requires for your add-on|xbmc.python.script]]&amp;lt;/code&amp;gt;&lt;br /&gt;
|Music Add-ons (audio) / Picture Add-ons (image) / Program Add-ons (executable) / Video Add-ons (video)&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.python.weather&amp;lt;/code&amp;gt;&lt;br /&gt;
|Weather&lt;br /&gt;
|-{{Gotham row}}&lt;br /&gt;
|&amp;lt;code&amp;gt;[[Script Subtitles#What Kodi requires for your add-on|xbmc.python.subtitles]]&amp;lt;/code&amp;gt;&lt;br /&gt;
|&#039;&#039;&#039;([[:Category:Gotham feature|Future Gotham removal]])&#039;&#039;&#039; Subtitles&lt;br /&gt;
|-{{Gotham row}}&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.subtitle.module&amp;lt;/code&amp;gt;&lt;br /&gt;
|&#039;&#039;&#039;([[:Category:Gotham feature|Future Gotham addition]])&#039;&#039;&#039; Subtitle service module&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;[[Script lyrics#What Kodi requires for your add-on|xbmc.python.lyrics]]&amp;lt;/code&amp;gt;&lt;br /&gt;
|Lyrics&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;[[Script library#What Kodi requires for your add-on|xbmc.python.library]]&amp;lt;/code&amp;gt;&lt;br /&gt;
|&#039;&#039;None&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.python.module&amp;lt;/code&amp;gt;&lt;br /&gt;
|These don&#039;t show up in the addon browser and are purely as support for other scripts.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.addon.video&amp;lt;/code&amp;gt;&lt;br /&gt;
|Video Add-ons (video)&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.addon.audio&amp;lt;/code&amp;gt;&lt;br /&gt;
|Music Add-ons (audio)&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;xbmc.addon.image&amp;lt;/code&amp;gt;&lt;br /&gt;
|Picture Add-ons (image)&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;kodi.resource.images&amp;lt;/code&amp;gt;&lt;br /&gt;
|Additional image files&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;kodi.resource.language&amp;lt;/code&amp;gt;&lt;br /&gt;
|Additional language files&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Add-ons that don&#039;t correspond to a specific add-on category can not be installed by users. These are usually supporting or shared add-ons that are installed automatically by the add-ons that require them.&lt;br /&gt;
&lt;br /&gt;
=== xbmc.python.pluginsource ===&lt;br /&gt;
{{See also|Plugin sources}}&lt;br /&gt;
&lt;br /&gt;
The most common extension point that will be used by plugin addon developers is &amp;lt;code&amp;gt;xbmc.python.pluginsource&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== library attribute ====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;&amp;lt;extension point=&amp;quot;xbmc.python.pluginsource&amp;quot;&amp;gt;&amp;lt;/code&amp;gt; element has an extra attribute: &amp;lt;code&amp;gt;library&amp;lt;/code&amp;gt;. This is the name of the Python script (startup script) that will be run when the add-on is activated. This file must exist in the root of your add-on directory.&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;provides&amp;gt; element ====&lt;br /&gt;
&lt;br /&gt;
The extension has an additional child element named &amp;lt;code&amp;gt;&amp;lt;provides&amp;gt;&amp;lt;/code&amp;gt;, which contains a whitespace separated list of &amp;lt;code&amp;gt;image&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;video&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;audio&amp;lt;/code&amp;gt;, and/or &amp;lt;code&amp;gt;executable&amp;lt;/code&amp;gt;. This determines in what area (or context) of the Kodi system your addon will make itself visible in:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
!Provides&lt;br /&gt;
!Appears in&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;image&amp;lt;/code&amp;gt;&lt;br /&gt;
|Pictures&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;audio&amp;lt;/code&amp;gt;&lt;br /&gt;
|Music&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;video&amp;lt;/code&amp;gt;&lt;br /&gt;
|Video&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;executable&amp;lt;/code&amp;gt;&lt;br /&gt;
|Programs&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;(blank)&#039;&#039;&lt;br /&gt;
|Not visible&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Example ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;extension point=&amp;quot;xbmc.python.pluginsource&amp;quot; library=&amp;quot;gpodderxbmc.py&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;provides&amp;gt;audio video&amp;lt;/provides&amp;gt;&lt;br /&gt;
&amp;lt;/extension&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== xbmc.addon.metadata ===&lt;br /&gt;
&lt;br /&gt;
This special extension point &#039;&#039;must&#039;&#039; be provided by all add-ons, and is the way that your add-on is described to users of the Kodi add-on manager.&lt;br /&gt;
&lt;br /&gt;
==== Required elements ====&lt;br /&gt;
&lt;br /&gt;
There are several elements that this should contain and all are compulsory (except the broken tag). Each of the elements below must always be present in English as a minimum.&lt;br /&gt;
&lt;br /&gt;
Many of these elements can be translated into multiple languages and should be added once for each supported language. See the [[List of language codes (ISO-639:1988)]] for possible language strings. If there&#039;s no &amp;lt;code&amp;gt;lang&amp;lt;/code&amp;gt; attribute for a translatable element, it defaults to English. However, even for English, adding the &amp;lt;code&amp;gt;lang&amp;lt;/code&amp;gt; attribute is recommended.&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;summary&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
One or more &amp;lt;code&amp;gt;&amp;lt;summary&amp;gt;&amp;lt;/code&amp;gt; elements provide a short summary of what the add-on does. This should be a single sentence. It may be translated into multiple languages.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;summary lang=&amp;quot;en&amp;quot;&amp;gt;Hello World script provides some basic examples on how to create your first script.&amp;lt;/summary&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;description&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
One or more &amp;lt;code&amp;gt;&amp;lt;description&amp;gt;&amp;lt;/code&amp;gt; elements provide a more detailed summary of what the add-on does. It may be translated into multiple languages.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;description lang=&amp;quot;en&amp;quot;&amp;gt;Hello World script provides some basic examples on how to create your first script&lt;br /&gt;
 and hopefully will increase the number of Kodi users to start creating their own addons.&amp;lt;/description&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;platform&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;&amp;lt;platform&amp;gt;&amp;lt;/code&amp;gt; tag specifies which platforms (operating systems, hardware) this add-on runs on. Many add-ons will run on all platforms, so &amp;lt;code&amp;gt;all&amp;lt;/code&amp;gt; is an option. If the platform tag is missing, we assume the add-on runs on all platforms. A combination of these is also possible. Currently available options are:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;all&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;linux&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;osx&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;osx64&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;osx32&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;ios&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;windx&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;android&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;platform&amp;gt;all&amp;lt;/platform&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;language&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;&amp;lt;language&amp;gt;&amp;lt;/code&amp;gt; elements indicate the language(s) of the &#039;&#039;content&#039;&#039; provided by your add-on. It applies to plugins, scripts, scrapers etc. This allows browsing the add-on list by language. When there is no specific language provided in your content, leave it blank.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;language&amp;gt;en de fr&amp;lt;/language&amp;gt;&lt;br /&gt;
    or&lt;br /&gt;
&amp;lt;language&amp;gt;&amp;lt;/language&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;license&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;&amp;lt;license&amp;gt;&amp;lt;/code&amp;gt; element indicates what license is used for this add-on.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;license&amp;gt;GNU GENERAL PUBLIC LICENSE. Version 2, June 1991&amp;lt;/license&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;forum&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;&amp;lt;forum&amp;gt;&amp;lt;/code&amp;gt; element provides the forum thread URL for this specific add-on. Leave this blank if there is no forum thread.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;forum&amp;gt;http://www.myaddonwebsite.com/forum.php?thread=12345&amp;lt;/forum&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;website&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;&amp;lt;website&amp;gt;&amp;lt;/code&amp;gt; element provides the website URL for this specific add-on.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;website&amp;gt;http://www.myaddonwebsite.com/&amp;lt;/website&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;nowiki&amp;gt;&amp;lt;source&amp;gt;&amp;lt;/nowiki&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;source&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; element provides the URL for the source code for this specific add-on.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;source&amp;gt;http://github.com/someone/myaddon&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;email&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;&amp;lt;email&amp;gt;&amp;lt;/code&amp;gt; element provides the email address of the author if he wishes to do so for this specific add-on. Here are two examples of how you can make it look (the second one it harder for spambots to use). This can be left blank if you do not want to make your email address public.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;email&amp;gt;foo@bar.com&amp;lt;/email&amp;gt;&lt;br /&gt;
    or&lt;br /&gt;
&amp;lt;email&amp;gt;foo at bar dot com&amp;lt;/email&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;disclaimer&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
One or more &amp;lt;code&amp;gt;&amp;lt;disclaimer&amp;gt;&amp;lt;/code&amp;gt; elements that indicate what (if any) things the user should know about the add-on. There is no need to have a disclaimer if you don&#039;t want one, though if something requires settings, or only works in a particular country then you may want to state this here. It may be translated into multiple languages.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;disclaimer lang=&amp;quot;en&amp;quot;&amp;gt;Feel free to use this script. For information visit the wiki.&amp;lt;/disclaimer&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;broken&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;&amp;lt;broken&amp;gt;&amp;lt;/code&amp;gt; tag will mark the add-on as broken in the Kodi repo and provide the reason why. You don&#039;t need to do a version bump for this to work. However a bump is recommended as you could also add this to the changelog.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;broken&amp;gt;deprecated&amp;lt;/broken&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Skin specific elements ==&lt;br /&gt;
=== Overview ===&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
|  &#039;&#039;&#039;effectslowdown&#039;&#039;&#039;&lt;br /&gt;
|  A multiplier that is applied to all &amp;lt;animation&amp;gt; effect lengths in the skin. Useful to slow down all animations globally so that you can better configure timings and see interactions between animating controls.&lt;br /&gt;
|- &lt;br /&gt;
|  &#039;&#039;&#039;debugging&#039;&#039;&#039;&lt;br /&gt;
|  When set to true, it&#039;ll display onscreen debug information (xml filename, mouse position and focused control type and name) in the skin.&lt;br /&gt;
|- &lt;br /&gt;
|  &#039;&#039;&#039;res&#039;&#039;&#039;&lt;br /&gt;
|  Support for arbitrary skin resolutions.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== How window xml files are found ===&lt;br /&gt;
&lt;br /&gt;
Kodi can run in many differing resolutions, and a skin should try and cater to all these resolutions. The easiest way is to develop for one specific resolution and make sure that all controls contain &amp;lt;width&amp;gt; and &amp;lt;height&amp;gt; tags. That way, Kodi can scale the controls to the new screen resolution.&lt;br /&gt;
&lt;br /&gt;
However, you may choose to develop alternative window xml files for differing resolutions (such as for HDTV resolutions, or for widescreen versus 4x3 resolutions).&lt;br /&gt;
&lt;br /&gt;
The order that Kodi looks for it&#039;s skin files are as follows:&lt;br /&gt;
&lt;br /&gt;
# It first looks in the current screenmode folder (one of 1080i, 720p, NTSC16x9, NTSC, PAL16x9 or PAL)&lt;br /&gt;
# If the current screenmode is 1080i and there&#039;s no 1080i folder, it then looks in the 720p folder.&lt;br /&gt;
# Finally, it looks in the &#039;&#039;&#039;res&#039;&#039;&#039; folder.&lt;br /&gt;
&lt;br /&gt;
This allows you to just put any window files that do not require special treatment for 16x9 resolutions etc. in the &amp;lt;defaultresolution&amp;gt; folder, preventing needless repetition.&lt;br /&gt;
&lt;br /&gt;
= Examples =&lt;br /&gt;
&lt;br /&gt;
== addon.xml for skins ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
﻿&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;addon&lt;br /&gt;
  id=&amp;quot;skin.confluence&amp;quot;&lt;br /&gt;
  version=&amp;quot;2.1.3&amp;quot;&lt;br /&gt;
  name=&amp;quot;Confluence&amp;quot;&lt;br /&gt;
  provider-name=&amp;quot;Jezz_X, Team Kodi&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;requires&amp;gt;&lt;br /&gt;
    &amp;lt;import addon=&amp;quot;xbmc.gui&amp;quot; version=&amp;quot;4.0.0&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/requires&amp;gt;&lt;br /&gt;
  &amp;lt;extension&lt;br /&gt;
    point=&amp;quot;xbmc.gui.skin&amp;quot;&lt;br /&gt;
    debugging=&amp;quot;false&amp;quot;&lt;br /&gt;
    effectslowdown=&amp;quot;0.75&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;res width=&amp;quot;1280&amp;quot; height=&amp;quot;720&amp;quot; aspect=&amp;quot;16:9&amp;quot; default=&amp;quot;true&amp;quot; folder=&amp;quot;720p&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;/extension&amp;gt;&lt;br /&gt;
  &amp;lt;extension point=&amp;quot;xbmc.addon.metadata&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;summary lang=&amp;quot;en&amp;quot;&amp;gt;Confluence skin by Jezz_X. (Kodi&#039;s default skin)&amp;lt;/summary&amp;gt;&lt;br /&gt;
    &amp;lt;description lang=&amp;quot;en&amp;quot;&amp;gt;Confluence is the default skin for Kodi 9.11 and above. It is a combination of concepts from many popular skins, and attempts to embrace and integrate their good ideas into a skin that should be easy for first time Kodi users to understand and use.&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;disclaimer lang=&amp;quot;en&amp;quot;&amp;gt;Confluence is the default skin for Kodi, removing it may cause issues&amp;lt;/disclaimer&amp;gt;&lt;br /&gt;
    &amp;lt;platform&amp;gt;all&amp;lt;/platform&amp;gt;&lt;br /&gt;
    &amp;lt;license&amp;gt;GNU GENERAL PUBLIC LICENSE. Version 2, June 1991&amp;lt;/license&amp;gt;&lt;br /&gt;
    &amp;lt;forum&amp;gt;&amp;lt;/forum&amp;gt;&lt;br /&gt;
    &amp;lt;website&amp;gt;&amp;lt;/website&amp;gt;&lt;br /&gt;
    &amp;lt;email&amp;gt;&amp;lt;/email&amp;gt;&lt;br /&gt;
    &amp;lt;source&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
  &amp;lt;/extension&amp;gt;&lt;br /&gt;
&amp;lt;/addon&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
One thing to note is that &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;all tag names are lower case.&amp;lt;/font&amp;gt; XML tag names are case sensitive!&lt;br /&gt;
&lt;br /&gt;
== addon.xml for scripts ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;yes&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;addon&lt;br /&gt;
    id=&amp;quot;script.artwork.downloader&amp;quot;&lt;br /&gt;
    name=&amp;quot;Artwork Downloader&amp;quot;&lt;br /&gt;
    version=&amp;quot;12.0.12&amp;quot;&lt;br /&gt;
    provider-name=&amp;quot;Martijn&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;requires&amp;gt;&lt;br /&gt;
    &amp;lt;import addon=&amp;quot;xbmc.python&amp;quot;                 version=&amp;quot;2.1.0&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;import addon=&amp;quot;xbmc.json&amp;quot;                   version=&amp;quot;6.0.0&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;import addon=&amp;quot;xbmc.addon&amp;quot;                  version=&amp;quot;12.0.0&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;import addon=&amp;quot;script.module.elementtree&amp;quot;   version=&amp;quot;1.2.7&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;import addon=&amp;quot;script.module.simplejson&amp;quot;    version=&amp;quot;2.0.10&amp;quot; optional=&amp;quot;true&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;import addon=&amp;quot;script.common.plugin.cache&amp;quot;  version=&amp;quot;1.3.0&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/requires&amp;gt;&lt;br /&gt;
  &amp;lt;extension point=&amp;quot;xbmc.python.script&amp;quot;         library=&amp;quot;default.py&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;provides&amp;gt;executable&amp;lt;/provides&amp;gt;&lt;br /&gt;
  &amp;lt;/extension&amp;gt;&lt;br /&gt;
  &amp;lt;extension point=&amp;quot;xbmc.service&amp;quot; library=&amp;quot;service.py&amp;quot; start=&amp;quot;login&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;extension point=&amp;quot;xbmc.addon.metadata&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;summary lang=&amp;quot;en&amp;quot;&amp;gt;Downloads Artwork for TV shows, Movies and Musicvideos in your library&amp;lt;/summary&amp;gt;&lt;br /&gt;
    &amp;lt;description lang=&amp;quot;en&amp;quot;&amp;gt;Downloads all available artwork for TV shows, Movies and Musicvideos in your library. Check the options for supported artwork[CR]Artwork sources:[CR]www.fanart.tv[CR]www.thetvdb.com[CR]www.themoviedb.org[CR]Remark:[CR]Check your skin to see what type of artwork is supported![CR]Each TV Show/Movie must have its own folder![CR]Skin integration:[CR]See readme file&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;disclaimer lang=&amp;quot;en&amp;quot;&amp;gt;For bugs, requests or general questions visit the Artwork Downloader thread on the Kodi forum.&amp;lt;/disclaimer&amp;gt;&lt;br /&gt;
    &amp;lt;language&amp;gt;&amp;lt;/language&amp;gt;&lt;br /&gt;
    &amp;lt;platform&amp;gt;all&amp;lt;/platform&amp;gt;&lt;br /&gt;
    &amp;lt;license&amp;gt;GNU GENERAL PUBLIC LICENSE. Version 2, June 1991&amp;lt;/license&amp;gt;&lt;br /&gt;
    &amp;lt;forum&amp;gt;&amp;lt;/forum&amp;gt;&lt;br /&gt;
    &amp;lt;website&amp;gt;&amp;lt;/website&amp;gt;&lt;br /&gt;
    &amp;lt;email&amp;gt;&amp;lt;/email&amp;gt;&lt;br /&gt;
    &amp;lt;source&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
  &amp;lt;/extension&amp;gt;&lt;br /&gt;
&amp;lt;/addon&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Schema Definition =&lt;br /&gt;
&lt;br /&gt;
The XML schema definition for &amp;lt;code&amp;gt;addon.xml&amp;lt;/code&amp;gt; is located [https://github.com/xbmc/xbmc/blob/master/addons/xbmc.addon/metadata.xsd here].&lt;br /&gt;
&lt;br /&gt;
{{frodo updated}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Add-on development]]&lt;br /&gt;
[[Category:Skin development]]&lt;/div&gt;</summary>
		<author><name>Martijn</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Add-on_structure&amp;diff=111208</id>
		<title>Add-on structure</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Add-on_structure&amp;diff=111208"/>
		<updated>2015-12-28T08:39:32Z</updated>

		<summary type="html">&lt;p&gt;Martijn: /* changelog.txt */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav|[[Development]]|[[Add-on development]]}}&lt;br /&gt;
&lt;br /&gt;
This page summarizes the add-ons system introduced in the Dharma release (v10) of XBMC.  This system allows 3rd party-developed enhancements to Kodi to be distributed to Kodi users directly from inside the Kodi interface.&lt;br /&gt;
&lt;br /&gt;
The add-ons system is based on the plugin library [http://www.c-pluff.org c-pluff].&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
Each add-on is kept in its own folder, and is described via an XML file named &amp;lt;code&amp;gt;addon.xml&amp;lt;/code&amp;gt;.  In addition, some other files can also come with the add-on, such as &amp;lt;code&amp;gt;icon.png&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;changelog.txt&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;fanart.jpg&amp;lt;/code&amp;gt;.  These are all optional, though we encourage you to at least have &amp;lt;code&amp;gt;icon.png&amp;lt;/code&amp;gt;.  All of these reside in the &amp;quot;root&amp;quot; of the folder that contains the add-on.  Additional data may be contained within a &amp;lt;code&amp;gt;resources/&amp;lt;/code&amp;gt; subfolder, such as language translations and descriptions of settings.&lt;br /&gt;
&lt;br /&gt;
When installed, the whole add-on folder will be placed inside &amp;lt;code&amp;gt;.xbmc/addons/&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Directory Name ==&lt;br /&gt;
&lt;br /&gt;
Your directory name should follow this convention: &amp;lt;code&amp;gt;&amp;lt;addon-type&amp;gt;[.&amp;lt;media-type&amp;gt;].&amp;lt;your-plugin-name&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Each name part is case sensitive and must be in lower case. The dot character separates each name part; you can use further dots to separate things in your plugin name if you wish. Alternatively, you may use a hyphen (-). No other non-alphanumeric characters should be used.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;addon-type&amp;lt;/code&amp;gt; is one of the following:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!Add-on Type&lt;br /&gt;
!Description&lt;br /&gt;
!Media Type Required?&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;repository&amp;lt;/code&amp;gt;&lt;br /&gt;
|A repository definition file that allows users to add new repositories to the Kodi addon manager.&lt;br /&gt;
|No&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;plugin&amp;lt;/code&amp;gt;&lt;br /&gt;
|A plugin script or module that adds to the functionality of XBMC. Plugins appear under the relevant media section of the main home menu.&lt;br /&gt;
|&#039;&#039;&#039;Yes&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;script&amp;lt;/code&amp;gt;&lt;br /&gt;
|A runnable program file that will appear in the Program section of the main home menu.&lt;br /&gt;
|&#039;&#039;&#039;Yes&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;skin&amp;lt;/code&amp;gt;&lt;br /&gt;
|An Kodi skin definition and its supporting script files.&lt;br /&gt;
|No&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;resource&amp;lt;/code&amp;gt;&lt;br /&gt;
|An addon that will provide additional files (language files, images, [[sounds.xml|uisounds]]).&lt;br /&gt;
|No&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The following table describes the available &amp;lt;code&amp;gt;media-type&amp;lt;/code&amp;gt;s for the available add-on types. Your add-on may provide more than one &amp;lt;code&amp;gt;media-type&amp;lt;/code&amp;gt; if&lt;br /&gt;
you wish, whereby it will appear in more than one section. In most cases, however, a single media type will suffice, and it may be preferable to have multiple add-ons each providing a single media type rather than one add-on that tries to do it all.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!Add-on Type&lt;br /&gt;
!Media Type&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;plugin&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;audio&amp;lt;/code&amp;gt;&lt;br /&gt;
|A music add-on that will appear in the Music main menu.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;plugin&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;video&amp;lt;/code&amp;gt;&lt;br /&gt;
|A video add-on that will appear in the Video main menu.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;plugin&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;picture&amp;lt;/code&amp;gt;&lt;br /&gt;
|A picture add-on that will appear in the Pictures main menu.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;plugin&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;weather&amp;lt;/code&amp;gt;&lt;br /&gt;
|A weather add-on that will appear in the Weather main menu.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;script&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;module&amp;lt;/code&amp;gt;&lt;br /&gt;
|A script plugin that will not appear under a category or within the Add-ons manager, but provides support for other add-ons.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;script&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;service&amp;lt;/code&amp;gt;&lt;br /&gt;
|A script that will be run at either login or startup&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The add-on name is up to you, but be sure that it isn&#039;t already in use by another add-on. For instance, if you are creating an add-on that integrates the Gpodder software with Kodi for audio podcasts you might name your directory &amp;lt;code&amp;gt;plugin.audio.gpodder-xbmc3&amp;lt;/code&amp;gt;. If you are creating a screen scraper to present TV shows from MyGreatTv.com. It might be &amp;lt;code&amp;gt;plugin.video.my-great-tv-com&amp;lt;/code&amp;gt;. A script to ping all your friends on twitter to tell them you are home might be called&lt;br /&gt;
&amp;lt;code&amp;gt;script.service.ping-twits-i-am-home&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Directory structure ==&lt;br /&gt;
&lt;br /&gt;
Your directory contains all the resources needed to operate your add-on. The directory must be considered read-only and should not be used for storing transient or inter-session data. Other mechanisms are available to do that (more later). The directory should be structured as follows:&lt;br /&gt;
&lt;br /&gt;
 addon.py&lt;br /&gt;
 addon.xml&lt;br /&gt;
 changelog.txt&lt;br /&gt;
 fanart.jpg&lt;br /&gt;
 icon.png&lt;br /&gt;
 LICENSE.txt&lt;br /&gt;
 resources/&lt;br /&gt;
   settings.xml&lt;br /&gt;
   language/&lt;br /&gt;
   lib/&lt;br /&gt;
   data/&lt;br /&gt;
   media/&lt;br /&gt;
&lt;br /&gt;
Other files may be required to run your add-on, if your add-on becomes more complex. It is considered good practice to place various add-on resources and support code modules in the &amp;lt;code&amp;gt;lib/&amp;lt;/code&amp;gt; folder. If those libs are commonly used by multiple add-ons, consider adding them as a separate add-on, e.g. &amp;lt;code&amp;gt;script.module.foo&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The most important thing to remember from this is that everything that doesn&#039;t need to be in the root of your directory is considered a resource and should be placed inside &amp;lt;code&amp;gt;resources/&amp;lt;/code&amp;gt; or one of its subdirectories. Also remember, all the above is a &#039;&#039;recommended&#039;&#039; outline for your add-on; if you need fewer or more&lt;br /&gt;
directories to organise your work, just change it. For instance, skins are add-ons that will require more directories than this.&lt;br /&gt;
&lt;br /&gt;
=== addon.py ===&lt;br /&gt;
&lt;br /&gt;
This will contain the main Python code for your add-on. You can name it whatever you want, since you&#039;ll define this Python file in &amp;lt;code&amp;gt;[[addon.xml]]&amp;lt;/code&amp;gt; as your main script file.&lt;br /&gt;
&lt;br /&gt;
=== addon.xml ===&lt;br /&gt;
{{See also|addon.xml}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;addon.xml&amp;lt;/code&amp;gt; gives Kodi important metadata about your add-on, such as:&lt;br /&gt;
* what the add-on provides&lt;br /&gt;
* what the add-on relies on to work&lt;br /&gt;
* what script to run when it is fired up (if it is meant to be started)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== changelog.txt ===&lt;br /&gt;
&lt;br /&gt;
A text file that contains a description of the changes you make to the add-on for each release.  This is displayed in the Kodi addon installation/update system. The recommended format is to have it sorted by version in descending order, with a simple description as to the major changes (new functionality, big fixes, etc) in each version. (In the author&#039;s opinion, too many add-ons skip this piece of information, making it difficult for users to determine whether a particular problem that&lt;br /&gt;
they may have been having has been fixed or not.)&lt;br /&gt;
&lt;br /&gt;
Here is a sample&lt;br /&gt;
&amp;lt;code&amp;gt;changelog.txt:&lt;br /&gt;
&lt;br /&gt;
 v0.1.3 (2015-12-25)&lt;br /&gt;
 - Update with 15.0 Isengard&lt;br /&gt;
 &lt;br /&gt;
 v0.1.2  (2014-1-15)&lt;br /&gt;
 - Add notification for Ubuntu users checking through apt command&lt;br /&gt;
 &lt;br /&gt;
 v0.1.1  (2014-1-1)&lt;br /&gt;
 - Initial version&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It is recommend to add a date so users know when last update was done. Best is to use YYYY-MM-DD as this is the least confusing way of dat notation.&lt;br /&gt;
&lt;br /&gt;
=== icon.png ===&lt;br /&gt;
&lt;br /&gt;
This is an icon used to represent your add-on in various parts of XBMC. In order to keep a coherent look and give the skinner a good idea how the icons of the add-ons look, we have defined the following rules:&lt;br /&gt;
&lt;br /&gt;
* The icon size must be 256x256 pixels.&lt;br /&gt;
* File format is PNG.&lt;br /&gt;
* Background must be 100% solid. That doesn&#039;t mean one color, it also can be a gradient or a low contrast texture. Just make sure there is no transparency.&lt;br /&gt;
* Keep the logo as simple a possible, no exaggerated 3D effects or high contrast textures.&lt;br /&gt;
* Use a padding of at least 25px for your logo (not the background!). Excepted are large text logos (see icon for themoviedb.org).&lt;br /&gt;
* Keep text to a minimum. However, a text logo along with the graphical logo is recommended in order to easily recognize the addon.&lt;br /&gt;
* Don&#039;t mix logos with XBMC&#039;s logo; it&#039;s obvious that we&#039;re talking about Kodi here.&lt;br /&gt;
* Don&#039;t add borders or any overlays, that&#039;s the skinner&#039;s job. However, if borders are an element of your logo, make sure there is enough padding.&lt;br /&gt;
* It is suggested that a logo on a plain background (non-transparent) is best in many situations (e.g. for addons that retrieve media from an online service, use that service&#039;s logo &#039;&#039;as long as you are free to do so&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
=== fanart.jpg ===&lt;br /&gt;
&lt;br /&gt;
This helps to keep Kodi graphically rich when browsing and using add-ons. Some simple guidelines:&lt;br /&gt;
&lt;br /&gt;
* It should be 16:9 aspect ratio&lt;br /&gt;
* It is intended for the background, so should be simple and without text where reasonable.&lt;br /&gt;
* We recommend a 1280x720 JPEG image.  It should certainly be no larger than 1920x1080.&lt;br /&gt;
* We recommend keeping it as small as is reasonable with respect to file-size.  Remember that hundreds of thousands of users are going to be downloading this.&lt;br /&gt;
&lt;br /&gt;
=== LICENSE.txt ===&lt;br /&gt;
{{See also|Submitting_Add-ons#Repository_Submission_Guidelines_-_Please_Read_Before_Submitting_Your_Addon|label 1=Repository guidelines}}&lt;br /&gt;
&lt;br /&gt;
This file should contain the text of whatever software license you&#039;ve chosen to release your add-on under (e.g. GPLv2).&lt;br /&gt;
&lt;br /&gt;
=== resources/ ===&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;resources/&amp;lt;/code&amp;gt; subdirectory is the preferred place to put any files that the add-on uses that don&#039;t need to be stored in the root directory. For instance, translations, software libraries, and image resources would go in &amp;lt;code&amp;gt;resources/&amp;lt;/code&amp;gt; or one of its subdirectories.&lt;br /&gt;
&lt;br /&gt;
==== resources/settings.xml ====&lt;br /&gt;
{{See also|Add-on settings}}&lt;br /&gt;
&lt;br /&gt;
This is an XML file that defines the user-configurable settings used by the add-on. The file defines the names and types of the settings, and how they should appear in the settings dialog for the add-on.&lt;br /&gt;
&lt;br /&gt;
==== resources/language/ ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Translation tools:&#039;&#039;&#039;&lt;br /&gt;
* [[Language support]]&lt;br /&gt;
* [[Translation System]]&lt;br /&gt;
* Convert .xml to .po: [https://github.com/alanwww1/xbmc-xml2po xbmc-xml2po]&lt;br /&gt;
* Check for .po files: [https://github.com/alanwww1/xbmc-checkpo xbmc-checkpo]&lt;br /&gt;
* Utility for keeping Kodi upstream language files and the language files hosted on transifex.com in sync: [https://github.com/alanwww1/xbmc-txupdate xbmc-txupdate]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;String ID range:&#039;&#039;&#039;&lt;br /&gt;
* strings 30000 thru 30999 reserved for plugins and plugin settings&lt;br /&gt;
* strings 31000 thru 31999 reserved for skins&lt;br /&gt;
* strings 32000 thru 32999 reserved for scripts&lt;br /&gt;
* strings 33000 thru 33999 reserved for common strings used in add-ons&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;strings.po&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{{note|strings.xml will possibly be deprecated after the release of Frodo/Gotham. Frodo and Gotham will still be backwards compatible with .xml}}&lt;br /&gt;
&lt;br /&gt;
==== resources/lib/ ====&lt;br /&gt;
&lt;br /&gt;
Put any module definitions or third party software libraries into this directory.&lt;br /&gt;
&lt;br /&gt;
==== resources/data/ ====&lt;br /&gt;
&lt;br /&gt;
Store any other static data structures your application requires here. Examples might be&lt;br /&gt;
XLT/XSD files or static XML files that contain lookup tables etc.&lt;br /&gt;
&lt;br /&gt;
==== resources/media/ ====&lt;br /&gt;
&lt;br /&gt;
Store any static media (picture, audio, video etc.) files in this directory.&lt;br /&gt;
&lt;br /&gt;
== Getting started ==&lt;br /&gt;
&lt;br /&gt;
Following pages will explain in more depth to get started. Providing examples, background information and useful links.&lt;br /&gt;
&lt;br /&gt;
* [[Python development]]&lt;br /&gt;
* [[Skinning]]&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[Add-ons]]&lt;br /&gt;
* [[:Category:All add-ons]]&lt;br /&gt;
* [[3rd party add-on repositories]]&lt;br /&gt;
&#039;&#039;&#039;Development:&#039;&#039;&#039;&lt;br /&gt;
* [[Add-on development]]&lt;br /&gt;
* [[Addon Settings]]&lt;br /&gt;
* [[Python development]]&lt;br /&gt;
* [[Skinning]]&lt;br /&gt;
* [[Add-on repositories]]&lt;br /&gt;
* [[Official add-on repository]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Add-on development]]&lt;/div&gt;</summary>
		<author><name>Martijn</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=HOW-TO:Install_Kodi_for_Windows&amp;diff=109843</id>
		<title>HOW-TO:Install Kodi for Windows</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=HOW-TO:Install_Kodi_for_Windows&amp;diff=109843"/>
		<updated>2015-12-26T15:37:48Z</updated>

		<summary type="html">&lt;p&gt;Martijn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav| [[Windows]] }}&lt;br /&gt;
&lt;br /&gt;
{{Kodi migration note}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Installing of {{kodi}} for Windows ==&lt;br /&gt;
&lt;br /&gt;
The installation of {{kodi}} for Windows is straightforward like most other Windows applications.&lt;br /&gt;
&lt;br /&gt;
Download the latest version from [http://kodi.tv/download/ http://kodi.tv/download/]. After download open the .exe file after which you will get the installation dialog. Simply follow the shown installation screen after which the installation will begin. For most users the offered default settings are sufficient, if not, change them accordingly if you are sure you have to.&lt;br /&gt;
&lt;br /&gt;
{{youtube|pfV9Z691n40}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you have [https://chocolatey.org/ Chocolatey] installed you can run &amp;lt;pre&amp;gt;cinst xbmc&amp;lt;/pre&amp;gt; from an elevated command line or powershell instance.&lt;br /&gt;
&lt;br /&gt;
After the installation you can immediately start using Kodi. To start Kodi, find it under the Windows &#039;&#039;&#039;Start&#039;&#039;&#039; button in a &#039;&#039;&#039;Program Group&#039;&#039;&#039; called &#039;&#039;&#039;Kodi&#039;&#039;&#039;. or simply use the desktop icon.&lt;br /&gt;
&lt;br /&gt;
You can use the keyboard, mouse or remote control to navigate through the program. Add one or more sources in Videos, Music and/or Photos, see [[Media Sources]] and you are ready to play your media. For more information you can visit the main [[Main Page|wiki page]].&lt;br /&gt;
&lt;br /&gt;
== Uninstalling of {{kodi}} for Windows ==&lt;br /&gt;
Go to &amp;quot;&#039;&#039;Add or Remove Programs&#039;&#039;&amp;quot; in the &amp;quot;&#039;&#039;Control Panel&#039;&#039;&amp;quot; under Windows then choose to remove &amp;quot;&#039;&#039;{{kodi}}&#039;&#039;&amp;quot;. You can also find it under the Windows &#039;&#039;&#039;Start&#039;&#039;&#039; button in a &#039;&#039;&#039;Program Group&#039;&#039;&#039; called &#039;&#039;&#039;Kodi&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Upgrading {{kodi}} for Windows ==&lt;br /&gt;
Unless your copy of {{kodi}} is more than two years old, simply installing a newer version of {{kodi}} over an older version should cause no problems. If you are upgrading your copy of {{kodi}}, it is ALWAYS recommended that you backup your data: [[Backup]].&lt;br /&gt;
&lt;br /&gt;
{{Helix updated}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Manual]]&lt;br /&gt;
[[Category:Installation|Windows]]&lt;br /&gt;
[[Category:Windows]]&lt;br /&gt;
[[Category:How-to]]&lt;/div&gt;</summary>
		<author><name>Martijn</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=HOW-TO:Install_Kodi_for_Android&amp;diff=109842</id>
		<title>HOW-TO:Install Kodi for Android</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=HOW-TO:Install_Kodi_for_Android&amp;diff=109842"/>
		<updated>2015-12-26T15:35:16Z</updated>

		<summary type="html">&lt;p&gt;Martijn: /* Google Play */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav| [[Android]] }}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;intro&amp;quot; /&amp;gt;This page describes how to install Kodi, either from an app &amp;quot;store&amp;quot; such as Google Play, or manually from an APK file.&amp;lt;section end=&amp;quot;intro&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Installing Kodi from an app store =&lt;br /&gt;
&lt;br /&gt;
== Google Play ==&lt;br /&gt;
&lt;br /&gt;
Kodi is now available on Google Play: &lt;br /&gt;
&lt;br /&gt;
{{Google Play}}&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;https://play.google.com/store/apps/details?id=org.xbmc.kodi&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Google Play will automatically select which version (ARM or x86) of Kodi you need, and will also automatically handle updates (unless you change your Google Play preferences). &lt;br /&gt;
&lt;br /&gt;
{{isengard note|Initially, Kodi v15 Beta/Release Candidates are being posted on Google Play. Once the final &amp;quot;stable&amp;quot; version of v15 is released, then Google Play will only update for stable releases, like v15.0, v15.1, v16.0, etc. This is because current v15 &amp;quot;unstable&amp;quot; builds are actually a little more stable than v14.2 for Android users, due to the various Android-specific changes and fixes.}}&lt;br /&gt;
&lt;br /&gt;
{{youtube|hmO_qVDoXCk}}&lt;br /&gt;
&lt;br /&gt;
= Manual installation =&lt;br /&gt;
&lt;br /&gt;
== Enabling installation ==&lt;br /&gt;
Here&#039;s how to install Kodi from an .APK file. This is commonly known as &amp;quot;sideloading&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;500px&amp;quot; heights=&amp;quot;313&amp;quot;&amp;gt;&lt;br /&gt;
File:Android install step01.jpg|{{big|&#039;&#039;&#039;Step 1:&#039;&#039;&#039;}} First located the settings menu on your Android device and search for the &amp;quot;security&amp;quot; menu.&lt;br /&gt;
File:Android install step02.jpg|{{big|&#039;&#039;&#039;Step 2:&#039;&#039;&#039;}} Now enable &amp;quot;Unknown sources&amp;quot; option. This will allow you to directly install Kodi as easy as you would install it from Play Store.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Download ==&lt;br /&gt;
Download Kodi for Android from our servers. Official stable builds can be found here: &#039;&#039;&#039;http://kodi.tv/download/&#039;&#039;&#039; You need to either select the &#039;&#039;&#039;ARM&#039;&#039;&#039; or &#039;&#039;&#039;x86&#039;&#039;&#039; version depending on your hardware.&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;500px&amp;quot; heights=&amp;quot;313px&amp;quot;&amp;gt;&lt;br /&gt;
File:Android_install_step03.png|{{big|&#039;&#039;&#039;Step 1:&#039;&#039;&#039;}} Load up &#039;&#039;&#039;http://kodi.tv/download/&#039;&#039;&#039; in your Android web browser. Most users will want to use the &#039;&#039;&#039;ARM&#039;&#039;&#039; link, unless you have an Intel or AMD CPU. You may get a warning trying to download the file depending on which browser you use. You should say &amp;quot;OK&amp;quot; to actually download it.&lt;br /&gt;
File:Android_install_step04.png|{{big|&#039;&#039;&#039;Step 2:&#039;&#039;&#039;}} Wait for the &amp;quot;apk&amp;quot; to download.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Install ==&lt;br /&gt;
Installing the Kodi app package is as simple as just finding the .apk you just downloaded and opening it up. You can do this either though the download menu in the web browser or selecting it with a file explorer.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;500px&amp;quot; heights=&amp;quot;313px&amp;quot;&amp;gt;&lt;br /&gt;
File:Android install step05.png| {{big|&#039;&#039;&#039;Step 1:&#039;&#039;&#039;}} After selecting the Kodi apk file you might be asked to select something to open it with. &amp;quot;Package installer&amp;quot;, &amp;quot;Google Play&amp;quot;, or some similar option will be what you want.&lt;br /&gt;
File:Android install step06.png| {{big|&#039;&#039;&#039;Step 2:&#039;&#039;&#039;}} You will get another confirmation screen where you will need to select &amp;quot;install&amp;quot;.&lt;br /&gt;
File:Android install step07.png| {{big|&#039;&#039;&#039;Step 3:&#039;&#039;&#039;}} Wait for the installation to complete.&lt;br /&gt;
File:Android install step08.png| {{big|&#039;&#039;&#039;Step 4:&#039;&#039;&#039;}} You&#039;ve now installed Kodi for Android!&lt;br /&gt;
File:Android install step09.png| {{big|&#039;&#039;&#039;First run:&#039;&#039;&#039;}} The first time you run Kodi it will take slightly longer than normal in order to finish some final installation steps. When it is done Kodi will open normally. This is only done once per installation/update, so the next time Kodi will start up a little faster.&lt;br /&gt;
File:Android install step10.png| {{big|&#039;&#039;&#039;All done!:&#039;&#039;&#039;}} Once started you are on Kodi home menu just like on any other platform.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you are new to Kodi you might wish to check out this section of the wiki: &#039;&#039;&#039;[[First time user]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Tidy up ==&lt;br /&gt;
&lt;br /&gt;
After Kodi has installed you can delete the downloaded Kodi APK file to save some disk space.&lt;br /&gt;
&lt;br /&gt;
== Update ==&lt;br /&gt;
{{Kodi migration note}}&lt;br /&gt;
&lt;br /&gt;
To update Kodi for Android simply follow the normal install steps with the newer version. All your settings and files will be preserved as they are located in a different place in the userdata folder. Be sure to make a backup of the userdata folder when doing updates in case something goes wrong.&lt;br /&gt;
&lt;br /&gt;
{{note|Since Kodi for Android is signed with our own signatures you will be able to install all succeeding versions without a problem. If you are using a non-official version not signed by us you may be required to un-install Kodi and you will loose all your settings due to this. Be warned before trying.}}&lt;br /&gt;
&lt;br /&gt;
== Uninstall ==&lt;br /&gt;
&lt;br /&gt;
To un-install Kodi just go to your Android settings menu and select &amp;quot;apps&amp;quot;. From there you will be able to un-install Kodi like any other Android app.&lt;br /&gt;
&lt;br /&gt;
{{note|Unlike other OSes, uninstalling Kodi on Android will also erase your [[userdata folder]] and all of your settings.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;500px&amp;quot; heights=&amp;quot;313px&amp;quot;&amp;gt;&lt;br /&gt;
File:Android install step13.jpg| {{big|&#039;&#039;&#039;Step 1:&#039;&#039;&#039;}} Go into your Android &amp;quot;Settings&amp;quot; app and then select &amp;quot;Apps&amp;quot;.&lt;br /&gt;
File:Android install step14.jpg| {{big|&#039;&#039;&#039;Step 2:&#039;&#039;&#039;}} Select Kodi from the list.&lt;br /&gt;
File:Android install step15.jpg| {{big|&#039;&#039;&#039;Step 3:&#039;&#039;&#039;}} Select uninstall and confirm.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[Android]]&lt;br /&gt;
* [[Android FAQ]]&lt;br /&gt;
* [[Android hardware]]&lt;br /&gt;
&lt;br /&gt;
{{Isengard updated}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Manual]]&lt;br /&gt;
[[Category:Installation|Android]]&lt;br /&gt;
[[Category:Android]]&lt;br /&gt;
[[Category:How-to]]&lt;/div&gt;</summary>
		<author><name>Martijn</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Submitting_Add-ons&amp;diff=109619</id>
		<title>Submitting Add-ons</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Submitting_Add-ons&amp;diff=109619"/>
		<updated>2015-12-19T15:34:01Z</updated>

		<summary type="html">&lt;p&gt;Martijn: /* Allowed submissions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav|[[Development]]|[[Add-on development]]}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Submitting a Compliant Add-on to the Kodi.tv Repo ===&lt;br /&gt;
&lt;br /&gt;
After you have read the [[Add-on rules|repository guidelines]] and made sure your addon is compliant with them, you may begin the submission process using the following steps.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Allowed submissions ===&lt;br /&gt;
&lt;br /&gt;
We have restricted the allowed submissions of add-ons to past Kodi versions.&lt;br /&gt;
Several reasons:&lt;br /&gt;
* Kodi code improvements&lt;br /&gt;
* Reduce support load for add-on developers&lt;br /&gt;
* Reduce workload for repository maintainers&lt;br /&gt;
&lt;br /&gt;
Below is a table of on which submissions are allowed to official Kodi repository.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ Allowed add-on submissions&lt;br /&gt;
! codename !! version !! update !! new&lt;br /&gt;
|-&lt;br /&gt;
| Dharma || 10.x || no || no&lt;br /&gt;
|-&lt;br /&gt;
| Eden || 11.x || no || no&lt;br /&gt;
|-&lt;br /&gt;
| Frodo || 12.x || no || no&lt;br /&gt;
|-&lt;br /&gt;
| Gotham || 13.x || yes || no&lt;br /&gt;
|-&lt;br /&gt;
| Helix || 14.x || yes || no&lt;br /&gt;
|-&lt;br /&gt;
| Isengard || 15.x || yes || yes&lt;br /&gt;
|-&lt;br /&gt;
| Jarvis || 16.x || yes || yes&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Additional feature is that we now use combined repositories. So if your add-on is Gotham/Helix compatible, you only need to send it to Gotham repository.&lt;br /&gt;
If it&#039;s only Helix compatible you need to send it to Helix repository.&lt;br /&gt;
This of course requires that the minimal Kodi dependencies are set accordingly.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ Which repos are used&lt;br /&gt;
! codename !! version !! repo !! repo !! repo  !! repo&lt;br /&gt;
|-&lt;br /&gt;
| Dharma || 10.x || Dharma ||  ||  ||&lt;br /&gt;
|-&lt;br /&gt;
| Eden || 11.x || Eden || ||  ||&lt;br /&gt;
|-&lt;br /&gt;
| Frodo || 12.x || Frodo || ||  ||&lt;br /&gt;
|-&lt;br /&gt;
| Gotham || 13.x || Gotham ||  ||  ||&lt;br /&gt;
|-&lt;br /&gt;
| Helix || 14.x || Gotham || Helix ||  ||&lt;br /&gt;
|-&lt;br /&gt;
| Isengard || 15.x || Gotham || Helix || Isengard  ||&lt;br /&gt;
|-&lt;br /&gt;
| Isengard || 15.x || Gotham || Helix || Isengard  || Jarvis&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{see also|Addon.xml#Dependency_versions}}&lt;br /&gt;
&lt;br /&gt;
=== The mailing list ===&lt;br /&gt;
We ask that all Add-on authors subscribe to the [https://lists.sourceforge.net/lists/listinfo/xbmc-addons Add-ons Mailing List].&lt;br /&gt;
This is done for several reasons.&lt;br /&gt;
:* This is where all updates and important information will be announced.&lt;br /&gt;
:* This way we can contact you regarding your add-ons if necessary.&lt;br /&gt;
:* You can see what other devs are requesting to be added so you know if possibly you need to check compatibility of the add-on you depend on.&lt;br /&gt;
:* You may find new and interesting add-ons this way on which you can get inspiration from or may depend on.&lt;br /&gt;
&lt;br /&gt;
After you have subscribed to the [https://lists.sourceforge.net/lists/listinfo/xbmc-addons Add-ons Mailing List] you will be send a conformation e-mail. Be sure to accept this before you can submit to the [https://lists.sourceforge.net/lists/listinfo/xbmc-addons Mailing List].&lt;br /&gt;
&lt;br /&gt;
All pull requests should be sent to this list so that repository maintainers will be notified that you want to add of update your add-on. They will do a sanity check if all seems ok and you are following the Kodi guidelines for add-ons. If any issues or questions arise they will contact you through the e-mail you registered with.&lt;br /&gt;
Once all checks out fine your add-on is added to repository and you will receive a confirmation e-mail that it is added.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{tip|To un-subscribe from the mailinglist follow the same link as [https://lists.sourceforge.net/lists/listinfo/xbmc-addons Add-ons Mailing List] and there&#039;s the option to unsubscribe at the bottom}}&lt;br /&gt;
&lt;br /&gt;
==== How to submit your add-on and subsequent updates ====&lt;br /&gt;
&lt;br /&gt;
In order to submit your addon, you must send a request that we add or update your add-on to the [https://lists.sourceforge.net/lists/listinfo/xbmc-addons Add-ons Mailing List] (We call this a &amp;quot;pull request.&amp;quot;). Each request will require a version bump in the [[addon.xml]]. We ask that you also keep a [[Add-on structure#changelog.txt|changelog.txt]] up to date so that users may easily see what has changed. &lt;br /&gt;
&lt;br /&gt;
Note that .xbt files will be generated automatically for skins so you do not include this in your pull request.&lt;br /&gt;
&lt;br /&gt;
There are several ways to request that we add or update your add-on. Please preface threads using the following conventions:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Type !! Description&lt;br /&gt;
|-&lt;br /&gt;
| [Git Pull]|| Submit a request that we pull from your repo. This should include a url, branch/tag/revision, and the addon to pull. HEAD is NOT a revision.&lt;br /&gt;
|-&lt;br /&gt;
| [SVN Pull]|| Same as [Git Pull]&lt;br /&gt;
|-&lt;br /&gt;
| [Zip Pull]|| By far the least used but still a valid way. Submit a link where the add-on zip can be downloaded from.&lt;br /&gt;
For example you can just give us the link to .zip in your dropbox account. We do not want to download it from a public download site that holds questionable content or is filled with ads.&lt;br /&gt;
|-&lt;br /&gt;
| [Patch]|| Sometimes you may wish to submit a patch to the author for review.&lt;br /&gt;
Under most circumstances we will not merge this directly, it should go to the upstream maintainer first.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
After you have send it to the mailing list please keep an eye out for any reply from our repository maintainers if there are any remarks or changes needed or a simple confirmation it has been added. Do note it might take some time to process the request.&lt;br /&gt;
&lt;br /&gt;
After it has been added or updated it will be available from the Kodi repository in Kodi itself, on http://addons.kodi.tv/ and on the wiki page http://kodi.wiki/index.php?title=Category:All_add-ons.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Note|Please locate you add-on in the root of the git repository. This to make sure we can easily pull the add-on into our repository.&lt;br /&gt;
Example: https://github.com/XBMC-Addons/service.xbmc.versioncheck}}&lt;br /&gt;
&lt;br /&gt;
==== Example e-mail ====&lt;br /&gt;
&lt;br /&gt;
Subject:&lt;br /&gt;
  [Git Pull] my.cool.plugin&lt;br /&gt;
Body:&lt;br /&gt;
  *addon -   my.cool.plugin&lt;br /&gt;
  *version - 1.1.0&lt;br /&gt;
  *url - git://some.where.git&lt;br /&gt;
  *revision - a241345a&lt;br /&gt;
  *branch - master&lt;br /&gt;
  *xbmc version - helix&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Note|If you want to request multiple add-ons to be added you can just do this in one e-mail as long as you provide the &amp;quot;Body&amp;quot; part each time for every add-on and every Kodi version you want it to be included to. In this case the subject field doesn&#039;t need to contain the add-on name. Do provide the &amp;quot;[Git Pull]&amp;quot; part at least.}}&lt;br /&gt;
&lt;br /&gt;
{{tip|At this moment Frodo/Gotham/Helix combine all repos into one single repo list in Kodi. You only need to do a request for the minimum repo your add-on supports.}}&lt;br /&gt;
&lt;br /&gt;
=== Github ===&lt;br /&gt;
&lt;br /&gt;
Alternatively, add-on updates may be submitted directly to the [[Official add-on repository]] on Github as pull requests. In addition to the [[Add-on rules|repository guidelines]] the following rules apply when submitting PRs on Github:&lt;br /&gt;
&lt;br /&gt;
* PR should contain one commit only.&lt;br /&gt;
* Commit message should have the format &amp;quot;[addonid] version&amp;quot;. Example: &amp;quot;[my.cool.addon] 1.0.1&amp;quot; &lt;br /&gt;
&lt;br /&gt;
As with mailing list, only PRs from add-on author will be accepted. Patches should be submitted upstream. For an easy way to create PR from your own git repository, see [[HOW-TO: create add-on PRs using Git Subtree Merging]].&lt;br /&gt;
&lt;br /&gt;
[[Category:Add-on development]]&lt;/div&gt;</summary>
		<author><name>Martijn</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Submitting_Add-ons&amp;diff=109618</id>
		<title>Submitting Add-ons</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Submitting_Add-ons&amp;diff=109618"/>
		<updated>2015-12-19T15:32:31Z</updated>

		<summary type="html">&lt;p&gt;Martijn: /* Allowed submissions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav|[[Development]]|[[Add-on development]]}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Submitting a Compliant Add-on to the Kodi.tv Repo ===&lt;br /&gt;
&lt;br /&gt;
After you have read the [[Add-on rules|repository guidelines]] and made sure your addon is compliant with them, you may begin the submission process using the following steps.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Allowed submissions ===&lt;br /&gt;
&lt;br /&gt;
We have restricted the allowed submissions of add-ons to past Kodi versions.&lt;br /&gt;
Several reasons:&lt;br /&gt;
* Kodi code improvements&lt;br /&gt;
* Reduce support load for add-on developers&lt;br /&gt;
* Reduce workload for repository maintainers&lt;br /&gt;
&lt;br /&gt;
Below is a table of on which submissions are allowed to official Kodi repository.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ Allowed add-on submissions&lt;br /&gt;
! codename !! version !! update !! new&lt;br /&gt;
|-&lt;br /&gt;
| Dharma || 10.x || no || no&lt;br /&gt;
|-&lt;br /&gt;
| Eden || 11.x || no || no&lt;br /&gt;
|-&lt;br /&gt;
| Frodo || 12.x || no || no&lt;br /&gt;
|-&lt;br /&gt;
| Gotham || 13.x || yes || no&lt;br /&gt;
|-&lt;br /&gt;
| Helix || 14.x || yes || no&lt;br /&gt;
|-&lt;br /&gt;
| Isengard || 15.x || yes || yes&lt;br /&gt;
|-&lt;br /&gt;
| Jarvis || 16.x || yes || yes&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Additional feature is that we now use combined repositories. So if your add-on is Gotham/Helix compatible, you only need to send it to Gotham repository.&lt;br /&gt;
If it&#039;s only Helix compatible you need to send it to Helix repository.&lt;br /&gt;
This of course requires that the minimal Kodi dependencies are set accordingly.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ Which repos are used&lt;br /&gt;
! codename !! version !! repo !! repo !! repo&lt;br /&gt;
|-&lt;br /&gt;
| Dharma || 10.x || Dharma ||  ||&lt;br /&gt;
|-&lt;br /&gt;
| Eden || 11.x || Eden || ||&lt;br /&gt;
|-&lt;br /&gt;
| Frodo || 12.x || Frodo || ||&lt;br /&gt;
|-&lt;br /&gt;
| Gotham || 13.x || Frodo || Gotham ||&lt;br /&gt;
|-&lt;br /&gt;
| Helix || 14.x || Gotham || Helix ||&lt;br /&gt;
|-&lt;br /&gt;
| Isengard || 15.x || Gotham || Helix || Isengard&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{see also|Addon.xml#Dependency_versions}}&lt;br /&gt;
&lt;br /&gt;
=== The mailing list ===&lt;br /&gt;
We ask that all Add-on authors subscribe to the [https://lists.sourceforge.net/lists/listinfo/xbmc-addons Add-ons Mailing List].&lt;br /&gt;
This is done for several reasons.&lt;br /&gt;
:* This is where all updates and important information will be announced.&lt;br /&gt;
:* This way we can contact you regarding your add-ons if necessary.&lt;br /&gt;
:* You can see what other devs are requesting to be added so you know if possibly you need to check compatibility of the add-on you depend on.&lt;br /&gt;
:* You may find new and interesting add-ons this way on which you can get inspiration from or may depend on.&lt;br /&gt;
&lt;br /&gt;
After you have subscribed to the [https://lists.sourceforge.net/lists/listinfo/xbmc-addons Add-ons Mailing List] you will be send a conformation e-mail. Be sure to accept this before you can submit to the [https://lists.sourceforge.net/lists/listinfo/xbmc-addons Mailing List].&lt;br /&gt;
&lt;br /&gt;
All pull requests should be sent to this list so that repository maintainers will be notified that you want to add of update your add-on. They will do a sanity check if all seems ok and you are following the Kodi guidelines for add-ons. If any issues or questions arise they will contact you through the e-mail you registered with.&lt;br /&gt;
Once all checks out fine your add-on is added to repository and you will receive a confirmation e-mail that it is added.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{tip|To un-subscribe from the mailinglist follow the same link as [https://lists.sourceforge.net/lists/listinfo/xbmc-addons Add-ons Mailing List] and there&#039;s the option to unsubscribe at the bottom}}&lt;br /&gt;
&lt;br /&gt;
==== How to submit your add-on and subsequent updates ====&lt;br /&gt;
&lt;br /&gt;
In order to submit your addon, you must send a request that we add or update your add-on to the [https://lists.sourceforge.net/lists/listinfo/xbmc-addons Add-ons Mailing List] (We call this a &amp;quot;pull request.&amp;quot;). Each request will require a version bump in the [[addon.xml]]. We ask that you also keep a [[Add-on structure#changelog.txt|changelog.txt]] up to date so that users may easily see what has changed. &lt;br /&gt;
&lt;br /&gt;
Note that .xbt files will be generated automatically for skins so you do not include this in your pull request.&lt;br /&gt;
&lt;br /&gt;
There are several ways to request that we add or update your add-on. Please preface threads using the following conventions:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Type !! Description&lt;br /&gt;
|-&lt;br /&gt;
| [Git Pull]|| Submit a request that we pull from your repo. This should include a url, branch/tag/revision, and the addon to pull. HEAD is NOT a revision.&lt;br /&gt;
|-&lt;br /&gt;
| [SVN Pull]|| Same as [Git Pull]&lt;br /&gt;
|-&lt;br /&gt;
| [Zip Pull]|| By far the least used but still a valid way. Submit a link where the add-on zip can be downloaded from.&lt;br /&gt;
For example you can just give us the link to .zip in your dropbox account. We do not want to download it from a public download site that holds questionable content or is filled with ads.&lt;br /&gt;
|-&lt;br /&gt;
| [Patch]|| Sometimes you may wish to submit a patch to the author for review.&lt;br /&gt;
Under most circumstances we will not merge this directly, it should go to the upstream maintainer first.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
After you have send it to the mailing list please keep an eye out for any reply from our repository maintainers if there are any remarks or changes needed or a simple confirmation it has been added. Do note it might take some time to process the request.&lt;br /&gt;
&lt;br /&gt;
After it has been added or updated it will be available from the Kodi repository in Kodi itself, on http://addons.kodi.tv/ and on the wiki page http://kodi.wiki/index.php?title=Category:All_add-ons.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Note|Please locate you add-on in the root of the git repository. This to make sure we can easily pull the add-on into our repository.&lt;br /&gt;
Example: https://github.com/XBMC-Addons/service.xbmc.versioncheck}}&lt;br /&gt;
&lt;br /&gt;
==== Example e-mail ====&lt;br /&gt;
&lt;br /&gt;
Subject:&lt;br /&gt;
  [Git Pull] my.cool.plugin&lt;br /&gt;
Body:&lt;br /&gt;
  *addon -   my.cool.plugin&lt;br /&gt;
  *version - 1.1.0&lt;br /&gt;
  *url - git://some.where.git&lt;br /&gt;
  *revision - a241345a&lt;br /&gt;
  *branch - master&lt;br /&gt;
  *xbmc version - helix&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Note|If you want to request multiple add-ons to be added you can just do this in one e-mail as long as you provide the &amp;quot;Body&amp;quot; part each time for every add-on and every Kodi version you want it to be included to. In this case the subject field doesn&#039;t need to contain the add-on name. Do provide the &amp;quot;[Git Pull]&amp;quot; part at least.}}&lt;br /&gt;
&lt;br /&gt;
{{tip|At this moment Frodo/Gotham/Helix combine all repos into one single repo list in Kodi. You only need to do a request for the minimum repo your add-on supports.}}&lt;br /&gt;
&lt;br /&gt;
=== Github ===&lt;br /&gt;
&lt;br /&gt;
Alternatively, add-on updates may be submitted directly to the [[Official add-on repository]] on Github as pull requests. In addition to the [[Add-on rules|repository guidelines]] the following rules apply when submitting PRs on Github:&lt;br /&gt;
&lt;br /&gt;
* PR should contain one commit only.&lt;br /&gt;
* Commit message should have the format &amp;quot;[addonid] version&amp;quot;. Example: &amp;quot;[my.cool.addon] 1.0.1&amp;quot; &lt;br /&gt;
&lt;br /&gt;
As with mailing list, only PRs from add-on author will be accepted. Patches should be submitted upstream. For an easy way to create PR from your own git repository, see [[HOW-TO: create add-on PRs using Git Subtree Merging]].&lt;br /&gt;
&lt;br /&gt;
[[Category:Add-on development]]&lt;/div&gt;</summary>
		<author><name>Martijn</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Mirrors&amp;diff=107815</id>
		<title>Mirrors</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Mirrors&amp;diff=107815"/>
		<updated>2015-12-08T08:28:35Z</updated>

		<summary type="html">&lt;p&gt;Martijn: /* euro */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav|[[Team XBMC]]|[[:Category:Team Kodi specific notes]]}}&lt;br /&gt;
&lt;br /&gt;
This page contains information about our mirrors network setup.&lt;br /&gt;
&lt;br /&gt;
== Download mirrors ==&lt;br /&gt;
&lt;br /&gt;
=== Current ===&lt;br /&gt;
&#039;&#039;&#039;August 2015 to present day&#039;&#039;&#039;&lt;br /&gt;
To provide these downloads we use a network of mirrors across the globe to provide the best possible location to download from. For actually distributing the downloads and making sure you will download from the best server available we have been using Mirrorbits, which has been operating since August 2015 and so far hasn&#039;t failed us yet. This is a great piece of software that constantly checks the status of the mirrors and dishes out files based on certain criteria, in an effort to ensure that downloads work as quickly and reliably as possible. Besides these builds it also hosts all the add-on which you can find in our official XBMC.org repository.&lt;br /&gt;
&lt;br /&gt;
=== Past ===&lt;br /&gt;
&#039;&#039;&#039;2010 to August 2015&#039;&#039;&#039;&lt;br /&gt;
To provide these downloads we use a network of mirrors across the globe to provide the best possible location to download from. For actually distributing the downloads and making sure you will download from the best server available we have been using Mirrorbrain, which has been operating since 2010 and so far hasn&#039;t failed us yet. This is a great piece of software that constantly checks the status of the mirrors and dishes out files based on certain criteria, in an effort to ensure that downloads work as quickly and reliably as possible. Besides these builds it also hosts all the add-on which you can find in our official Kodi.tv repository.&lt;br /&gt;
&lt;br /&gt;
== Information ==&lt;br /&gt;
&lt;br /&gt;
The actual mirror list is generated automatic and can be found at &#039;&#039;&#039;WIP (need to added again in some way)&#039;&#039;&#039;&lt;br /&gt;
We also provide a status report for each server if they are still in sync at &#039;&#039;&#039;WIP (need to added again in some way)&#039;&#039;&#039;&lt;br /&gt;
So we would like to thank all these providers for helping us out on distributing Kodi throughout the world. If you are interested in being added to this list feel free to contact us. Do note that we will only accept offers from large institutions or companies to keep possible problems at a minimum.&lt;br /&gt;
&lt;br /&gt;
Our main mirror address is: http://mirrors.kodi.tv&lt;br /&gt;
&lt;br /&gt;
Current mirrorlist is: WIP (need to added again in some way)&lt;br /&gt;
&lt;br /&gt;
== rsync setup ==&lt;br /&gt;
&lt;br /&gt;
We have two main rsync mirror which are used by main Tier1 mirror hosts per continent.&lt;br /&gt;
All other hosts should use those hosts according to their location.&lt;br /&gt;
&lt;br /&gt;
=== main ===&lt;br /&gt;
&lt;br /&gt;
primary Tier1 USA server:&lt;br /&gt;
* Name: gatech.edu&lt;br /&gt;
* Uses: rsync://rsync.xbmc.org/main/&lt;br /&gt;
** sync on half past the hour XX:30&lt;br /&gt;
* address: rsync://rsync.gtlib.gatech.edu/xbmc/&lt;br /&gt;
* Notes:&lt;br /&gt;
** This excludes plugins as a courtesy to hosts to avoid possibly infringing files (to be determined if still needed)&lt;br /&gt;
** all other USA mirrors should sync from this host&lt;br /&gt;
** mirrors should sync at XX:00&lt;br /&gt;
&lt;br /&gt;
=== euro ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
primary Tier1 Europe server:&lt;br /&gt;
* Name: heanet.ie&lt;br /&gt;
* Uses: rsync://rsync.xbmc.org/euro/&lt;br /&gt;
** sync on the hour XX:00&lt;br /&gt;
* address: rsync://ftp.heanet.ie/mirrors/xbmc/&lt;br /&gt;
* Notes:&lt;br /&gt;
** This his no exclusions&lt;br /&gt;
** all other non-USA mirrors pull from them&lt;br /&gt;
** mirrors should sync at XX:00&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
* Space needed: ~70GB&lt;br /&gt;
* Mirrors pull at various times, the mirrorbits database contains notes about these times.&lt;br /&gt;
* Every couple of hours. Max is every 24h.&lt;br /&gt;
* If mirrors ever move to a new server, the dns entry for rsync.xbmc.org or rsync.kodi.tv can be changed and there should theoretically be no interruption. In reality, it makes sense to be sure that no one is pulling by IP or has white-listed the current IP for our constant mirror status checks.&lt;br /&gt;
* hosts need to provide this information to have proper setup&lt;br /&gt;
** http:// location (mandatory)&lt;br /&gt;
** ftp:// location (currently not used at all)&lt;br /&gt;
** rsync:// access to the mirrors for scanning available files(mandatory)&lt;br /&gt;
** Network bandwidth (gives indication of probability factor for traffic redirecting)&lt;br /&gt;
** Host webpage&lt;br /&gt;
** Host description&lt;br /&gt;
** Redirect options: AS network only / Continent only/ Country only / Global&lt;br /&gt;
** Admin name (will not be made public)&lt;br /&gt;
** Admin e-mail (will not be made public)&lt;br /&gt;
* rsync server is split up in two sections for providing data&lt;br /&gt;
** Please choose one of the TIER server rsync locations&lt;br /&gt;
&lt;br /&gt;
Extra information&lt;br /&gt;
* rsync data could range to ~400Mb a day (amount may vary up or down)&lt;br /&gt;
* We have no hard data on amount of data that we redirect. We try to expand our network to reduce the amount for each mirror. We can always reduce the redirection criteria to reduce traffic to your mirror. Please contact us if needed.&lt;br /&gt;
&lt;br /&gt;
[[Category:Team Kodi specific notes]]&lt;/div&gt;</summary>
		<author><name>Martijn</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Settings/System&amp;diff=106041</id>
		<title>Settings/System</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Settings/System&amp;diff=106041"/>
		<updated>2015-11-30T08:46:08Z</updated>

		<summary type="html">&lt;p&gt;Martijn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav|[[Settings]]}}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;intro&amp;quot; /&amp;gt;System settings are found here. Set up and calibrate displays/video output, configure audio output, set up remote controls, set power saving options, enable debugging, set up master lock.&amp;lt;section end=&amp;quot;intro&amp;quot; /&amp;gt;&lt;br /&gt;
__TOC__&lt;br /&gt;
{{-}}&lt;br /&gt;
== Video output ==&lt;br /&gt;
{{see also|Settings/Videos|Video playback#OSD video settings}}&lt;br /&gt;
[[File:Settings.system.video output.png|800px|center]]&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! width=&amp;quot;20%&amp;quot; | Setting&lt;br /&gt;
! Description&lt;br /&gt;
! Setting level&lt;br /&gt;
|-&lt;br /&gt;
| Display Mode&lt;br /&gt;
| Display Kodi in a window, or fullscreen on the selected screen.&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
:-Display/Resolution &amp;lt;!-- For some reason it says &amp;quot;Display&amp;quot; on Mac OS X, and &amp;quot;Resolution&amp;quot; on Windows --&amp;gt;&lt;br /&gt;
| Changes the resolution that the User Interface is displayed in.&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
:-Use a fullscreen window rather than true fullscreen&lt;br /&gt;
| ...when active (Windows only). Does not use the DirectX fullscreen mode. The main benefit is for multi-screen configurations, where Kodi can be used at the same time as other applications without automatically minimizing. Uses a bit more resources and playback may be slightly less smooth.&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
:-Blank other displays&lt;br /&gt;
| In a multi-screen configuration, the screens where Kodi is not displayed are blacked out.&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Stereoscopic mode (current)&lt;br /&gt;
| {{main|3D}}&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
:-Preferred mode&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Vertical blank sync&lt;br /&gt;
| Compensation for [[w:horizontal tearing|horizontal tearing]].&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Video calibration...&lt;br /&gt;
| See [[#Video calibration...]]&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Test patterns...&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Use limited color range (16-235)&lt;br /&gt;
| Use limited color range instead of full color range (0-255). Limited range should be used if your display is a regular HDMI TV, while full color range should be used if your display is a PC monitor.&lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Video calibration... ====&lt;br /&gt;
{{Note|Always adjust your TV display settings before Kodi&#039;s settings (such as overscan, etc). In most cases, you can get a &amp;quot;just scan/just fit/PC mode/something&amp;quot; mode turned on that will not require any adjustments in Kodi, and will allow for the best screen quality.}}&lt;br /&gt;
This screen allows you to calibrate the User Interface by adjusting the overscan. Use this tool if the image being displayed is too large or small for your display.&amp;lt;br /&amp;gt;&lt;br /&gt;
Simply adjust the screen so that the arrows are in the top left and bottom right corners and that the entire frame is visible on screen.&lt;br /&gt;
&lt;br /&gt;
It offers the ability to adjust:&lt;br /&gt;
* The overscan of the video -  How close to the edges of the screen that the image is displayed.&lt;br /&gt;
* The position where subtitles are displayed.&lt;br /&gt;
* The pixel ratio allows you calibrate the aspect ratio at which videos are played back.&lt;br /&gt;
&amp;lt;gallery widths=250px heights=141px&amp;gt;&lt;br /&gt;
File:uicalibration1.png|Upper left corner&lt;br /&gt;
File:uicalibration2.png|Lower right corner&lt;br /&gt;
File:uicalibration3.png|Subtitles position&lt;br /&gt;
File:uicalibration4.png|Aspect ratio&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
{{-}}&lt;br /&gt;
&lt;br /&gt;
== Audio output ==&lt;br /&gt;
{{Main|Audio}}&lt;br /&gt;
{{see also|Settings/Music|Video playback#OSD audio and subtitle settings}}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;Audio output settings&amp;quot; /&amp;gt;&lt;br /&gt;
[[File:Settings - Audio Output.png|800px|center]]&lt;br /&gt;
{{-}}&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot; style=&amp;quot;color: black;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;width:15%&amp;quot; colspan=&amp;quot;2&amp;quot;| Setting&lt;br /&gt;
!style=&amp;quot;width:70%&amp;quot; | Description&lt;br /&gt;
!style=&amp;quot;width:8%&amp;quot; | Setting level&lt;br /&gt;
!style=&amp;quot;width:7%&amp;quot; | Device type&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|&#039;&#039;&#039;Audio output device&#039;&#039;&#039; &lt;br /&gt;
|Select the device to be used for audio output.&lt;br /&gt;
|Standard&lt;br /&gt;
|All&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|&#039;&#039;&#039;Number of channels&#039;&#039;&#039;&lt;br /&gt;
|Select the number of channels supported by the audio connection. &lt;br /&gt;
&lt;br /&gt;
;For digital connections&lt;br /&gt;
:This is the number of PCM channels that the audio connection supports and &#039;&#039;&#039;not&#039;&#039;&#039; the number of speakers connected. For example, using Dolby Digital over SPDIF will provide 5.1 audio to your system, even though SPDIF only supports 2.0 PCM channels. This setting does not apply to passthrough audio connections, if enabled.&lt;br /&gt;
&lt;br /&gt;
;For analog connections&lt;br /&gt;
:This is the number of speakers outputs used, which is likely the number of speakers your system is using. Note that some &amp;quot;2.1&amp;quot; systems only use two audio channels and do not have a dedicated subwoofer output.&lt;br /&gt;
&lt;br /&gt;
{{note|This setting might not be exposed depending on what is set for &#039;&#039;&#039;Audio output device&#039;&#039;&#039;.}}&lt;br /&gt;
|Basic&lt;br /&gt;
|HDMI/Analog-Speakers&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;|&#039;&#039;&#039;Output configuration&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Fixed&#039;&#039;&#039;&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;|Select how the properties of the audio output are set:&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;[Fixed] -&#039;&#039;&#039; output properties are set to the specified sampling rate &amp;amp; speaker configuration at all times&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;[Optimized] -&#039;&#039;&#039; output properties are set at the start of playback and will not change if the properties of the source changes&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;[Best Match] -&#039;&#039;&#039; output properties are set to always be as close a match to the source properties as possible&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;|Advanced&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;|All&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Optimized&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Best Match&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|&#039;&#039;&#039;Limit sampling rate (kHz)&#039;&#039;&#039;&lt;br /&gt;
|Maximum sampling rate for spdif or sampling rate for fixed output configuration&lt;br /&gt;
|Advanced&lt;br /&gt;
|SPDIF&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|&#039;&#039;&#039;Stereo upmix&#039;&#039;&#039;&lt;br /&gt;
|Select to enable upmixing of 2 channel audio to the number of audio channels specified by the channel configuration&lt;br /&gt;
|Advanced&lt;br /&gt;
|All&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|&#039;&#039;&#039;Normalize levels on downmix&#039;&#039;&#039;&lt;br /&gt;
| {{string|36533}}&lt;br /&gt;
|Advanced&lt;br /&gt;
|All&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;|&#039;&#039;&#039;Resample quality&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Low&#039;&#039;&#039;&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;|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&amp;lt;br /&amp;gt; &lt;br /&gt;
&#039;&#039;&#039;[Low]&#039;&#039;&#039; is fast and will have minimal impact on system resources such as the use of the CPU&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;[Medium] &amp;amp; [High]&#039;&#039;&#039; will use progressively more system resources&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;|Advanced&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;|All&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Medium&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;High&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|&#039;&#039;&#039;Keep audio device alive&#039;&#039;&#039;&lt;br /&gt;
|Select the behaviour when no sound is required for either playback or GUI sounds:&amp;lt;br /&amp;gt; &lt;br /&gt;
&#039;&#039;&#039;[Always] -&#039;&#039;&#039; 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&amp;lt;br /&amp;gt; &lt;br /&gt;
&#039;&#039;&#039;[1- 10 Minutes] -&#039;&#039;&#039; same as Always except that after the selected period of time audio enters a suspended state&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;[Off] -&#039;&#039;&#039; audio output enters a suspended state. Note - sounds can be missed if audio enters suspended state&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; This is not supported on Raspberry PI devices because of high CPU usage&lt;br /&gt;
|Standard&lt;br /&gt;
|All&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|&#039;&#039;&#039;Play GUI sounds&#039;&#039;&#039;&lt;br /&gt;
|Configure how interface sounds are handled, such as menu navigation and important notifications&lt;br /&gt;
|Basic&lt;br /&gt;
|All&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|&#039;&#039;&#039;Enable passthrough&#039;&#039;&#039;&lt;br /&gt;
|Select to enable the passthrough audio options for playback of encoded audio such as Dolby Digital&lt;br /&gt;
|Advanced&lt;br /&gt;
|HDMI/SPDIF&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|&#039;&#039;&#039;Passthrough output device&#039;&#039;&#039;&lt;br /&gt;
|Select the device to be used for playback of encoded formats, these are any of the formats below in the &#039;capable receiver&#039; options&lt;br /&gt;
|Advanced&lt;br /&gt;
|HDMI/SPDIF&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|&#039;&#039;&#039;Dolby Digital (AC3) capable receiver&#039;&#039;&#039;&lt;br /&gt;
|Select this option if your receiver is capable of decoding AC3 streams&lt;br /&gt;
|Advanced&lt;br /&gt;
|HDMI/SPDIF&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|&#039;&#039;&#039;- Enable Dolby Digital transcoding&#039;&#039;&#039;&lt;br /&gt;
|Select this if the audio out connection only supports multichannel audio as Dolby Digital 5.1, such as an SPDIF connection.  If your system supports LPCM multichannel sound via HDMI then leave this disabled. This option is only available where the number of channels is 2.0, for SPDIF this is set automatically so this option is always available, if using HDMI then you may need to change the Number of Channels setting to 2.0.&lt;br /&gt;
|Advanced&lt;br /&gt;
|HDMI/SPDIF&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|&#039;&#039;&#039;Dolby Digital Plus (E-AC3) capable receiver&#039;&#039;&#039;&lt;br /&gt;
|Select this option if your receiver is capable of decoding E-AC3 streams&lt;br /&gt;
|Advanced&lt;br /&gt;
|HDMI&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|&#039;&#039;&#039;DTS capable receiver&#039;&#039;&#039;&lt;br /&gt;
|Select this option if your receiver is capable of decoding DTS streams&lt;br /&gt;
|Advanced&lt;br /&gt;
|HDMI/SPDIF&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|&#039;&#039;&#039;TrueHD capable receiver&#039;&#039;&#039;&lt;br /&gt;
|Select this option if your receiver is capable of decoding TrueHD streams&lt;br /&gt;
|Advanced&lt;br /&gt;
|HDMI&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|&#039;&#039;&#039;DTS-HD capable receiver&#039;&#039;&#039;&lt;br /&gt;
|Select this option if your receiver is capable of decoding DTS-HD streams&lt;br /&gt;
|Advanced&lt;br /&gt;
|HDMI&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{redv|&#039;&#039;&#039;IMPORTANT NOTE:&#039;&#039;&#039;|&lt;br /&gt;
The &amp;quot;&#039;&#039;&#039;capable receiver&#039;&#039;&#039;&amp;quot; options relate only to the &#039;&#039;&#039;passthrough&#039;&#039;&#039; of audio to another device such as an AVR, where that device must support decoding of the format. Before leaving any &amp;quot;&#039;&#039;&#039;capable receiver&#039;&#039;&#039;&amp;quot; option enabled check to make sure that both the playback device running Kodi (e.g. HTPC) and the connected device (e.g. AVR) both support that format.&lt;br /&gt;
&lt;br /&gt;
If you have a &amp;quot;&#039;&#039;&#039;capable receiver&#039;&#039;&#039;&amp;quot; option enabled that your device does not support then this will result in poor playback of video typically with a very low frames-per-second and no audio, so for example if the &#039;&#039;&#039;TrueHD capable receiver&#039;&#039;&#039; option were enabled then make sure that the playback device can passthrough TrueHD and that the connected device can decode TrueHD, if either of the devices do not support TrueHD then the &#039;&#039;&#039;TrueHD capable receiver&#039;&#039;&#039; option &#039;&#039;&#039;MUST&#039;&#039;&#039; be left disabled.&lt;br /&gt;
&lt;br /&gt;
For any format where the &amp;quot;capable receiver&amp;quot; option is not selected, Kodi will still playback any content containing those audio types, however instead of the audio being passed through, Kodi will decode audio and then send the audio in a compatible format. &lt;br /&gt;
&lt;br /&gt;
If connected directly to a TV be aware that TV are not compatible with DTS, TrueHD or DTS-HD, typically the only encoded format a TV will be compatible with is AC3.}}&lt;br /&gt;
&amp;lt;section end=&amp;quot;Audio output settings&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Input devices ==&lt;br /&gt;
{{note|The content of this screen largely depends on the input devices that Kodi detects and the OS being used.}}&lt;br /&gt;
[[File:Settings.system.input devices.png|800px|center]]&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! width=&amp;quot;20%&amp;quot; | Setting&lt;br /&gt;
! Description&lt;br /&gt;
! Setting level&lt;br /&gt;
|-&lt;br /&gt;
| Peripherals&lt;br /&gt;
| See &#039;&#039;&#039;[[#Peripherals]]&#039;&#039;&#039;.&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Apple remote &#039;&#039;(OS X only)&#039;&#039;&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Allow start of Kodi using the remote &#039;&#039;(OS X only)&#039;&#039;&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Sequence delay time&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Enable mouse and touch screen support&lt;br /&gt;
| {{see also|Touch screen}}&lt;br /&gt;
If deactivated, Kodi will ignore all mouse movements and clicks.&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Enable joystick and gamepad support&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Enable system keys in fullscreen &#039;&#039;(Linux only)&#039;&#039;&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Peripherals ===&lt;br /&gt;
&lt;br /&gt;
== Internet access ==&lt;br /&gt;
[[File:Settings.network.internet access.png|center|800px]]&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! width=&amp;quot;20%&amp;quot; | Setting&lt;br /&gt;
! Description&lt;br /&gt;
! Setting level&lt;br /&gt;
|-&lt;br /&gt;
| Use an HTTP proxy server to access the internet&lt;br /&gt;
| If your internet connection uses a proxy, configure it here.&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
:-Proxy type&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
:-Server&lt;br /&gt;
| Proxy server address.&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
:-Port&lt;br /&gt;
| Defines the port of the proxy server&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
:-Username&lt;br /&gt;
| Defines the username used for the proxy server&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
:-Password&lt;br /&gt;
| Defines the password used for the proxy server&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Internet connection bandwidth limitation&lt;br /&gt;
| If you have limited bandwidth available, select a suitable value here and Kodi will try to keep to these limits. {{?}}&lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Power saving ==&lt;br /&gt;
{{see also|Settings/Appearance#Screensaver}}&lt;br /&gt;
{{note|Some options might not be available on all hardware or OSes. For example, Kodi cannot control shutdown or sleep on [[Android]].}}&lt;br /&gt;
[[File:Settings.system.power saving.png|800px|center]]&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! width=&amp;quot;20%&amp;quot; | Setting&lt;br /&gt;
! Description&lt;br /&gt;
! Setting level&lt;br /&gt;
|-&lt;br /&gt;
| Put display to sleep when idle&lt;br /&gt;
| Turns off display when idle. Useful for TVs that turn off when there is no display signal detected, but you don&#039;t want to suspend/shutdown the whole computer. Selectable from 5 minutes to 120 minutes.&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Shutdown function timer&lt;br /&gt;
| Sleeps the computer when idle. Selectable from 5 minutes to 120 minutes.&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Shutdown function&lt;br /&gt;
| Defines what &amp;quot;Shutdown&amp;quot; will do by default. Can be set to actually shutdown, suspend, minimize, or quit.&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Try to wake remote servers on access&lt;br /&gt;
| {{Main|Wake on lan}}&lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{note|Kodi also has a &amp;quot;Custom shutdown timer&amp;quot; selectable from the power icon on the home screen, or from the shutdown menu (press {{keypress|S}} on a keyboard or {{button|Power}} on a remote).}}&lt;br /&gt;
&lt;br /&gt;
== Debugging ==&lt;br /&gt;
{{main|Log file|Log file/Advanced}}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;debugging&amp;quot; /&amp;gt;&lt;br /&gt;
[[File:Settings.system.debugging.png|800px|center]]&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! width=&amp;quot;20%&amp;quot; | Setting&lt;br /&gt;
! Description&lt;br /&gt;
! Setting level&lt;br /&gt;
|-&lt;br /&gt;
| Enable debug logging&lt;br /&gt;
| Toggles [[debug log]] on / off. Useful for troubleshooting.&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| Enable component-specific logging&lt;br /&gt;
| Enables extra logging for specific areas of Kodi.&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
:-Specify component-specific logging&lt;br /&gt;
| {{see also|#Component-specific logging}}&lt;br /&gt;
Select which additional components to include in the debug log.&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Screenshot folder&lt;br /&gt;
| Folder used to save screenshots taken within Kodi. (see [[Keyboard controls]] for the screenshot key for your OS)&lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Component-specific logging ===&lt;br /&gt;
{{anchor|Verbose logging}}&lt;br /&gt;
[[File:Verbose logging options.png|right|400px|thumb|The component-specific logging selection window, with multiple options selected.]]&lt;br /&gt;
&lt;br /&gt;
Component-specific logging options enables extra logging for specific areas of Kodi. This allows the debug logs to be easier to read as they can exclude information that is not important for a specific bug or issue, while still allowing that extra information to be turned on as-needed. Multiple components can be enabled if needed.&lt;br /&gt;
&lt;br /&gt;
:{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! Setting !! Description&lt;br /&gt;
|-&lt;br /&gt;
| SMB library ||&lt;br /&gt;
|-&lt;br /&gt;
| CURL library ||&lt;br /&gt;
|-&lt;br /&gt;
| CMYTH library ||&lt;br /&gt;
|-&lt;br /&gt;
| FFMPEG libraries ||&lt;br /&gt;
|-&lt;br /&gt;
| AUDIO component ||&lt;br /&gt;
|-&lt;br /&gt;
| VIDEO component ||&lt;br /&gt;
|-&lt;br /&gt;
| RTMP library ||&lt;br /&gt;
|-&lt;br /&gt;
| JSON-RPC requests ||&lt;br /&gt;
|-&lt;br /&gt;
| AirTunes library ||&lt;br /&gt;
|-&lt;br /&gt;
| UPnP components ||&lt;br /&gt;
|-&lt;br /&gt;
| CEC library ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{-}}&lt;br /&gt;
&amp;lt;section end=&amp;quot;debugging&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Master lock ==&lt;br /&gt;
{{see also|Profiles}}&lt;br /&gt;
{{note|&#039;&#039;The Master lock options are ONLY available while using the default user [[profile]].&#039;&#039;}}&lt;br /&gt;
[[File:Settings.system.master lock.png|800px|center]]&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! width=&amp;quot;20%&amp;quot; | Setting&lt;br /&gt;
! Description&lt;br /&gt;
! Setting level&lt;br /&gt;
|-&lt;br /&gt;
| Master lock code and settings&lt;br /&gt;
| Opens the [[#Master lock settings|Master lock settings window]], where you can configure your Master Lock options. See &#039;&#039;&#039;[[#Master lock settings]]&#039;&#039;&#039;.&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
:-Ask for master lock code on startup&lt;br /&gt;
| If enabled, the master lock code is required to unlock Kodi on startup&lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Master lock settings ===&lt;br /&gt;
[[File:Lock settings.png|center|600px]]&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! width=&amp;quot;20%&amp;quot; | Setting&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| Master Lock&lt;br /&gt;
| Allows you to set the master lock password. Can be one of three types:&lt;br /&gt;
* &#039;&#039;&#039;Numeric password&#039;&#039;&#039; - Enter a Numeric Password using the On Screen Keyboard&lt;br /&gt;
* &#039;&#039;&#039;Gamepad button combo&#039;&#039;&#039; - Enter a series of buttons using the Gamepad&lt;br /&gt;
* &#039;&#039;&#039;Full-text password&#039;&#039;&#039; - Enter a plain-text password using the On Screen Keyboard&lt;br /&gt;
|-&lt;br /&gt;
| Lock music window&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Lock video window&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Lock pictures window&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Lock programs and scripts windows&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Lock file manager&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Lock settings&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Lock Add-on manager&lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Locking media sources ===&lt;br /&gt;
{{main|Media sources#Locking}}&lt;br /&gt;
{{#lst:Media sources|Locking}}&lt;br /&gt;
&lt;br /&gt;
=== Locked out? ===&lt;br /&gt;
Kodi will give you three tries when you need to enter a lock/password to access something that is locked. If you max out these three tries then just quit Kodi and re-open it to get three more tries. The Master Lock code is stored in the &amp;quot;&#039;&#039;&#039;profiles.xml&#039;&#039;&#039;&amp;quot; file in the [[userdata]] folder. Should you get locked out, you can delete or edit the &amp;quot;&#039;&#039;&#039;profiles.xml&#039;&#039;&#039;&amp;quot; file.&lt;br /&gt;
&lt;br /&gt;
=== Advanced settings ===&lt;br /&gt;
{{note|It&#039;s generally not recommended to manually edit guisettings.xml at all. If you&#039;re unsure about this, don&#039;t touch it. Strange things might happen (maybe?). Spooooky.}}&lt;br /&gt;
The number of tries before being &amp;quot;locked out&amp;quot; can be tweaked by manually editing the guisettings.xml file in the [[userdata folder]]. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;masterlock&amp;gt;       &lt;br /&gt;
   &amp;lt;maxretries&amp;gt;3&amp;lt;/maxretries&amp;gt; &amp;lt;!-- enter the max number of retries to input code, 3 is default. This setting isn&#039;t exposed in the actual GUI and can only be changed by manually editing this XML file --&amp;gt;&lt;br /&gt;
   &amp;lt;startuplock&amp;gt;false&amp;lt;/startuplock&amp;gt;  &amp;lt;!-- true prompts user for code upon startup --&amp;gt;&lt;br /&gt;
&amp;lt;/masterlock&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Gotham updated}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Manual]]&lt;br /&gt;
[[Category:Settings]]&lt;/div&gt;</summary>
		<author><name>Martijn</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Official:Forum_rules/Banned_add-ons&amp;diff=105966</id>
		<title>Official:Forum rules/Banned add-ons</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Official:Forum_rules/Banned_add-ons&amp;diff=105966"/>
		<updated>2015-11-24T22:49:33Z</updated>

		<summary type="html">&lt;p&gt;Martijn: /* Add-on blacklist */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav| [[Forum rules]] }}&lt;br /&gt;
&lt;br /&gt;
This is an example list of repositories and add-ons that have been identified as violating the {{kodi}} &#039;&#039;&#039;[[forum rules]]&#039;&#039;&#039;. This means they have been banned from any official {{kodi}} forums, websites, IRC channels and any social media accounts that are under the control of [[Team Kodi]] or the [[XBMC Foundation]]. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;This list is only an example, and does not include all add-ons or services that violate the [[forum rules#Piracy Policy|forum rules]].&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
While Team Kodi does not regulate what users install or use, we ask that you do not come to any of the official {{kodi}} websites for support on these repos/add-ons. Failure to do so may result in a ban.&lt;br /&gt;
&lt;br /&gt;
== How do I tell if something is allowed or not==&lt;br /&gt;
{{collapse top|click &amp;quot;Expand&amp;quot; to view the rules on piracy/bootleg video content --&amp;gt;}}&lt;br /&gt;
{{main|forum rules}}&lt;br /&gt;
{{#lst:Official:Forum rules|piracy policy}}&lt;br /&gt;
{{collapse bottom}}&lt;br /&gt;
&lt;br /&gt;
The basic rule of thumb for what is not allowed, is that if the Add-on is offering something for free that you would normally expect to pay for by any other means, then it&#039;ll most likely be using pirate feeds. &lt;br /&gt;
&lt;br /&gt;
If the Add-on simply allows access to web feeds from the rights holders then discussion of these is normally allowed, in this case there generally will be a website equivalent of the service, for example Youtube, BBC iPlayer, Netflix.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note -&#039;&#039;&#039; If the Add-on is from our Official Add-on Repo then it has already been checked that it doesn&#039;t break our rules, therefore anything contained in the Official Repo is safe to discuss in any of our websites/channels.&lt;br /&gt;
&lt;br /&gt;
== Repository blacklist ==&lt;br /&gt;
* Aftershock&lt;br /&gt;
&lt;br /&gt;
* Fusion&lt;br /&gt;
* J1nx&lt;br /&gt;
* Kinkin&lt;br /&gt;
* SuperRepo&lt;br /&gt;
* Metal Kettle&lt;br /&gt;
* Mobie&lt;br /&gt;
* MTLFREETV (Montreal Free TV)&lt;br /&gt;
* Unity&lt;br /&gt;
* Total Installer&lt;br /&gt;
* TOTALXBMC&lt;br /&gt;
* TVADDONS&lt;br /&gt;
* WikiXBMC&lt;br /&gt;
* Wookie&lt;br /&gt;
* XBMCHUB&lt;br /&gt;
* Xfinity (not to be confused with the TV service from Comcast Cable)&lt;br /&gt;
* Xunity / XunityTalk (Xunity Talk)&lt;br /&gt;
&lt;br /&gt;
== Add-on blacklist ==&lt;br /&gt;
*1Channel&lt;br /&gt;
*4K UHD&lt;br /&gt;
*Aftershock&lt;br /&gt;
*Animeram&lt;br /&gt;
*BBTS&lt;br /&gt;
*CartoonHD&lt;br /&gt;
*Cartoons8&lt;br /&gt;
*cCloud TV&lt;br /&gt;
*Cloudword&lt;br /&gt;
*DOCU-HUB&lt;br /&gt;
*F.T.V.&lt;br /&gt;
*Free Streams&lt;br /&gt;
*HUB/TVADDONS/Xfinity Config Wizard&lt;br /&gt;
*HUB/TVADDONS/Xfinity &#039;fresh start&#039;&lt;br /&gt;
*Genesis&lt;br /&gt;
*GoMovies&lt;br /&gt;
*GoTV&lt;br /&gt;
*I Watch Online&lt;br /&gt;
*IceFilms&lt;br /&gt;
*Indian TV (OTT)&lt;br /&gt;
*IPTV Stalker (not to be confused with Stalker Middleware)&lt;br /&gt;
*IPTV Simple Client 2 (not to be confused with the original and official &amp;quot;IPTV Simple Client&amp;quot;)&lt;br /&gt;
*iStream&lt;br /&gt;
*iwannawatch&lt;br /&gt;
*J1nxPack (J1nx Pack)&lt;br /&gt;
*Kiss Anime&lt;br /&gt;
*LatestDude&lt;br /&gt;
*MashUp&lt;br /&gt;
*MK Sports&lt;br /&gt;
*Movie25&lt;br /&gt;
*Movie4k&lt;br /&gt;
*MovieStorm&lt;br /&gt;
*MuchMovies&lt;br /&gt;
*Navi-X&lt;br /&gt;
*OneClickMoviez&lt;br /&gt;
*Phoenix&lt;br /&gt;
*Popcorn Time&lt;br /&gt;
*Primewire&lt;br /&gt;
*ProjectFreeTV (Project Free TV)&lt;br /&gt;
*SportsAccess&lt;br /&gt;
*Sport-A-Holic&lt;br /&gt;
*SportsDevil&lt;br /&gt;
*SuperTV&lt;br /&gt;
*Vdubt25&lt;br /&gt;
*Wookie Wizard&lt;br /&gt;
*Xfinity Installer&lt;br /&gt;
*S.A.L.T.S. Stream all the Sources&lt;br /&gt;
*Zeus&lt;br /&gt;
&lt;br /&gt;
==So where do I get support?==&lt;br /&gt;
&lt;br /&gt;
Every Add-on should contain the authors name, this found by opening the Context menu on the Add-on and selecting &#039;&#039;&#039;Add-on Information&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
[[File:add-on-context.JPG|400px]]&lt;br /&gt;
&lt;br /&gt;
[[File:add-on-info.JPG|400px]]&lt;br /&gt;
&lt;br /&gt;
Generally a search of the Add-on&#039;s name together with the author name will give the location of where the author is active.&lt;br /&gt;
&lt;br /&gt;
For example a search term might be:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kodi TheCollective Youtube&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
__NOINDEX__&lt;br /&gt;
[[Category:Forum]]&lt;/div&gt;</summary>
		<author><name>Martijn</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Official:Forum_rules/Banned_add-ons&amp;diff=105942</id>
		<title>Official:Forum rules/Banned add-ons</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Official:Forum_rules/Banned_add-ons&amp;diff=105942"/>
		<updated>2015-11-22T13:04:46Z</updated>

		<summary type="html">&lt;p&gt;Martijn: /* Add-on blacklist */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav| [[Forum rules]] }}&lt;br /&gt;
&lt;br /&gt;
This is an example list of repositories and add-ons that have been identified as violating the {{kodi}} &#039;&#039;&#039;[[forum rules]]&#039;&#039;&#039;. This means they have been banned from any official {{kodi}} forums, websites, IRC channels and any social media accounts that are under the control of [[Team Kodi]] or the [[XBMC Foundation]]. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;This list is only an example, and does not include all add-ons or services that violate the [[forum rules#Piracy Policy|forum rules]].&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
While Team Kodi does not regulate what users install or use, we ask that you do not come to any of the official {{kodi}} websites for support on these repos/add-ons. Failure to do so may result in a ban.&lt;br /&gt;
&lt;br /&gt;
== How do I tell if something is allowed or not==&lt;br /&gt;
{{collapse top|click &amp;quot;Expand&amp;quot; to view the rules on piracy/bootleg video content --&amp;gt;}}&lt;br /&gt;
{{main|forum rules}}&lt;br /&gt;
{{#lst:Official:Forum rules|piracy policy}}&lt;br /&gt;
{{collapse bottom}}&lt;br /&gt;
&lt;br /&gt;
The basic rule of thumb for what is not allowed, is that if the Add-on is offering something for free that you would normally expect to pay for by any other means, then it&#039;ll most likely be using pirate feeds. &lt;br /&gt;
&lt;br /&gt;
If the Add-on simply allows access to web feeds from the rights holders then discussion of these is normally allowed, in this case there generally will be a website equivalent of the service, for example Youtube, BBC iPlayer, Netflix.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note -&#039;&#039;&#039; If the Add-on is from our Official Add-on Repo then it has already been checked that it doesn&#039;t break our rules, therefore anything contained in the Official Repo is safe to discuss in any of our websites/channels.&lt;br /&gt;
&lt;br /&gt;
== Repository blacklist ==&lt;br /&gt;
* Aftershock&lt;br /&gt;
&lt;br /&gt;
* Fusion&lt;br /&gt;
* J1nx&lt;br /&gt;
* Kinkin&lt;br /&gt;
* SuperRepo&lt;br /&gt;
* Metal Kettle&lt;br /&gt;
* Mobie&lt;br /&gt;
* MTLFREETV (Montreal Free TV)&lt;br /&gt;
* Unity&lt;br /&gt;
* Total Installer&lt;br /&gt;
* TOTALXBMC&lt;br /&gt;
* TVADDONS&lt;br /&gt;
* WikiXBMC&lt;br /&gt;
* Wookie&lt;br /&gt;
* XBMCHUB&lt;br /&gt;
* Xfinity (not to be confused with the TV service from Comcast Cable)&lt;br /&gt;
* Xunity / XunityTalk (Xunity Talk)&lt;br /&gt;
&lt;br /&gt;
== Add-on blacklist ==&lt;br /&gt;
*1Channel&lt;br /&gt;
*Aftershock&lt;br /&gt;
*Animeram&lt;br /&gt;
*BBTS&lt;br /&gt;
*CartoonHD&lt;br /&gt;
*Cartoons8&lt;br /&gt;
*cCloud TV&lt;br /&gt;
*Cloudword&lt;br /&gt;
*DOCU-HUB&lt;br /&gt;
*F.T.V.&lt;br /&gt;
*Free Streams&lt;br /&gt;
*HUB/TVADDONS/Xfinity Config Wizard&lt;br /&gt;
*HUB/TVADDONS/Xfinity &#039;fresh start&#039;&lt;br /&gt;
*Genesis&lt;br /&gt;
*GoMovies&lt;br /&gt;
*GoTV&lt;br /&gt;
*I Watch Online&lt;br /&gt;
*IceFilms&lt;br /&gt;
*Indian TV (OTT)&lt;br /&gt;
*IPTV Stalker (not to be confused with Stalker Middleware)&lt;br /&gt;
*IPTV Simple Client 2 (not to be confused with the original and official &amp;quot;IPTV Simple Client&amp;quot;)&lt;br /&gt;
*iStream&lt;br /&gt;
*iwannawatch&lt;br /&gt;
*J1nxPack (J1nx Pack)&lt;br /&gt;
*Kiss Anime&lt;br /&gt;
*LatestDude&lt;br /&gt;
*MashUp&lt;br /&gt;
*MK Sports&lt;br /&gt;
*Movie25&lt;br /&gt;
*Movie4k&lt;br /&gt;
*MovieStorm&lt;br /&gt;
*MuchMovies&lt;br /&gt;
*Navi-X&lt;br /&gt;
*OneClickMoviez&lt;br /&gt;
*Phoenix&lt;br /&gt;
*Popcorn Time&lt;br /&gt;
*Primewire&lt;br /&gt;
*ProjectFreeTV (Project Free TV)&lt;br /&gt;
*SportsAccess&lt;br /&gt;
*Sport-A-Holic&lt;br /&gt;
*SportsDevil&lt;br /&gt;
*SuperTV&lt;br /&gt;
*Vdubt25&lt;br /&gt;
*Wookie Wizard&lt;br /&gt;
*Xfinity Installer&lt;br /&gt;
*S.A.L.T.S. Stream all the Sources&lt;br /&gt;
*Zeus&lt;br /&gt;
&lt;br /&gt;
==So where do I get support?==&lt;br /&gt;
&lt;br /&gt;
Every Add-on should contain the authors name, this found by opening the Context menu on the Add-on and selecting &#039;&#039;&#039;Add-on Information&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
[[File:add-on-context.JPG|400px]]&lt;br /&gt;
&lt;br /&gt;
[[File:add-on-info.JPG|400px]]&lt;br /&gt;
&lt;br /&gt;
Generally a search of the Add-on&#039;s name together with the author name will give the location of where the author is active.&lt;br /&gt;
&lt;br /&gt;
For example a search term might be:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kodi TheCollective Youtube&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
__NOINDEX__&lt;br /&gt;
[[Category:Forum]]&lt;/div&gt;</summary>
		<author><name>Martijn</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Official:List_of_Foundation_Trademarks&amp;diff=103209</id>
		<title>Official:List of Foundation Trademarks</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Official:List_of_Foundation_Trademarks&amp;diff=103209"/>
		<updated>2015-11-17T12:35:45Z</updated>

		<summary type="html">&lt;p&gt;Martijn: /* Wordmarks */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav|[[XBMC Foundation]]|[[Official:Trademark Policy index|Trademarks]]}}&lt;br /&gt;
&lt;br /&gt;
== List of XBMC Foundation Trademarks ==&lt;br /&gt;
As other trademarks are created or registered, this list will be updated. As used in this policy, &amp;quot;trademarks&amp;quot; means not just the XBMC Foundation&#039;s logos, but also the names of its various products and projects, also called word marks, (collectively &amp;quot;XBMC Foundation Marks&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
=== Wordmarks ===&lt;br /&gt;
* Kodi ®&lt;br /&gt;
** USPTO registration number [[http://tsdr.uspto.gov/#caseNumber=86284077&amp;amp;caseType=SERIAL_NO&amp;amp;searchType=statusSearch 4852083]]&lt;br /&gt;
* Kore ™&lt;br /&gt;
* XBMC ™&lt;br /&gt;
* XBMCbuntu ™&lt;br /&gt;
* [[Zappy]] ™  &lt;br /&gt;
* KodiBuntu ™&lt;br /&gt;
&lt;br /&gt;
=== Logos ===&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Side-by-side-dark-transparent.png | Kodi ® logo ™&lt;br /&gt;
Kore Artwork Concept 2.png | Kore logo ™&lt;br /&gt;
KodiBuntu.png | Kodibuntu logo ™&lt;br /&gt;
XBMC logo-solid shadow.png | Classic XBMC logo ™&lt;br /&gt;
XBMC new logo.png | XBMC logo ™&lt;br /&gt;
Zappy.png | Zappy ™&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Trademark Policy]]&lt;/div&gt;</summary>
		<author><name>Martijn</name></author>
	</entry>
</feed>