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. My bare hosting costs are currently not met so please consider donating by either clicking this text or the Patreon link on the right.

Patreon

Recommended Posts

Posted

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

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.

Posted

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

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.

Posted

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

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

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.

Posted

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

Just for the record...

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. :)

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).

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. :)
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

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

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?

Posted

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

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?

Posted

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

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.

Posted

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. :-(

Posted

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

Posted

So...

Two strippers and a priest walk into a bar. :)

We really should have moved the dev talk to social. Ill open up a new topic and move the posts when I get home. :)

PS: I can't see your thanks thingy (its a red X) but the link still works for me.

Posted

@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.

Honestly I was just thinking of your first suggestion. As has been pointed out, there are already apps out there that can filter by catagory, but there's nothing at all to address artwork for all the roms I've filtered manually in GameEx. I have to admit that I use that feature alot for MAME to remove oddball stuff (japanese and korean games, gambling games, identical clones, hacks, plus a lot of stuff that is simply missed by catver.ini). In the end my excluded roms list ends up being fairly huge, and one needs to get a bit creative in order to filter out the associated artwork. Even [Arcade] MAME.mdb doesn't account for excluded ROMS (although it would be awesome if it did IMHO).

So yeah . . . that's sort of laying my cards on the table: I'm more interested in something tailored to GameEx than for general usage (since I'm mostly covered by other apps in that capacity). Housing everything under one roof would sure sweeten the deal though. And if you can piggyback on some additional GameEx functionality, well that just sweetens the deal even more.

Also sort of weird that I'm the OP now. Really I'd just like to see artwork filtering implemented in GameEx as a feature request. I would guess that GameEx has 80 - 90% of the data available at runtime to accomplish artwork filtering already. Even if it just worked for MAME it would be awesome. Having said that, I absolutely support and applaud any additional development projects devoted to making the emulation world a better place. So . . . Huzzah!

Posted

I say why stop at artwork when we can have a program that will address ROMs and/or media based upoin the catver,ini criteria. As a plugin for GameEx it would be awesome. As a standalone app, why not put it out there to the emu community so they can see more GameEx community greatness in action?

Posted

I say why stop at artwork when we can have a program that will address ROMs and/or media based upoin the catver,ini criteria. As a plugin for GameEx it would be awesome. As a standalone app, why not put it out there to the emu community so they can see more GameEx community greatness in action?

That’s sort of what I was getting at too. Here’s what I envision for the ideal standalone app, which I’ll call AwesomeSauce Filtering Tool (since you know that’s clearly what Adultery would like to call it </sarcasm> ;)). The Awesome Sauce Filtering Tool filters ROMS and artwork based upon catver.ini and MAME.xml (this last part is important for recognizing parent/clone relationships). Maybe it even has settings so that the user can specify the structure of their set (split, merged, unmerged). Heck while you’re going this far, why not throw in some artwork renaming while you’re at it (heh . . . gotta love that scope creep)

AwesomeSauce Filtering Tool also has an open modular plug-in architecture. In point of fact it comes with a GameEx oriented plug-in. To be clear I mean to say that the plug-in is for the filtering tool, not a plug-in for GameEx.

So it looks like this

AwesomeSauce Filtering Tool < --- Plug-in --- > GameEx Filtering Plug-in

But Not This:

GameEx < -- Plug-in -- > Filtering Plug-in

The GameEx plugin would parse GameEx.ini to further filter ROMS and artwork based upon GameEx data (excluded ROMS and whatnot). That’s sort of what I was getting at above. For myself I’d be more interested in the GameEx plugin for the purposes of this example, but I'm sure that I'm in a relative minority in this case.

That way someone from say the HyperSpin community could run with the AwesomeSauce Filtering Tool and develop a plug-in tailored to HyperSpin which parses HyperSpin data.

All this is of course up to Adultery’s discretion and vision for the project, but I think something like above could be the ‘one filtering app to rule them all,’ which oddly enough conjures visions of Adultery sitting in a darkened room quietly muttering about ‘his precious’ as he codes this thing (but maybe that’s just me). :D

Posted

I don't have a problem with updating the filter detail in the gameex.ini, however, if we can move or delete the ROMs and images, then that is less that really needs to be added to the .ini file, keeping it leaner.

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