<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://kodi.wiki/index.php?action=history&amp;feed=atom&amp;title=UI_sounds_add-ons</id>
	<title>UI sounds add-ons - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://kodi.wiki/index.php?action=history&amp;feed=atom&amp;title=UI_sounds_add-ons"/>
	<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=UI_sounds_add-ons&amp;action=history"/>
	<updated>2026-05-29T15:10:19Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.5</generator>
	<entry>
		<id>https://kodi.wiki/index.php?title=UI_sounds_add-ons&amp;diff=232836&amp;oldid=prev</id>
		<title>SistemaRayoXP: Initial creation of this page. Please accommodate as required</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=UI_sounds_add-ons&amp;diff=232836&amp;oldid=prev"/>
		<updated>2021-08-14T07:43:29Z</updated>

		<summary type="html">&lt;p&gt;Initial creation of this page. Please accommodate as required&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{mininav|[[Development]]|[[Add-on development]]}}&lt;br /&gt;
{{mininav|[[Skinning]]}}&lt;br /&gt;
&lt;br /&gt;
You can add, change or modify sounds for Kodi by creating a UI sounds resource add-on. Anyone can create one, only some basic XML understanding is necessary (no programming skills required).&lt;br /&gt;
&lt;br /&gt;
You can create as many UI sound packs as you feel like, and change between them anytime from the settings.&lt;br /&gt;
&lt;br /&gt;
An example of a sounds addon can be found here: https://github.com/xbmc/xbmc/tree/master/addons/resource.uisounds.kodi&lt;br /&gt;
&lt;br /&gt;
= What Kodi requires for your add-on =&lt;br /&gt;
&lt;br /&gt;
== Creating the working folder == &lt;br /&gt;
&lt;br /&gt;
To get started, you need to create a working folder for your add-on. This is where all the files for your UI sounds add-on will go.&lt;br /&gt;
&lt;br /&gt;
You can name your add-on whatever you like. However, you might need to modify the name when naming your add-on&amp;#039;s folder&lt;br /&gt;
&lt;br /&gt;
The naming convention is &amp;lt;code&amp;gt;resource.uisounds.&amp;lt;your-addon-name&amp;gt;&amp;lt;/code&amp;gt;. E.g. &amp;lt;code&amp;gt;resource.uisounds.kodi&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When naming the folder, consider the following:&lt;br /&gt;
&lt;br /&gt;
* Only use lowercase letters and numbers (the name is treated as case sensitive)&lt;br /&gt;
* Underscores are not allowed, use dashes instead&lt;br /&gt;
* Any other character is not permitted&lt;br /&gt;
&lt;br /&gt;
{{greenv|Correct|&amp;#039;&amp;#039;resource.uisounds.my-cool-sounds}}&lt;br /&gt;
{{redv|Incorrect|&amp;#039;&amp;#039;resource.uisounds.My_Cool_Sounds&amp;#039;&amp;#039;}}&lt;br /&gt;
{{greenv|Correct|&amp;#039;&amp;#039;resource.uisounds.dumpsterremix&amp;#039;&amp;#039;}}&lt;br /&gt;
{{redv|Incorrect|&amp;#039;&amp;#039;resource.uisounds.Dumpster Remix!&amp;#039;&amp;#039;}}&lt;br /&gt;
&lt;br /&gt;
{{bluev|Example|&amp;#039;&amp;#039;&amp;#039;Dumpster Remix! 2.0&amp;#039;&amp;#039;&amp;#039; -&amp;gt; resource.uisounds.dumpsterremix2-0}}&lt;br /&gt;
&lt;br /&gt;
=== Addon.xml ===&lt;br /&gt;
&lt;br /&gt;
For Kodi to know what to do with your add-on, a file named &amp;lt;code&amp;gt;addon.xml&amp;lt;/code&amp;gt; is required. See [[Addon.xml]] for a detailed explanation on this file. However, very little lines are actually necessary for a basic UI sounds add-on.&lt;br /&gt;
&lt;br /&gt;
The layout for the &amp;lt;code&amp;gt;addon.xml&amp;lt;/code&amp;gt; file is as follows:&lt;br /&gt;
&lt;br /&gt;
Example &amp;#039;&amp;#039;&amp;#039;resource.uisounds.dumpsterremix2-0&amp;#039;&amp;#039;&amp;#039;:&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 id=&amp;quot;resource.uisounds.dumpsterremix2-0&amp;quot; version=&amp;quot;2.0.0&amp;quot; name=&amp;quot;Dumpster Remix! 2.0&amp;quot; provider-name=&amp;quot;Funky Philip&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;requires&amp;gt;&lt;br /&gt;
        &amp;lt;import addon=&amp;quot;kodi.resource&amp;quot; version=&amp;quot;1.0.0&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/requires&amp;gt;&lt;br /&gt;
    &amp;lt;extension point=&amp;quot;kodi.resource.uisounds&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;extension point=&amp;quot;kodi.addon.metadata&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;summary lang=&amp;quot;en&amp;quot;&amp;gt;Dumpsters chilling Kodi&amp;lt;/summary&amp;gt;&lt;br /&gt;
        &amp;lt;description lang=&amp;quot;en&amp;quot;&amp;gt;A cool-sounding remix of dumpster sounds!&amp;lt;/description&amp;gt;&lt;br /&gt;
        &amp;lt;platform&amp;gt;all&amp;lt;/platform&amp;gt;&lt;br /&gt;
        &amp;lt;assets&amp;gt;&lt;br /&gt;
            &amp;lt;icon&amp;gt;icon.png&amp;lt;/icon&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;
&amp;#039;&amp;#039;&amp;#039;Overview&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
&lt;br /&gt;
* Addon&lt;br /&gt;
** id: Name of your working folder &amp;lt;br /&amp;gt; E.g. &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;resource.uisounds.dumpsterremix2-0&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** version: The version of your add-on. This should be in the format &amp;lt;var&amp;gt;x.x.x&amp;lt;/var&amp;gt; where &amp;lt;var&amp;gt;x&amp;lt;/var&amp;gt; is always a number. Increment the version number every time there&amp;#039;s a change &amp;lt;br /&amp;gt; E.g, &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;2.0.0&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** name: Name of your add-on &amp;lt;br /&amp;gt; E.g, &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Dumpster Remix! 2.0&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** provider-name: Author of the add-on/sounds &amp;lt;br /&amp;gt; E.g. &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Funky Philip&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Extension &amp;quot;kodi.addon.metadata&amp;quot;&lt;br /&gt;
** summary: A short description of the sound pack &amp;lt;br /&amp;gt; E.g. &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Dumpsters chilling Kodi&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*** lang=&amp;quot;&amp;lt;lang_code&amp;gt;&amp;quot;: See [[Addon.xml]]&lt;br /&gt;
** description: An extended description of the sound pack &amp;lt;br /&amp;gt; E.g. &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;A cool-sounding remix of dumpster sounds!&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*** lang=&amp;quot;&amp;lt;lang_code&amp;gt;&amp;quot;: See [[Addon.xml]]&lt;br /&gt;
** platform: The platform for which your add-on is targeted. You should always set this to &amp;#039;all&amp;#039;&lt;br /&gt;
** assets&lt;br /&gt;
*** icon: The path to the icon of you add-on. &amp;lt;br /&amp;gt; It&amp;#039;s highly recommended to always set this to &amp;#039;icon.png&amp;#039;, but you can change this, just make sure that this matches the icon file.&lt;br /&gt;
&lt;br /&gt;
=== File structure ===&lt;br /&gt;
&lt;br /&gt;
The file structure should be as follows&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;addon.xml&amp;#039;&amp;#039;&amp;#039; in the root directory&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;icon.png&amp;#039;&amp;#039;&amp;#039; in the root directory&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;LICENSE&amp;#039;&amp;#039;&amp;#039; (optional) in the root directory&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;sounds.xml&amp;#039;&amp;#039;&amp;#039; in the resources directory&lt;br /&gt;
* Sound files (&amp;#039;&amp;#039;&amp;#039;*.wav&amp;#039;&amp;#039;&amp;#039;) in the resources directory&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 addon.xml&lt;br /&gt;
 icon.png&lt;br /&gt;
 resources/&lt;br /&gt;
     back.wav (can be named however you like)&lt;br /&gt;
     click.wav (can be named however you like)&lt;br /&gt;
     notify.wav (can be named however you like)&lt;br /&gt;
     [...]&lt;br /&gt;
     sounds.xml&lt;br /&gt;
&lt;br /&gt;
= Creating the sound pack =&lt;br /&gt;
&lt;br /&gt;
== The sounds.xml file ==&lt;br /&gt;
&lt;br /&gt;
This file was first introduced in Kodi 15.0 Isengard, as part of the UI sounds add-on. It contains the mapping of actions to sounds, that is, moving left, right, up, down, and opening &amp;amp; closing windows.&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;actions&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;&amp;lt;actions&amp;gt;&amp;lt;/code&amp;gt; section contains global mapping, i.e., actions that are not specifically tied to a window, like moving, selecting, getting inside a directory or returning to a parent directory.&lt;br /&gt;
&lt;br /&gt;
A list of valid actions can be found in [[Action IDs]]&lt;br /&gt;
&lt;br /&gt;
To map a sound to a specific action, add a block like this to &amp;lt;actions&amp;gt;:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;action&amp;gt;&lt;br /&gt;
    &amp;lt;name&amp;gt;left&amp;lt;/name&amp;gt;&lt;br /&gt;
    &amp;lt;file&amp;gt;cursor.wav&amp;lt;/file&amp;gt;&lt;br /&gt;
&amp;lt;/action&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Where &amp;lt;code&amp;gt;&amp;lt;name&amp;gt;&amp;lt;/code&amp;gt; specifies the action to map a sound to and &amp;lt;code&amp;gt;&amp;lt;file&amp;gt;&amp;lt;/code&amp;gt; the wav file to play when the action occurs.&lt;br /&gt;
&lt;br /&gt;
==== &amp;#039;&amp;#039;&amp;#039;&amp;lt;actions&amp;gt; example&amp;#039;&amp;#039;&amp;#039; ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;actions&amp;gt;&lt;br /&gt;
    &amp;lt;action&amp;gt;&lt;br /&gt;
        &amp;lt;name&amp;gt;left&amp;lt;/name&amp;gt;&lt;br /&gt;
        &amp;lt;file&amp;gt;glass.wav&amp;lt;/file&amp;gt;&lt;br /&gt;
    &amp;lt;/action&amp;gt;&lt;br /&gt;
    &amp;lt;action&amp;gt;&lt;br /&gt;
        &amp;lt;name&amp;gt;right&amp;lt;/name&amp;gt;&lt;br /&gt;
        &amp;lt;file&amp;gt;glass.wav&amp;lt;/file&amp;gt;&lt;br /&gt;
    &amp;lt;/action&amp;gt;&lt;br /&gt;
    &amp;lt;action&amp;gt;&lt;br /&gt;
        &amp;lt;name&amp;gt;up&amp;lt;/name&amp;gt;&lt;br /&gt;
        &amp;lt;file&amp;gt;steel.wav&amp;lt;/file&amp;gt;&lt;br /&gt;
    &amp;lt;/action&amp;gt;&lt;br /&gt;
    &amp;lt;action&amp;gt;&lt;br /&gt;
        &amp;lt;name&amp;gt;down&amp;lt;/name&amp;gt;&lt;br /&gt;
        &amp;lt;file&amp;gt;steel.wav&amp;lt;/file&amp;gt;&lt;br /&gt;
    &amp;lt;/action&amp;gt;&lt;br /&gt;
    &amp;lt;action&amp;gt;&lt;br /&gt;
        &amp;lt;name&amp;gt;select&amp;lt;/name&amp;gt;&lt;br /&gt;
        &amp;lt;file&amp;gt;dump.wav&amp;lt;/file&amp;gt;&lt;br /&gt;
    &amp;lt;/action&amp;gt;&lt;br /&gt;
    &amp;lt;action&amp;gt;&lt;br /&gt;
        &amp;lt;name&amp;gt;parentdir&amp;lt;/name&amp;gt;&lt;br /&gt;
        &amp;lt;file&amp;gt;garbagetruck.wav&amp;lt;/file&amp;gt;&lt;br /&gt;
    &amp;lt;/action&amp;gt;&lt;br /&gt;
    &amp;lt;action&amp;gt;&lt;br /&gt;
        &amp;lt;name&amp;gt;previousmenu&amp;lt;/name&amp;gt;&lt;br /&gt;
        &amp;lt;file&amp;gt;truckreverse.wav&amp;lt;/file&amp;gt;&lt;br /&gt;
    &amp;lt;/action&amp;gt;&lt;br /&gt;
    &amp;lt;action&amp;gt;&lt;br /&gt;
        &amp;lt;name&amp;gt;screenshot&amp;lt;/name&amp;gt;&lt;br /&gt;
        &amp;lt;file&amp;gt;garbagecompress.wav&amp;lt;/file&amp;gt;&lt;br /&gt;
    &amp;lt;/action&amp;gt;&lt;br /&gt;
	&amp;lt;action&amp;gt;&lt;br /&gt;
        &amp;lt;name&amp;gt;error&amp;lt;/name&amp;gt;&lt;br /&gt;
        &amp;lt;file&amp;gt;truckreverse.wav&amp;lt;/file&amp;gt;&lt;br /&gt;
    &amp;lt;/action&amp;gt;&lt;br /&gt;
&amp;lt;/actions&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;windows&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
This refers to window specific sounds, like opening or closing the home menu, games menu, etc.&lt;br /&gt;
&lt;br /&gt;
To add a new sound, add a block like this to &amp;lt;code&amp;gt;&amp;lt;windows&amp;gt;&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;window&amp;gt;&lt;br /&gt;
    &amp;lt;name&amp;gt;infodialog&amp;lt;/name&amp;gt;&lt;br /&gt;
    &amp;lt;activate&amp;gt;notify.wav&amp;lt;/activate&amp;gt;&lt;br /&gt;
    &amp;lt;deactivate&amp;gt;out.wav&amp;lt;/deactivate&amp;gt;&lt;br /&gt;
&amp;lt;/window&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Where &amp;lt;code&amp;gt;&amp;lt;name&amp;gt;&amp;lt;/code&amp;gt; specifies the window to map a sound to, and &amp;lt;code&amp;gt;&amp;lt;activate&amp;gt;&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;&amp;lt;deactivate&amp;gt;&amp;lt;/code&amp;gt; are the events a sound can be mapped to (i.e., when the window is showing or hiding).&lt;br /&gt;
&lt;br /&gt;
Valid entries for &amp;lt;code&amp;gt;&amp;lt;name&amp;gt;&amp;lt;/code&amp;gt; can be found at [[Window IDs]]&lt;br /&gt;
&lt;br /&gt;
Note: Custom skin files may be used, use window IDs if this is the case&lt;br /&gt;
&lt;br /&gt;
==== &amp;#039;&amp;#039;&amp;#039;&amp;lt;windows&amp;gt; example&amp;#039;&amp;#039;&amp;#039; ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;windows&amp;gt;&lt;br /&gt;
    &amp;lt;window&amp;gt;&lt;br /&gt;
        &amp;lt;name&amp;gt;notification&amp;lt;/name&amp;gt;&lt;br /&gt;
        &amp;lt;activate&amp;gt;garbagecompress.wav&amp;lt;/activate&amp;gt;&lt;br /&gt;
        &amp;lt;deactivate&amp;gt;garbagecompressdone.wav&amp;lt;/deactivate&amp;gt;&lt;br /&gt;
    &amp;lt;/window&amp;gt;&lt;br /&gt;
    &amp;lt;window&amp;gt;&lt;br /&gt;
        &amp;lt;name&amp;gt;home&amp;lt;/name&amp;gt;&lt;br /&gt;
        &amp;lt;activate&amp;gt;home.wav&amp;lt;/activate&amp;gt;&lt;br /&gt;
        &amp;lt;deactivate&amp;gt;-&amp;lt;/deactivate&amp;gt;&lt;br /&gt;
    &amp;lt;/window&amp;gt;&lt;br /&gt;
    &amp;lt;window&amp;gt;&lt;br /&gt;
        &amp;lt;name&amp;gt;startup&amp;lt;/name&amp;gt;&lt;br /&gt;
        &amp;lt;activate&amp;gt;truckstarts.wav&amp;lt;/activate&amp;gt;&lt;br /&gt;
        &amp;lt;deactivate&amp;gt;-&amp;lt;/deactivate&amp;gt;&lt;br /&gt;
    &amp;lt;/window&amp;gt;&lt;br /&gt;
&amp;lt;/windows&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Final result =&lt;br /&gt;
&lt;br /&gt;
If you followed this guide step-by-step, you should have an add-on structure similar to this&lt;br /&gt;
&lt;br /&gt;
[[File:UI sounds folder structure.png|400px]]&lt;br /&gt;
&lt;br /&gt;
Now place the folder containing these files in your Kodi addons folder, or pack the folder in a ZIP and install it from within Kodi itself.&lt;br /&gt;
&lt;br /&gt;
== Submit your add-on! ==&lt;br /&gt;
If you feel like, it&amp;#039;s encouraged that you [[Submitting Add-ons|submit you addon to the official Kodi repository]], just make sure to follow the guidelines and to not use any copyrighted work without permission.&lt;br /&gt;
&lt;br /&gt;
Happy sampling!&lt;br /&gt;
&lt;br /&gt;
[[Category:Skin_development]]&lt;br /&gt;
[[Category:Add-on development]]&lt;/div&gt;</summary>
		<author><name>SistemaRayoXP</name></author>
	</entry>
</feed>