Jump to content


Delete artwork files associated with certain roms?


31 replies to this topic

#1 nullPointer

    Advanced Member

  • Elite Member
  • PipPipPipPip
  • 270 posts
  • Gender:Male
  • Location:Montana, USA

Posted 19 February 2012 - 03:39 AM

I'm glad to see that I'm not the only one bugged by this. This is the same issue I brought up in this post. I considered making a feature request at that time, but I tend to hesitate in making a request in which I'm (seemingly) the only user interested in the change. I'm glad I'm not alone here. :)

Essentially I'd like to make a request in which the GameEx menu only displays videos that actually appear in your game list (after filters and excluded roms are applied). In other emulators this is fairly easy to manage since in that situation your video names are an exact match to rom names (thus making it fairly easy to generate a batch file for moving videos around). MAME complicates the issue in that video names are not an exact match to rom names once parent/clone sets and file name matching are taken into account.

Any hoo, I'll put in the request once I can get my kids soundly into bed (unless someone beats me to it - the request that is - I can probably manage with my kids).

Posted Image


#2 Draco1962

    Grand Poobah of the Loyal Order of Procrastinating Misanthropes

  • Admin
  • PipPipPipPipPipPipPip
  • 3,173 posts
  • Gender:Male
  • Location:Jacksonville, Florida USA
  • Interests:Anything PC, Arcade, or Xbox related.

Posted 19 February 2012 - 03:59 AM

Hmmm... Hey Adultery! What do you think it would take to create an app/plug-in that will read the paths set for MAME in the gameex.ini file for the images (snaps, marquees, cabinets, etc), manuals, and ROMs. and list the various categories that appear in the catver.ini file?

I see an application that would not only allow us to delete the *mature* labled ROMS and images, but also allow for the actual elimination of casino, pinball, quiz, or whatever category/sub-category catver.ini lists. The program I linked to is an example of a simple interface (although I know you can do much better). It is really just a filtering program and, based upon the settings within its .ini file, it does not delete ROMs.

A plus to this would be a smaller gameex.ini file as it would not have to have an extensive filter list to load with everything else.

#3 ehuonder

    Advanced Member

  • Members
  • PipPipPipPip
  • 163 posts

Posted 19 February 2012 - 04:23 AM

I would say +1 to the feature request! I've just been lucky and not hit this issue I guess...

#4 Adultery

    GameEx Tweaker!!

  • Moderators
  • PipPipPipPipPipPipPip
  • 4,670 posts
  • Gender:Male
  • Location:Wisconsin
  • Interests:Heiney-kins???

Posted 19 February 2012 - 06:15 PM

I'm not sure I follow ya. :)

Give me a nuts and bolts explaination of what ya need and I'll bounce some ideas off you guys.

Posted Image

Posted Image


#5 Draco1962

    Grand Poobah of the Loyal Order of Procrastinating Misanthropes

  • Admin
  • PipPipPipPipPipPipPip
  • 3,173 posts
  • Gender:Male
  • Location:Jacksonville, Florida USA
  • Interests:Anything PC, Arcade, or Xbox related.

Posted 19 February 2012 - 07:18 PM

The application doesn't have to be super complicated or have a gazillion options. What I think would be ideal is:

- The application reads and loads the ROM and image paths from gameex.ini and the ROM descriptions from catver.ini
- It creates a list of all ROMS & images available in the user's collection
- It displays that list along with the catver.ini description in one window next to it
- The user can select from the ROM list noted above the files they wish to delete and/or select from categories in catver.ini (*mature*, casino, quiz, Japanese, Spanish, mahjong, etc.).
- The user can select which file types to delete (ROMS, Snaps, Marquees, Cabinets, Manuals, etc.) or select all.
- When the user clicks on the Delete button, they receive a warning box to Cancel or Continue. Click on Continue deletes the selected content from the selected libraries.

ROMLister gets you part way there, but you have to run some batches outside of the program to manage the ROMS. Not ideal in my book. Too much margin for error and is dependent upon the user knowing how to manage a command line, create batches, etc. when the power of the PC can be leveraged to handle for you.

