Author Topic: Create a master romlist to enable multi-emulator searching, filtering & tagging  (Read 49152 times)

rand0m

  • Sr. Member
  • ****
  • Posts: 343
    • View Profile
One way of doing things might be to create only a masterlist rather then different system lists and access the different lists data from masterlist e.g. for sega genesis create a rule [Magic Token] equals to sega_genesis. This would auto create single fav/ played time etc since we are following a single masterlist. Filters for system can be made by two or more rules so shouldn't be difficult.

The only issue is if AM will take more time processing the masterlist. MAME has around 6500 entries, Amiga has around 5000 so masterlist could potentially contain tens of thousands entries.

iOtero

  • Sr. Member
  • ****
  • Posts: 414
    • View Profile
One way of doing things might be to create only a masterlist rather then different system lists and access the different lists data from masterlist e.g. for sega genesis create a rule [Magic Token] equals to sega_genesis. This would auto create single fav/ played time etc since we are following a single masterlist. Filters for system can be made by two or more rules so shouldn't be difficult.

The only issue is if AM will take more time processing the masterlist. MAME has around 6500 entries, Amiga has around 5000 so masterlist could potentially contain tens of thousands entries.

You said it yourself. It seems to me a very bad idea to make a romlist with the more than 20,000 games of my Raspberry pi.  ::)
Nacer a los 15 años Una novela de iOtero

progets

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 1274
    • View Profile
One way of doing things might be to create only a masterlist rather then different system lists and access the different lists data from masterlist e.g. for sega genesis create a rule [Magic Token] equals to sega_genesis. This would auto create single fav/ played time etc since we are following a single masterlist. Filters for system can be made by two or more rules so shouldn't be difficult.

The only issue is if AM will take more time processing the masterlist. MAME has around 6500 entries, Amiga has around 5000 so masterlist could potentially contain tens of thousands entries.

You said it yourself. It seems to me a very bad idea to make a romlist with the more than 20,000 games of my Raspberry pi.  ::)

If used properly (meaning the master romlist is the only romlist used and everything else is a filter) the romlist and filters are only loaded once when AM boots. Yes, if you have a ton of roms this can take a few seconds (especially if on lowend hardware like a Pi) but once the romlist is loaded it never needs to be reloaded because it's never switched.

