Kodi, algunos usos del archivo advancedsettings.xml

En la entrada del blog sobre los pasos a seguir para tener la base de datos de Kodi centralizada en un NAS Synology, ya comenté que para hacerlo era necesario tener un archivo llamado advancedsettings.xml.

Este archivo, como su propio nombre indica, permite cambiar unos parámetro avanzados de la configuración de Kodi a los que de otra forma no tendríamos acceso.

El archivo no existe por defecto, lo tienes que crear tú mismo. Para hacerlo podemos usar cualquier editor de texto plano como el Bloc de notas, guardar un archivo txt y posteriormente cambiar su extensión a xml y ponerle el nombre correcto. Pero es recomendable usar un editor de código de los muchos que existen (Notepad++, Atom…).

Posteriormente, una vez añadido el código que necesitamos al archivo, hay que trasladarlo a la carpeta userdata de Kodi. Ten en cuenta que en esa carpeta el archivo afectará al perfil Master User que Kodi crea por defecto (y que estarás usando si no has creado ningún perfil nuevo). Si además del Master User usas otros perfiles en tu instalación, tendrás que crear un archivo advancedsettings.xml para cada uno de ellos y colocarlo en su propia carpeta (userdata/profiles/carpeta_del_perfil/).

Pero empecemos por el principio:

El archivo advancedsettings.xml tiene que empezar por la etiqueta <advancedsettings> y terminar por </advancedsettings>. Entre ambas etiquetas añadiremos otras (siempre en minúsculas) que modificarán el comportamiento normal de Kodi:

<advancedsettings>
</advancedsettings>

La cantidad de parámetros que puedes modificar con este archivo es inmensa y los tienes todos en la wiki de Kodi.

Volviendo al tutorial sobre el cambio de ubicación de la base de datos de Kodi, abrimos dos etiquetas (videodatabase y musicdatabase) que nos permitieron decirle a Kodi que queríamos guardar sus bases de datos MySQL (type), tanto de video como de música, en nuestro NAS (dirección IP del la etiqueta «host»), a través de un puerto determinado (port), usando unas credenciales de acceso en el NAS (user y pass) y dándoles el nombre que nosotros queríamos (name):

<advancedsettings>
  <videodatabase>
    <type>mysql</type>
    <host>X1</host>
    <port>3306</port>
    <user>X2</user>
    <pass>X3</pass>
    <name>X4</name>
  </videodatabase>
  <musicdatabase>
    <type>mysql</type>
    <host>X1</host>
    <port>3306</port>
    <user>X2</user>
    <pass>X3</pass>
    <name>X5</name>
  </musicdatabase>
</advancedsettings>

Lógicamente todas las X hay que cambiarlas por nuestros datos concretos.

Pero hay más cosas que pueden interesarnos. Por ejemplo, podemos querer limpiar la colección inmediatamente después de actualizarla. De esa manera, todo lo que hayamos eliminado desaparecerá de Kodi. Para ello utilizamos una nueva etiqueta: <videolibrary>:

<videolibrary>
  <cleanonupdate>true</cleanonupdate>
</videolibrary>

Algo que me parece fundamental teniendo varios dispositivos en casa donde tengo instalado Kodi es guardar en un único sitio nuestras listas de reproducción (playlist). Así, cuando creas una nueva lista en uno de los dispositivos, la tienes inmediatamente disponible en los demás. Para eso usamos la etiqueta <pathsubstitution>:

<pathsubstitution>
  <substitute>
    <from>special://profile/playlists/</from>
    <to>la_ruta_de_la_carpeta_donde_quiras_guardarlas</to>
  </substitute>
  <substitute>
    <from>special://profile/favourites.xml</from>
    <to>la_ruta_de_la_carpeta_donde_quiras_guardarlas</to>
  </substitute>
</pathsubstitution>

Como ves también se puede usar para centralizar los favoritos de Kodi.

Por último, algo que también me parece imprescindible teniendo un NAS Synology, es ocultar las molestas carpetas ocultas llamadas @eaDIR que genera nuestro Synology para su uso propio. Esas carpetas permanecen ocultas para todos los sistemas menos para Kodi y verás que aparecen cada vez que actualices la colección. Usando las siguiente etiquetas puedes evitarlo:

<video>
  <excludefromscan>
    <regexp>@eaDir</regexp>
    <regexp>@eadir</regexp>
    <regexp>@EADIR</regexp>
  </excludefromscan>
  <excludetvshowsfromscan>
    <regexp>@eaDir</regexp>
    <regexp>@eadir</regexp>
    <regexp>@EADIR</regexp>
  </excludetvshowsfromscan>
  <excludefromlisting>
    <regexp>@eaDir</regexp>
    <regexp>@eadir</regexp>
    <regexp>@EADIR</regexp>
  </excludefromlisting>
</video>

Estos son tan sólo unos pocos parámetros que a mi me interesa controlar con el archivo advancedsettings.xml, pero como habrás podido ver en la wiki de Kodi, hay muchísimos más.

El resultado completo del archivo quedaría así:

<advancedsettings>
  <videodatabase>
    <type>mysql</type>
    <host>X1</host>
    <port>3306</port>
    <user>X2</user>
    <pass>X3</pass>
    <name>X4</name>
  </videodatabase>
  <musicdatabase>
    <type>mysql</type>
    <host>X1</host>
    <port>3306</port>
    <user>X2</user>
    <pass>X3</pass>
    <name>X5</name>
  </musicdatabase>
  <videolibrary>
    <cleanonupdate>true</cleanonupdate>
  </videolibrary>
  <pathsubstitution>
    <substitute>
     <from>special://profile/playlists/</from>
     <to>la_ruta_de_la_carpeta_donde_quiras_guardarlas</to>
    </substitute>
    <substitute>
     <from>special://profile/favourites.xml</from>
     <to>la_ruta_de_la_carpeta_donde_quiras_guardarlas</to>
    </substitute>
  </pathsubstitution>
  <video>
    <excludefromscan>
     <regexp>@eaDir</regexp>
     <regexp>@eadir</regexp>
     <regexp>@EADIR</regexp>
    </excludefromscan>
    <excludetvshowsfromscan>
     <regexp>@eaDir</regexp>
     <regexp>@eadir</regexp>
     <regexp>@EADIR</regexp>
    </excludetvshowsfromscan>
    <excludefromlisting>
     <regexp>@eaDir</regexp>
     <regexp>@eadir</regexp>
     <regexp>@EADIR</regexp>
    </excludefromlisting>
  </video>
</advancedsettings>

Si decides usar el contenido de mi archivo, recuerda modificar los datos concretos de tu propia instalación (direcciones IP, contraseñas…)

Deja un comentario