#6 Adultery

    GameEx Tweaker!!

  • Moderators
  • PipPipPipPipPipPipPip
  • 4,670 posts
  • Gender:Male
  • Location:Wisconsin
  • Interests:Heiney-kins???

Posted 19 February 2012 - 07:42 PM

What if instead of deleting these roms it adds them to the Filter list in GameEx?

I personally wouldn't want to go deleting ROMs per se... :)

Posted Image

Posted Image


#7 nullPointer

    Advanced Member

  • Elite Member
  • PipPipPipPip
  • 270 posts
  • Gender:Male
  • Location:Montana, USA

Posted 19 February 2012 - 07:42 PM

Hmm . . . I'm not entirely convinced that filtering at the ROM level is the best approach for this particular issue. Even still it would be pretty handy to be able to do so. Here's what I would envision for a ROM filtering plug-in / standalone application in relation to GameEx.

I think the application would need to use the [Arcade]MAME.mdb database as a starting point. MAME.mdb gets rebuilt each time you rebuild your MAME game list. It incorporates any ROM filters you've put in place via the setup wizard (including Adult, Mahjong, and all the other available filters). The app would need to build a list based on both the MAME and MAMECloneOf columns in the database. The MAMECloneOf column would be necessary here so that the app wouldn't delete a parent set in which you'd still like to include the clone. That part is all pretty straight forward so far (for the most part).

Next the application would need to parse the GameEx.ini to determine what ROMS to exclude from the list. This is where the app needs to be a little bit tricky. The app needs to be smart enough to determine if the excluded ROM is a parent of a clone that we do want to display. It can't get rid of parent sets where we'd like to keep the clone around (otherwise it would necessitate unmerged sets, which I think are rarely used). This last bit brings up a good point though the app may need to know how the MAME sets are configured (merged, split, or unmerged), in order to determine how best to filter the ROMS.

From there the app can use the final list to determine all ROMS we'd like to include in our Game List. Everything else could be moved or deleted by the application (probably at the discresion of the user). It would be super slick if the app went ahead and automatically rebuilt your GameEx MAME list at that point (although this probably the assumes that the app be a plug-in, and rebuilding the MAME list is an available hook in the plug-in architecture / API)

It could all get a bit convoluted, but I think it's possible. Now I think the issue seen here may be better addressed in the form of a feature request. Essentially all that would need to happen here is that GameEx would build a video list for the All MAME Games menu in addition to the lists it already builds for the Golden Age, Light Gun, Atari, Neo-Geo and all the other MAME catagories. Then only display videos from the list for the All MAME Games menu.

That's my two cents. I'm sure someone else will be able to add to what I've suggested, or come up with an entirely better solution altogether. ;)

Posted Image


#8 Draco1962

    Grand Poobah of the Loyal Order of Procrastinating Misanthropes

  • Admin
  • PipPipPipPipPipPipPip
  • 3,173 posts
  • Gender:Male
  • Location:Jacksonville, Florida USA
  • Interests:Anything PC, Arcade, or Xbox related.

Posted 19 February 2012 - 07:59 PM

I think making the choice available to add to the filter or delete is best. To be a complete, ROM management solution, you should be able to delete from your collection. Ideally, one should backup their sets before performing any pruning operation.

I think that the more you you can keep from having to add to the gameex.ini file, the more sleek it should be. That is not to say it's not capable. I much prefer to avoid bloat wherever possible and the file has grown considerably in size since I started using GameEx several years ago.

I agree with Null so far as using the plugin, however, a standalone app would benefit those outside of the GameEx community.

#9 nullPointer

    Advanced Member

  • Elite Member
  • PipPipPipPip
  • 270 posts
  • Gender:Male
  • Location:Montana, USA

Posted 19 February 2012 - 09:06 PM

Yeah I definitely agree that adding a huge video list to the GameEx.ini is certainly not an altogether savory option. The other option that occurs to me is that GameEx could simply use the MAME.mdb itself as the All MAME Games video list. That probably makes the most sense. From there GameEx could simply apply any excluded ROMS to that list on the fly (or -possibly- better yet simply cache the compiled list at startup) to determine whether to display any given video in the menu.

