Please do not post a support request without first reading and following the advice in https://retropie.org.uk/forum/topic/3/read-this-first

RetroPi Media - gamelist.xml generator



  • I tried using other xml generator programs and they didn’t work for me so I wrote this little app in VB.Net.

    Also, I didn’t have good results with the “scrapers”. I used Hyperspin for my first system and like the way gamelists or in their case “Official” Hyperlists are created/published. Once you have a good set of ROMS with correct or “official” names, its easy to get the snaps, videos etc using Emumovies sync app.
    With this app you can edit your existing gamelist or start from scratch using Hyperlist databases.
    • Edit existing gamelist.xml
    • Create new gamelist by starting with Hyperlist database
    • Rename rom to match official gamelist
    • See status of all ROM, videos, snaps, boxart, shows preview of each media file

    DOWNLOAD LATEST VERSION HERE:

    This is a Windows english app only.
    Here is a screenshot of my app. If anyone would like ot try it out, just reply here and I'll send you a link., I don't want to post a link just yet as I'd like a few people to try it out and give me feedback. I may create a how to video if people are interested in this app.!

    screenshot.JPG



  • I will give it a go, just about to start a few projects



  • Hi,

    I cant find any MARQUEE options. They are necessary for some themes.



  • @SuperPitendo said in RetroPi Media - gamelist.xml generator:

    I cant find any MARQUEE options.

    I can add Marquees settings, I don't use them so I didn't think aobut it.



  • this is what the gamelist looks like when created.
    note: if creating from hyperlists, the <desc> field will contain just the game name not a description of the game. also the rating is same for all.

    check to see if the file paths are correct for your system.

    <game>
    		<path>./Addams Family, The (USA).zip</path>
    		<name>Addams Family, The (USA)</name>
    		<cover>./media/covers/Addams Family, The (USA).png</cover>
    		<image>./media/screenshots/Addams Family, The (USA).png</image>
    		<marquee ></marquee >
    		<video>./media/videos/Addams Family, The (USA).mp4</video>
    		<rating>0.9</rating>
    		<desc>Addams Family, The (USA)</desc>
    		<releasedate>1992</releasedate>
    		<developer>Ocean</developer>
    		<publisher>Ocean</publisher>
    		<genre>Platform</genre>
    		<players>2</players>
    	</game>
    


  • @MotoGp I know, some dudes like marquees and others dont.
    But the effort you put in this tool will not be appreciated as it should if you target (unintenionally) a splitgroup (metadata user) of a splitgroup (without interest in marquees). You see, the target group become pretty small.
    My advise: more flexibility!!!

    1. Anything that can be scraped, should be an option (like marquees)
    2. I like my metadata in one folder per system (like sselphscraper does it), not in three different folders. here should be an option too.
    3. I see there is a kind of check if there are some missing roms. But missing in comparison to what? Wich list from where is taken to check the missing roms? I think being able to add the newest dat.files by yourself would be an amazing feature in your tool.
    4. The one thing I really miss in any scraper and tool is a prepared (maybe drop down) list of publisher, developer and genre. After many scraping session with different scrapers, I was always unamused about the inkonsistencies in spelling of these tags and sorting by these tags was useless...

    Cheers!



  • @SuperPitendo said in RetroPi Media - gamelist.xml generator:

    @MotoGp I know, some dudes like marquees and others dont.
    But the effort you put in this tool will not be appreciated as it should if you target (unintenionally) a splitgroup (metadata user) of a splitgroup (without interest in marquees). You see, the target group become pretty small.
    My advise: more flexibility!!!

    1. Anything that can be scraped, should be an option (like marquees)
    2. I like my metadata in one folder per system (like sselphscraper does it), not in three different folders. here should be an option too.
    3. I see there is a kind of check if there are some missing roms. But missing in comparison to what? Wich list from where is taken to check the missing roms? I think being able to add the newest dat.files by yourself would be an amazing feature in your tool.
    4. The one thing I really miss in any scraper and tool is a prepared (maybe drop down) list of publisher, developer and genre. After many scraping session with different scrapers, I was always unamused about the inkonsistencies in spelling of these tags and sorting by these tags was useless...

    Cheers!

    1. This app isn't a scraper, it does not download anything. I've added the marquess to the setup.
    2. You can put all of your data in one folder like roms\systemname\media\
    3. the check is this. If you use either a gamelist from someone or a Hyperlist, it check to see if you have the roms that match the list. I'm not sure what the dat.files are.
    4. I'm note usre how to handle this one.

    The overall intent of my app was to see what roms you had and the cooresponding images. It just basically shows you what you have and what is missing.

    It allows you to edit the gamelist file. But again, its not a scraper app. The whole scraper thing is foreign to me. I understnad what it does but I think the results of the ones I tried and pretty bad.

    If to others this app serves no purpose, I'll just use it myself. I just thought I'd share it and maybe would be useful to someone else. I made a similar app for Hyperspin years ago and was useful for that system but Hyperspin didn't "scrape" to create your gamelist, the lists were already made and you downloaded them to your systema and sometimes you had a game in the menu but you actually did not have the rom, so I was avoiding that issue.



  • @MotoGp App looks great, would it be possible to get Attract-Mode lists from it? They are in txt format so will require output in simple text rather then xml.



  • @rand0m I haven't setup attract mode on mine. can you show me the file that is used for it? I'm sure I can create it.



  • Can I give it a go?
    I wanted to convert hyperspin and nfo files to pegasus but it's painfully slow to manually do it. even using scripts and trying to get everything right in regex.

    TIA



  • Here is the first release. I added the Marquee files

    As always try one system first, back up your data first.
    Capture.JPG
    There is nothing to install, just unzip the file and run RetroPieMedia.exe. Do not try to run from within the zip file. Keep all the files from the zip in the same folder. The folder name doesn’t matter.

    RetroPie Media Basic Instructions:

    1. Setup folders and extensions
    2. Browse to rom Folder for the desired system.
    3. Browse and select Hyperlist.xml file for system.
    4. Click Import button. This process can take a little time depending on how many games are listed in the xml file. Wait for the “Success” message to appear.
    5. Now the Hyperlist.xml will be displayed in the data grid. Anything in green means the file was located. Red means the file was not found. If all of your roms are red double check you entered the correct rom extension. Also all roms must have the same extension.
    6. At this point no files are changed/created.
    7. If you have unmatched roms you can match them by selecting the game name in the left data grid then selecting the corresponding rom file in the unmatched list then click match.
    8. Once you’ve matched all the files you can, you can archive the unmatched files, they get moved to roms\orphans.
    9. If you want to remove games from the list that do not have a rom, click the” remove games “button. This is only removing it from the data grid. To undo just click “import” again.
    10. Once you have the list how you want it, click “Generate xml” This will create a backup of your current gamelist.xml and then create a new one.

    You can download the program from here:
    https://www.dropbox.com/s/3bpa8435bfe6luv/RetroPieMedia Release 2.zip?dl=0

    The xml output looks like this.
    <game>
    <path>./10-Yard Fight (USA, Europe).zip</path>
    <name>10-Yard Fight (USA, Europe)</name>
    <cover>./media/covers/10-Yard Fight (USA, Europe).png</cover>
    <image>./media/screenshots/10-Yard Fight (USA, Europe).png</image>
    <marquee>./media/marquees/10-Yard Fight (USA, Europe).png</marquee>
    <video>./media/videos/10-Yard Fight (USA, Europe).mp4</video>
    <rating>0.9</rating>
    <desc>10-Yard Fight (USA, Europe)</desc>
    <releasedate>1985</releasedate>
    <developer>Nintendo</developer>
    <publisher>Nintendo</publisher>
    <genre>Sports/Football</genre>
    <players>2</players>
    </game>



  • @bhakta said in RetroPi Media - gamelist.xml generator:

    Can I give it a go?
    I wanted to convert hyperspin and nfo files to pegasus but it's painfully slow to manually do it. even using scripts and trying to get everything right in regex.

    TIA

    Please give it a try and let me know if you have an issues, thanks



  • @MotoGp I'm giving this a go. I pointed the app to my roms folder (arcade) and I received the following error:


    Source File Error

    Action cancelled.

    Source File does not have correct number of attributes

    ROM: ./005.zip Only has: 4

    OK



  • @davidonabus said in RetroPi Media - gamelist.xml generator:

    @MotoGp I'm giving this a go. I pointed the app to my roms folder (arcade) and I received the following error:


    Source File Error

    Action cancelled.

    Source File does not have correct number of attributes

    ROM: ./005.zip Only has: 4

    OK

    When reading the gamelist.xml file, I added code to check to see how many attributes each game has. I found that some of the "scrapers" were inconsistant with what information it wrote for each game. So if you open your gamelist.xml and scoll down to the game 005.zip you will see that between the <game> & </game> there are only 4 nodes like <path><Image> etc. can you post the xml data from you game list for this particular game? I guess I could edit the code to still import it but you may only get the game name. Posting a snippet of your xml will be helpful. What scraper did you use?



  • @MotoGp the file is txt named after the system like if the system is named genesis the filed created will be genesis.txt. The file uses ; as separator with every entry (game) being on a separate line and has following structure:

    #Name;Title;Emulator;CloneOf;Year;Manufacturer;Category;Players;Rotation;Control;Status;DisplayCount;DisplayType;AltRomname;AltTitle;Extra;Buttons

    Example:

    Bank Heist (USA);Bank Heist;;;1983;Fox;Puzzle;;;;;;;;;;



  • @MotoGp said in RetroPi Media - gamelist.xml generator:

    @davidonabus said in RetroPi Media - gamelist.xml generator:

    @MotoGp I'm giving this a go. I pointed the app to my roms folder (arcade) and I received the following error:


    Source File Error

    Action cancelled.

    Source File does not have correct number of attributes

    ROM: ./005.zip Only has: 4

    OK

    When reading the gamelist.xml file, I added code to check to see how many attributes each game has. I found that some of the "scrapers" were inconsistant with what information it wrote for each game. So if you open your gamelist.xml and scoll down to the game 005.zip you will see that between the <game> & </game> there are only 4 nodes like <path><Image> etc. can you post the xml data from you game list for this particular game? I guess I could edit the code to still import it but you may only get the game name. Posting a snippet of your xml will be helpful. What scraper did you use?

    I rewrote the code around this. Now if an attribute is missing like Genre, it will just leave it blank.
    I updated the zip here.
    https://www.dropbox.com/s/3bpa8435bfe6luv/RetroPieMedia Release 2.zip?dl=0



  • @rand0m said in RetroPi Media - gamelist.xml generator:

    @MotoGp the file is txt named after the system like if the system is named genesis the filed created will be genesis.txt. The file uses ; as separator with every entry (game) being on a separate line and has following structure:

    #Name;Title;Emulator;CloneOf;Year;Manufacturer;Category;Players;Rotation;Control;Status;DisplayCount;DisplayType;AltRomname;AltTitle;Extra;Buttons

    Example:

    Bank Heist (USA);Bank Heist;;;1983;Fox;Puzzle;;;;;;;;;;
    that would be pretty easy to create.
    So there is a file per system like nes.txt, atari2600.txt and in each txt it contains the all of the games? or do you select the games you want?



  • @rand0m said in RetroPi Media - gamelist.xml generator:

    @MotoGp the file is txt named after the system like if the system is named genesis the filed created will be genesis.txt. The file uses ; as separator with every entry (game) being on a separate line and has following structure:

    #Name;Title;Emulator;CloneOf;Year;Manufacturer;Category;Players;Rotation;Control;Status;DisplayCount;DisplayType;AltRomname;AltTitle;Extra;Buttons

    Example:

    Bank Heist (USA);Bank Heist;;;1983;Fox;Puzzle;;;;;;;;;;

    Ok, I created this script for you. Where is the text file stored? In the root of the roms folder?

    Here is a sample output for one system.

    Aggressive Inline (USA);Aggressive Inline (USA);;;2002;Acclaim;Skating/Sports;;;;;;;;;;
    AirForce Delta Storm (USA) (En,Ja,Fr,De);AirForce Delta Storm (USA) (En,Ja,Fr,De);;;2002;Konami;Shoot-'Em-Up;;;;;;;;;;
    Aladdin (USA) (En,Fr,De,Es);Aladdin (USA) (En,Fr,De,Es);;;2004;Capcom;Platform;;;;;;;;;;
    Alex Rider - Stormbreaker (USA);Alex Rider - Stormbreaker (USA);;;2006;THQ;Action;;;;;;;;;;
    Alien Hominid (Europe) (En,Fr,De,Es,It);Alien Hominid (Europe) (En,Fr,De,Es,It);;;2006;Zoo Digital Publishing;Shooter;;;;;;;;;;
    Alienators - Evolution Continues (USA, Europe);Alienators - Evolution Continues (USA, Europe);;;2001;Activision;Action;;;;;;;;;;
    All Grown Up! - Express Yourself (USA, Europe);All Grown Up! - Express Yourself (USA, Europe);;;2004;THQ;Miscellaneous;;;;;;;;;;
    All-Star Baseball 2003 (USA);All-Star Baseball 2003 (USA);;;2002;Acclaim;Baseball/Sports;;;;;;;;;;
    All-Star Baseball 2004 (USA);All-Star Baseball 2004 (USA);;;2003;Acclaim;Baseball/Sports;;;;;;;;;;
    Altered Beast - Guardian of the Realms (USA);Altered Beast - Guardian of the Realms (USA);;;2002;THQ;Beat-'Em-Up;;;;;;;;;;
    Amazing Virtual Sea-Monkeys, The (USA);Amazing Virtual Sea-Monkeys, The (USA);;;2002;Conspiracy Entertainment;Action;;;;;;;;;;



  • @MotoGp Thanks, every system has a separate list and only contains the items (roms) present in the rom directory ( given by user) if list is created through Attrcat-Mode. Otherwise a romlist can contain all items even those not present in a rom directory, users can then create a filter which only displays items which actually exist.

    In PC the romlists are stored in Attrcat-Mode (root folder)\romlists. The sample is spot on.



  • @rand0m said in RetroPi Media - gamelist.xml generator:

    @MotoGp Thanks, every system has a separate list and only contains the items (roms) present in the rom directory ( given by user) if list is created through Attrcat-Mode. Otherwise a romlist can contain all items even those not present in a rom directory, users can then create a filter which only displays items which actually exist.

    In PC the romlists are stored in Attrcat-Mode (root folder)\romlists. The sample is spot on.

    The latest release includes this function. It will only export games where the check box "include" is checked. The default is if the rom is found it is checked. So if there is a rom you don't want o include, you can just uncheck it. My only question is for the #name should it have the ROM extension?

    Latest build is here 9/23/2019
    https://www.dropbox.com/s/3bpa8435bfe6luv/RetroPieMedia Release.zip?dl=0


Log in to reply
 

Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.

Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.