Jump to content

All my products and services are free. All my costs are met by donations I receive from my users. If you enjoy using any of my products, please donate to support me. Thank you for your support. Tom Speirs

Patreon

Filtering MAME Video Snaps


nullPointer

Recommended Posts

I'm looking for a way to filter my MAME video snaps so that my video snap directory only contains videos for the games I display in GameEx (after all filters and excluded ROMS are taken into account). Not only will this save some disk space, but I find it jarring when I'm scrolling through emulator lists and GameEx pops up a preview video for a game that I've either filtered or excluded from my game list.

In my first attempt at this I used the GameEx generated MAME.mdb to create a batch file which moves video snaps according to matching ROM names. In other words I used the rom names contained in the database to create a batch file which I intended to apply to my video snaps. This batch script would segregate 'used' video snaps form 'unused' video snaps. The trouble with this approach is that a significant number of my video snaps (acquired from the EmuMovies Download Utility) are not exact matches to my rom names (i.e. 1943.mp4 does not match 1943j.zip). Thus the batch script fails to detect a number of video snaps to move over to the 'used' directory.

So I have a few of questions:

  1. Is there a way to coax GameEx into giving up the video list it uses for the All MAME Games List? I know that GameEx.ini contains video lists for the other MAME Lists (MAME Originals, Golden Age, Spinner, etc.), but not so for the All Games list.
    .
  2. I'm thinking about applying Tempest's SkinnyMatch application to my video snaps so that the video names are an exact match to rom names. Using this approach the batch script I created should work as intended. That's fine and dandy, but will this cause me problems if I decide to update my artwork via the EmuMovies utility? I really don't need a 1943.mp4 and a 1943j.mp4, particularly if they are in fact the same video. Does the download utility apply a matching algorithm or does it simply look for an exact match?
    .
  3. Are there any alternative approaches for pulling this off?

Thanks in advance for any help or suggestions!

Link to comment
Share on other sites

If you remove the files from your roms directory as well, I don't think the EmuMovies downloader will try to download the videos. I'm not sure, but I believe that GameEx generates a map file for MAME that you can use to parse your directories using whatever utility you want. I know the list exists, but I can't remember if it is in a map file or just in the DATA.mdb file. Either way, it's stored somewhere that you can access it.

Link to comment
Share on other sites

If you remove the files from your roms directory as well, I don't think the EmuMovies downloader will try to download the videos.

That was my initial thought too, and on the surface it’s very accurate. This method works great for standard emulators in which any particular game is represented by a single rom (or archive). So I started down the path of removing roms and artwork in tandem. My goal is to de-duplicate games in my set with a preference for U.S. and European games in the event that there are duplicates across regions. What this lead me to realize what there are a fairly sizeable number of games in which the Japanese version is considered to be the parent set while the U.S. Version is considered a clone. The most famous example of this is the whole Puck-Man vs. Pac-Man thing, but it turns out there are a bunch of games like this. Due to the fact that I maintain split MAME sets, removing the parent also meant I lost the ability to play the clone in many cases (the clone would often be absent from my game list upon rebuilding from GameEx). That left me with the rather unsavory option of unmerging my MAME sets, which I would prefer to avoid if at all possible (particularly over such a trivial issue of what videos I’d like to display in GameEx). After that I went down the road of manually excluding games from GameEx which seems to have worked well thus far.

I believe that GameEx generates a map file for MAME that you can use to parse your directories using whatever utility you want. I know the list exists, but I can't remember if it is in a map file or just in the DATA.mdb file. Either way, it's stored somewhere that you can access it.

That’s about as far as I got too. I’m guessing that it’s the MAME.mdb contains the list (at least it is as far as I can tell). The trouble is that my artwork is not an exact match to the rom names contained in the list, so when I parse my artwork directory it misses quite a few files due to non-matching names.

I think I’m probably going to go down the path of renaming my artwork using SkinnyMatch, at which point I can accurately parse the directory using the generated MAME list (from the .mdb). At this point I’m mainly wondering if the EmuMovies utility will start spamming me with duplicate videos if I try to update my MAME artwork after having renamed the video files. This may require some small scale tinkering on my on my part . . . If I can determine a definite answer I’ll post the result (unless someone speaks up in the meantime).

Link to comment
Share on other sites

Thanks Circo, that sheds some light on the topic. I’ve been meaning to update this thread, but it was looking like an issue that only I alone had any interest in. As I’ve been thinning down my MAME artwork, my initial questions have been answered somewhat, but I’ve altered my approach. Here’s what I’m doing now (as if anyone cares but me). It’s a bit convoluted.

As bkenobi pointed out the easiest way to accomplish my goals would be to have a rom directory consisting of only the games I want to display in GameEx, and build my artwork directory from there. The catch is that I really only need a directory containing files matching the rom names of the games I display in GameEx. I don’t actually need that directory to house the roms themselves. So here’s what I did (this gets ugly): :unsure:

I used the MAME.mdb generated by GameEx to populate a batch script which creates one empty file for each rom entry in the database in a temp directory. I also could have simply copied roms into this directory, but I really only needed dummy files, and it was just as easy to go that route (as well as less HD intensive).

Next I used the same database list to create a separate batch script to move my MAME artwork into a new directory. This script moved all artwork with an exact match to a rom named in the GameEx list. This directory will become my ‘GameEx artwork’ directory containing artwork only for the games I display in GameEx.

Then I used Tempest’s awesome SkinnyMatch application to generate a list of missing artwork for the directory containing the empty ‘rom’ files. Using that list it becomes a manual process of moving artwork from the ‘master’ artwork directory to the ‘GameEx artwork’ directory.

I only did this for video snaps since that’s primarily what I’m concerned about for this functionality (this gets back to GameEx displaying videos not displayed in my game list when selecting MAME, or All MAME games). Like I said, pretty convoluted but it worked for me, and I’m happy with the results.

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...