I'm definitely getting into hypothetical territory here as it would be up to Tom how best to implement this feature, or indeed whether to implement it at all. So yeah, there I go trying to get all armchair quarterback again. :lol:

Posted Image


#10 Adultery

    GameEx Tweaker!!

  • Moderators
  • PipPipPipPipPipPipPip
  • 4,670 posts
  • Gender:Male
  • Location:Wisconsin
  • Interests:Heiney-kins???

Posted 19 February 2012 - 09:11 PM

Just for the record...

Quote

The MAMECloneOf column would be necessary here so that the app wouldn't delete a parent set in which you'd still like to include the clone.
I can get that info from the MAME.EXE via XML, no need to hook a DB for that. :)

Quote

Next the application would need to parse the GameEx.ini to determine what ROMS to exclude from the list.
That's easy enough to do with a plugin (I parse GameEx.ini for lots of stuff already). Not to speak "of the devil" as such, but as Drac said, what about the MAME community as a whole? I love doing GameEx plugins, and as always my first priority would be my fellow GameEx users. However I can see this being something others might like to consider using too, and I may want to use .NET Framework 4.0 instead of 2.0 for a change (GameEx is 2.0 dependant).

Quote

It would be super slick if the app went ahead and automatically rebuilt your GameEx MAME list at that point (although this probably the assumes that the app be a plug-in, and rebuilding the MAME list is an available hook in the plug-in architecture / API)
It can, and it is indeed hooked into the API to force a rebuild. :)

Quote

Now I think the issue seen here may be better addressed in the form of a feature request. Essentially all that would need to happen here is that GameEx would build a video list for the All MAME Games menu in addition to the lists it already builds for the Golden Age, Light Gun, Atari, Neo-Geo and all the other MAME catagories. Then only display videos from the list for the All MAME Games menu.
Wait a sec... We were talking about videos?

I was thinking that the app could keep two directories from a master set: Keep roms and removed roms. No delete needed unless the user opts to do it themselves and the master library is unaffected in that case. I think using catver to manually seperate ROMs is a great idea, and I may be able to further enhance this using a plugin. I have a few ideas bugging around, and I can't really proceed on iMagic until I can finish "Attract Mode" (everything else is done already except the RT API calls), so I might be shopping for a new project to work on... After I finish up this quick NDS MAP File Generator I'm working on that is (I always have a side project or two going). :)

Posted Image

Posted Image


#11 Draco1962

    Grand Poobah of the Loyal Order of Procrastinating Misanthropes

  • Admin
  • PipPipPipPipPipPipPip
  • 3,173 posts
  • Gender:Male
  • Location:Jacksonville, Florida USA
  • Interests:Anything PC, Arcade, or Xbox related.

Posted 19 February 2012 - 10:03 PM

Can you smell what the ROCK is cookin'?!

#12 nullPointer

    Advanced Member

  • Elite Member
  • PipPipPipPip
  • 270 posts
  • Gender:Male
  • Location:Montana, USA

Posted 19 February 2012 - 10:23 PM

Quote

Wait a sec... We were talking about videos?

Yeah for the most part I think that's primarily what the OP is interested in (I'd really like to see something on this front too). It boils down to a question of, "should I manage videos by auditing my ROMS, or should I attempt to simply remove unwanted (or uneeded) videos manually (or semi-manually)." For practically any other emulator I think it's easier to remove videos based on an audit of your ROM directory. For MAME I definitely think it's easier to audit videos (rather than ROMs) due to the way MAME creates dependencies between ROM sets. As a result I put in a feature request here to see whether Tom can coax GameEx into making that process a little less painfull.

It's (a bit of) a tough question whether to target an app like this at the common user or specifically tailor it to GameEx. It would be cool to create an app that utilizes catver.ini and XML output from MAME to audit and remove ROMS by category. On the other hand ROMLister can already do that (it can create batch files based on generated ROM lists).

