[TUTORIAL] Path videos ES

Soporte General para RetroPie
Responder
Avatar de Usuario
monoculero
Pi Omega
Pi Omega
Mensajes: 79
Registrado: 18 Feb 2017, 21:28
Agradecido: 0
Agradecimiento recibido: 0

Hola a todos.
Resulta que me he encontrado un theme para EmulationStation (ES) el cuál permite reproducir el video de la rom que se va seleccionado desde el menú de selección. Pero para poder usar los videos, se tiene que configurar el directorio (path) donde se encuentran en el gamelist correspondiente.

En este tutorial voy a intentar explicar como hacerlo de una manera muy sencilla. Eso si, está probado en Windows 7, no sé si para otros Windows puede funcionar, que supongo que si. Vamos a ello.

1.- Crear una carpeta nueva, por ejemplo en la unidad D: y nombrarla ES. Dentro de la misma copiar el gamelist.xml
2.- Crear un archivo de texto dentro esa carpeta y copiar el siguiente texto:

Código: Seleccionar todo

$doc = [xml] (Get-Content  gamelist.xml)

foreach ($gameEl in $doc.DocumentElement.game) { 
  # Use -replace to extract the filename without extension from the 
  # path contained in the <path> element.
  $gameName = $gameEl.path -replace '^.*/(.*)\..*$', '$1'
  # Append elements 'video' and 'marquee', but only if they don't already
  # exist.
  if ($null -eq $gameEl.video) {
    $gameEl.AppendChild($doc.CreateElement('video')).InnerText = "/home/pi/RetroPie/roms/mame-libretro/snap/${gameName}.mp4"
  }
  if ($null -eq $gameEl.marquee) {
    $gameEl.AppendChild($doc.CreateElement('marquee')).InnerText = "/home/pi/RetroPie/roms/mame-libretro/snap/${gameName}.png"
  }
}
rename-item gamelist.xml -newname oldgamelist.xml
$writer = [System.IO.StreamWriter] "gamelist.xml"
$doc.Save($writer)
$writer.Close()
3.- Guardar el archivo por ejemplo con el nombre video.txt
4.- Cambiar la extensión del archivo por ps1, quedando video.ps1
5.- Ejecutar como administrador la consola de comandos CMD
6.- Ir hasta esa carpeta mediante:

Código: Seleccionar todo

cd D:\ES
7.- Escribir PS ya en la consola de comandos para entrar a la ejecución de PowerShell
8.- Permitir ejecutar scripts desde PowerShell de la siguiente manera:

Código: Seleccionar todo

Set-ExecutionPolicy Unrestricted
9.- Ejecutar el archivo mediante:

Código: Seleccionar todo

./video.ps1
Tras la ejecución, si todo ha ido bien, se habrán creado los tags de video y marquesina para el gamelist del sistema, que en este caso, es del mame, que es para el que lo he usado, porque tenía más de 1400 roms.

Tener en cuenta que la parte final del script lo que se hace también es renombrarse el gamelist.xml original dejándolo como oldgamelist.xml y se genera un nuevo gamelist.xml con estos tags insertados.

Fijaros que la ruta que he colocado es la que yo tengo, /home/pi/RetroPie/roms/mame-libretro/snap/ pero podéis poner la que necesitéis vosotros, según donde tengáis los videos.

En la ruta /home/pi/.emulationestation están los emuladores instalados, de donde podéis sacar los gamelist.xml de cada sistema.

Espero que os funcione.
Un saludo!

Este post está creado a partir del siguiente, el cuál he modificado un poco a mis necesidades, tal y como os he explicado:
https://retropie.org.uk/forum/topic/658 ... eo-support

El tema para ES que permite videos lo tenéis aquí, ponerlo en /home/pi/.emulationstation/themes:
http://www.mediafire.com/file/vs3tr3sst ... 8_720p.zip

Gracias Nismo por todo ese curro!!
Última edición por monoculero el 29 Mar 2017, 21:45, editado 3 veces en total.
z4rko
Pi Beta
Pi Beta
Mensajes: 120
Registrado: 02 Feb 2017, 13:19
Agradecido: 0
Agradecimiento recibido: 0

La manera rápida de hacerlo es mediante las opciones de ruta del universal xml scraper.
Avatar de Usuario
Retropie1981
Pi Omega
Pi Omega
Mensajes: 66
Registrado: 17 Dic 2016, 17:27
Agradecido: 0
Agradecimiento recibido: 0

como te indica el compañero, la única forma de hacerlo automáticamente es con el universal xml scraper, eso si tarda bastante en hacerlo.
Avatar de Usuario
monoculero
Pi Omega
Pi Omega
Mensajes: 79
Registrado: 18 Feb 2017, 21:28
Agradecido: 0
Agradecimiento recibido: 0

Muchas gracias a todos!! Lo probaré.

Un saludo!
Responder