Author Topic: Saving current filter  (Read 96 times)

couchpotato

  • Newbie
  • *
  • Posts: 7
    • View Profile
Saving current filter
« on: September 03, 2019, 04:25:09 PM »
Hi,

I've had a bit of a look around but I've not been able to find any solid information on this.

is there a way to save ALL the roms in the active filter?

I have about 5800+ games over all and they are filtered out by control type, working type , clone etc and the overall list is down to 2300+

I have a script i've written to identify which games are missing assets based on a rom list HOWEVER, I need to a starting list to work from as a lot of the clones etc dont have art so I get a lot of false positives.

So, as I said, is there anyway to save all the roms in the active filter , to a text file. I've not found a plugin for this and I've not found a default button. I don't want to be pressing the add to favourite button 2000+ times


couchpotato

  • Newbie
  • *
  • Posts: 7
    • View Profile
Re: Saving current filter
« Reply #1 on: September 05, 2019, 11:45:25 AM »
I Found a way to do this that's super dirty and involves hacking the code.

I only cared about the GLOBAL filter as that's the one I have set up to filter out all the clones and other nonsense that cant play on my cab.

I edited the FeRomList::load_romlist method


after the line

Code: [Select]
FeLog() << " - Loaded master romlist '" << m_romlist_name
<< "' in " << load_timer.getElapsedTime().asMilliseconds()
<< " ms (" << m_list.size() << " entries kept, " << m_global_filtered_out_count
<< " discarded)" << std::endl;

add the following:

Code: [Select]

FeLog() << " - Global Filter list start" << std::endl
for ( FeRomInfoListType::iterator it=m_list.begin(); it!=m_list.end(); it++)
{
const std::string &sname = (*it).get_info( FeRomInfo::Romname );
const std::string &stitle = (*it).get_info( FeRomInfo::Title );
FeLog() << sname << "," << stitle << std::endl;
}
FeLog() << " - Global Filter list end" << std::endl



Now when you run the code the filtered list will appear in the last_run.log. It'll contain the romname and title in a list that you can copy out of the log.
I've copied mine into an excel file so people stop asking me "what's on the arcade cabinet" (mines in our break out room at work ).

I can take the rom list component of the list and now run it through my batch file to identify missing art/video/flyer/marquee and decide whether I want to exclude those from the master rom list OR go hunting for the missing assets.

This MIGHT be a good feature to build into attract mode directly:

The ability to filter out roms if one or more of the assets are missing , so if the video and/or wheel are is missing you might choose to exclude the game from the list. However if just the marquee  or flyer is missing you might want to let that game be displayed and use the default art. However you could also choose to be strict and say all assets have to be present for the rom to appear on the front end.

Just a thought