I think it would be awesome if the app were able to utilize the GameEx.ini to further target ROMs excluded from GameEx for filtering, but at that point the app is specific to GameEx. Who knows, maybe the 'core app' strictly utilizes catver.ini and XML from MAME whereas you could include a plug-in functionality for further usefullness. You could include a plug-in for the app which further utilizes GameEx.ini (and would serve as an example for those wishing to write additional plug-ins). Now that would be a pretty sweet deal. If you open up the plug-in structure, who knows maybe someone over in the HS camp (or yourself) would be interested in developing a HS plugin as well. (Not that I'd necessarily endorse that option, but let's face it - if you're targeting this app at the common user it certainly couldn't hurt to cater a bit to everyone)

Whatever happens, I'm sure it if you write it, it will reflect your usual high level of quality and attention to detail.

Posted Image


#13 Draco1962

    Grand Poobah of the Loyal Order of Procrastinating Misanthropes

  • Admin
  • PipPipPipPipPipPipPip
  • 3,173 posts
  • Gender:Male
  • Location:Jacksonville, Florida USA
  • Interests:Anything PC, Arcade, or Xbox related.

Posted 19 February 2012 - 11:08 PM

Having the option to create a complete ROM list of the user's collection would be another option. There are some OK games that are categorized as Misc by catver.ini. Some are adult, others mechanical. I would not necessarily want to delete all under that label, but if I have a list of All ROMs and could select from one column and move them to the remove/delete column, I would have more flexibility than wiping files from a singular category.

The same list - remove/delete columns windows would be use (same as in ROMLister's display) would be utilized as it would provide the list of names for the category or categories selected for removal/deletion.

While ROMLister does create batch files based on the ROM lists, why mess with editing the batch file to remove image files if you can program an app to do it for you?

#14 Adultery

    GameEx Tweaker!!

  • Moderators
  • PipPipPipPipPipPipPip
  • 4,670 posts
  • Gender:Male
  • Location:Wisconsin
  • Interests:Heiney-kins???

Posted 19 February 2012 - 11:49 PM

Seems to me they would do that so people can backup their roms and then do the delete, instead of just moving them to a different folder.

If I was using it to remove, say, horizontal games... I would select that in the catver.ini, which pulls up a list of games I have with a check under each column for each type of artwork it's scanning for.

Like a table: zip name, game name, title, marquee, snap, video, cabinet. Each column has a check in it if the scan finds your search query in a folder. Right there you know too what artwork you're missing for those who want to fill the list (or help submit some snaps).
You can also opt not to keep that artwork if you wanted to remove a game from your lineup, (or even a full category like mahjong). Then press a button and the program builds output folders and, based on your query, removes the games you select from that list. Then you change the category, and it pulls up a list of that category. Instead now it scanned the set you have without mahjong games in it. Then you remove, say, all the Neo Geo games and assets based on your query. You're basically just fine-tuning your list based on what you have. Correct?

But what if a new mame set comes along, now i have to redo the whole process again on a full set to be accurate. That kinda suxorz, no?

Though I think I got a sense of what we're talking about, I'm trying to think about the logic behind it so I know what you're asking it to do. Maybe I'm just over-thinking it? It wouldn't be the first time, but it should be simple and straight-forward (approachable) in what it does. Or I just wanna make sure I'm on the same plane here.

@Null: The plugin then would just remove the stuff you filter manually in GameEx? Or would be something that does all that but also takes advantage of GameEx's stuff (automagically finding art paths comes to mind), even crosses that with removing games you remove from the list in your filters? I cans see that being handy as well.

Posted Image

Posted Image


#15 Draco1962

    Grand Poobah of the Loyal Order of Procrastinating Misanthropes

  • Admin
  • PipPipPipPipPipPipPip
  • 3,173 posts
  • Gender:Male
  • Location:Jacksonville, Florida USA
  • Interests:Anything PC, Arcade, or Xbox related.

Posted 20 February 2012 - 12:09 AM

Assuming I obtain the latest set each time, it would still save considerable time in culling the ROMs not wanted. Noting is going to take away the need for housekeeping one's collection. We have to clean our homes repeatedly. But why use a wisk broom when you can have an Electrolux at your disposal?

#16 Adultery

    GameEx Tweaker!!

  • Moderators
  • PipPipPipPipPipPipPip
  • 4,670 posts
  • Gender:Male
  • Location:Wisconsin
  • Interests:Heiney-kins???

Posted 20 February 2012 - 12:24 AM

What if the user was able to maintain his or her own "dat file" that you could maintain and just run through and remove all the games you already removed, then you make updates on it for the next set? Another benefit to that would be, say, Drac has a dat that only has lightgun games. I have just built a lightgun cabinet. I can just run the dat I downloaded and it pruned my entire collection or me, I just had to tell it where to look for the artwork and/or roms.

Or if it were a GameEx plugin, it would base itself on your GameEx paths and remove all the games without any input from you (other than pressing the "go" button). Like it adds auto-detect kinda. Question is though... Would it be an issue keeping a full set *and* your pruned set, or are you going to totally delete everything you don't want from your set *and* your hard drive? I worry about mistakes unless it "builds" it to a universal structure, like so:

Full set -> program runs a check -> searches for roms and artwork you want to use -> copes these files to the predefined structure -> point your FE at predefined folders.

Roms/
Titles/
Snaps/
Videos/
Cabinets/
Marquees/

Right? :)