Other things to consider
- not everyone has a huge rom collection
- people that do have huge rom collections don't always have every rom they own setup/showing in AM
- the concepts of this thread are helpful in making any combined romlist (it doesn't need to be a master romlist)
- the concepts of tagging, favorites, searching, etc. are helpful for anyone that has interest in AM

PS - You can make copies of your system romlists and edit them (remove extra data, rename and placed in corresponding folder) to be tag romlists to be used as filters for the master romlist. Then you can remove/hide all system romlists from being displayed only using the master romlist.

PPS - The master romlist concept isn't going to be everyone's preference.
« Last Edit: December 15, 2019, 02:21:08 AM by progets »

jedione

  • Hero Member
  • *****
  • Posts: 1135
  • punktoe
    • View Profile
i love the idea, 
but how would you lode different systems with different emulators ?
under one romlist.


help a friend....

progets

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 1274
    • View Profile
i love the idea, 
but how would you lode different systems with different emulators ?
under one romlist.

The same way you would without a master romlist. Keep in mind that in the OP you're creating the master romlist using your existing romlists. Using one romlist doesn't limit you to one emulator or display configuration.

rand0m

  • Sr. Member
  • ****
  • Posts: 343
    • View Profile
If used properly (meaning the master romlist is the only romlist used and everything else is a filter) the romlist and filters are only loaded once when AM boots. Yes, if you have a ton of roms this can take a few seconds (especially if on lowend hardware like a Pi) but once the romlist is loaded it never needs to be reloaded because it's never switched.

Other things to consider
- not everyone has a huge rom collection
- people that do have huge rom collections don't always have every rom they own setup/showing in AM
- the concepts of this thread are helpful in making any combined romlist (it doesn't need to be a master romlist)
- the concepts of tagging, favorites, searching, etc. are helpful for anyone that has interest in AM

PS - You can make copies of your system romlists and edit them (remove extra data, rename and placed in corresponding folder) to be tag romlists to be used as filters for the master romlist. Then you can remove/hide all system romlists from being displayed only using the master romlist.

PPS - The master romlist concept isn't going to be everyone's preference.

You are right, since the list is simple text even a very huge list will be around 7 to 8 mb so should work ok after first (boot) processing (or somehow creating a cache - which will only require regeneration when we make changes) but each filter would require AM to search and create a list on fly which matches the rule-set, I think this might be slow on very big lists.


i love the idea, 
but how would you lode different systems with different emulators ?
under one romlist.

You will make all the emulators cfg files as you normally do. In master/all systems romlist a rom entry will mention the emulator so by pressing select AM will boot the game according to details given in emulator.cfg.

You can then make filters like genesis_all, genesis_action etc by making a rule-set Emulator equals to genesis or in case of category filters two rules like Emulator equals to genesis and Category equals to action.
« Last Edit: December 15, 2019, 03:19:06 PM by rand0m »

progets

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 1274
    • View Profile
You are right, since the list is simple text even a very huge list will be around 7 to 8 mb so should work ok after first (boot) processing (or somehow creating a cache - which will only require regeneration when we make changes) but each filter would require AM to search and create a list on fly which matches the rule-set, I think this might be slow on very big lists.

Filters are built when the romlist is loaded. They are not regenerated when switching filters. You can see this when running the console version of AM. You can also see the exact time it took to load the romlist and the filters in the console.

I could make the argument that a slight delay when starting AM is better than a delay every time you switch to a different romlist.

Again, this idea isn't for everyone but hopefully it helps some people. After all the thread was written three years ago.
« Last Edit: December 15, 2019, 04:42:46 PM by progets »

EVERLASTINGEVERGREEN

  • Newbie
  • *
  • Posts: 6
    • View Profile
Jist to clarify cause I'm pretty illiterate to this stuff I can use this same idea to make new collections displays right?

progets

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 1274
    • View Profile
Jist to clarify cause I'm pretty illiterate to this stuff I can use this same idea to make new collections displays right?

Yes, you can use this concept to create new collection displays.

rand0m

  • Sr. Member
  • ****
  • Posts: 343
    • View Profile
Jist to clarify cause I'm pretty illiterate to this stuff I can use this same idea to make new collections displays right?

Absolutely, in-fact collections (meaning items can be from multiple systems) is best utilized with a unified list.

Mark Norville

  • Sr. Member
  • ****
  • Posts: 233
    • View Profile
Edited as I posted the wrong information

See below for the correct information.
« Last Edit: March 20, 2022, 01:52:26 AM by Mark Norville »
Well I am back a new PC I7 4790K, 780 TI, 16 Gigs, Windows 10. Hopefully will get delivered at weekend.

Computer Specs : I7 3770K, 780 TI, 16 Gigs, Win 10
HD Specs : 1 x 1 TB SSD + 4 x 8 TB = 33 TB (fullish)
First system : ZX81 (Yes I am an old fart)
PS Network : MarkNorvile
Xbox : Mark Norville

progets

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 1274
    • View Profile
If you read the whole thread you will see that every display you create can/will use the masterlist romlist. You will just create filters, favorites or tags to make each display show what you want. This way there is only one All Systems romlist used and everything is included. You would hide all your regular system displays and use the filters/tags/favorites to make each display show what you want.

I.E. NES display uses a global rule to only show the emulator for NES games.
I.E. NES favorites uses a global rule to only show the emulator for NES game and a second rule for favorites.
I.E. Your Pac Man display uses a global rule to only show Pac Man tagged games.
I.E. Your Mario display users a global rule to only show Mario tagged games.
I.E. Your all favorites display uses a global rule to show games from the All Systems romlist to show all of your favorites.
« Last Edit: March 19, 2022, 11:58:30 PM by progets »

Mark Norville

  • Sr. Member
  • ****
  • Posts: 233
    • View Profile
I try not to read too much lol

I prefer things in simple terms like you have just said rather than all technical.

However, yes all of my displays were using my old system, which is why they did not work then. So I will have to change them to the new system.

I presume it is ok to change the keys used, e.g I prefer F for favourites rather than A for Add.

However, many thanks for this, at least I now have favourites working 100%

Regards

Mark
Well I am back a new PC I7 4790K, 780 TI, 16 Gigs, Windows 10. Hopefully will get delivered at weekend.

Computer Specs : I7 3770K, 780 TI, 16 Gigs, Win 10
HD Specs : 1 x 1 TB SSD + 4 x 8 TB = 33 TB (fullish)
First system : ZX81 (Yes I am an old fart)
PS Network : MarkNorvile
Xbox : Mark Norville

progets

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 1274
    • View Profile
Key setup doesn't matter as long as you substitute your key verses my key when reading the thread.

I use "F" for the "Filter Menu" because my systems has been setup for a long time and I rarely add favorites.

Mark Norville

  • Sr. Member
  • ****
  • Posts: 233
    • View Profile
I am not sure if you have would be interesting seeing a video of your setup, how you have it laid out etc, what theme you use. What collections and stuff like that.

At the moment I have seven main categories for my main menu, and then behind those are nested sub collections

So for Arcade

I have all games, arcade systems (boards), arcade collections and genres.

Which is making me think that potentially I am not going to be able to use just the All Systems all of the time, unless they have some form of marker instead of the XML file,

No that is fine, I just looked at the All System file, it has the main emulator for that game, so I should be able to use keywords from that to separate arcade from consoles etc. 

My favourites will a mixture of favourites and games that I have never played before, I did try to create favourites and a bucket list favourite list as well. So the bucket list will be a game that I have never seen before but it looks a brilliant game.

However, I suppose now that I am on All Systems, if that is the default list for things, then tagged files should work better now, so I might be able to just tag files and have that in a separate list.

Just an update, I tried on my Bubble Bobble Arcade section using All Systems, to which I got all games across all the systems as you would expect.

As I have my emulators set up so that they are MAME (Arcade) I set up a rule where emulator contains (Arcade) and then it strips out the consoles etc.

I could then add the results into my favourites.

Regards

Mark
« Last Edit: March 20, 2022, 01:39:39 AM by Mark Norville »
Well I am back a new PC I7 4790K, 780 TI, 16 Gigs, Windows 10. Hopefully will get delivered at weekend.

Computer Specs : I7 3770K, 780 TI, 16 Gigs, Win 10
HD Specs : 1 x 1 TB SSD + 4 x 8 TB = 33 TB (fullish)
First system : ZX81 (Yes I am an old fart)
PS Network : MarkNorvile
Xbox : Mark Norville