Posted Image

Posted Image


#17 Draco1962

    Grand Poobah of the Loyal Order of Procrastinating Misanthropes

  • Admin
  • PipPipPipPipPipPipPip
  • 3,173 posts
  • Gender:Male
  • Location:Jacksonville, Florida USA
  • Interests:Anything PC, Arcade, or Xbox related.

Posted 20 February 2012 - 02:19 AM

I think it better to put the files in the folders and have the program prune them as selected. No need to copy anything unless you are opting to remove as opposed to delete. Remove = copy to a holding folder within the path of your ROMs or media. Delete = eliminate permanently.

I think importing a pre-compiled .dat file for specific game types would be a bit much to keep up with. The specific category .dat file will have to be generated anew with each MAME update as new games are added. Better for the user in the example you gave to import the latest catver.ini, generate the list from their available ROMs, and select all categories except lightgun games for remove/delete. If you were to import an outdated .dat file (older than the catver.ini for the recent MAME build), it may be possible that some ROMS get pruned that shouldn't or remain that should.

#18 Tempest

    GameEx God (Top Rank)

  • Moderators
  • PipPipPipPipPipPipPip
  • 3,215 posts
  • Gender:Male
  • Location:Michigan U.S.

Posted 20 February 2012 - 11:10 PM

Hey - I'm all for what you guys are talking about, but both times that I answered the OP's question it seems like it was poo poo'd. I absolutely meant no disrespect towards anyone, and if I ruined your day, then I apologize. :wub:

I have to admit that my post does sound combative though. I didn't really mean it that way, just that with all the other talk going on that the OP actually missed my original answer, and again asked how to do it today. I could type some more, but it will probably just get me into more trouble. :-(

An horrid stillness first invades the ear, And in that silence we the Tempest fear.
Applications and Guides by Tempest

Posted Image


#19 Draco1962

    Grand Poobah of the Loyal Order of Procrastinating Misanthropes

  • Admin
  • PipPipPipPipPipPipPip
  • 3,173 posts
  • Gender:Male
  • Location:Jacksonville, Florida USA
  • Interests:Anything PC, Arcade, or Xbox related.

Posted 20 February 2012 - 11:26 PM

Well, you have a valid point and the OP does bear some responsibility to read past the other posts and respond. No harm no foul as far as I am concerned. Just don't ask me to press your Thank You thingy - although that is a moot point now that it has gone missing... B) Just don't let it happen again.. :P

#20 Tempest

    GameEx God (Top Rank)

  • Moderators
  • PipPipPipPipPipPipPip
  • 3,215 posts
  • Gender:Male
  • Location:Michigan U.S.

Posted 20 February 2012 - 11:31 PM

Actually it is still shown in other topics, but not this one. Weird.
http://www.gameex.in...3409#entry83409

Edit: After I went to the other page, and came back here, it shows in this topic as well. Must be a cache issue.
(Now we have derailed this topic twice)

An horrid stillness first invades the ear, And in that silence we the Tempest fear.
Applications and Guides by Tempest

Posted Image






1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users