rommapp / romm

A beautiful, powerful, self-hosted rom manager
https://romm.app
GNU Affero General Public License v3.0
2.32k stars 95 forks source link

[Feature] Enhance folder recognition #244

Closed XargonWan closed 1 year ago

XargonWan commented 1 year ago

In my config I got:

# Asociate different platform names to your current file system platform names
system:
  platforms:
    # [your custom platform folder name]: [RomM platform name]
    gc: 'ngc' # In this example if you have a 'gc' folder, RomM will treat it like the 'ngc' folder
    psx: 'ps' # In this example if you have a 'psx' folder, RomM will treat it like the 'ps' folder         
    atarilynx: 'lynx'
    dreamcast: 'dc'
    mastersystem: 'sms'
    megadrive: 'genesis-slash-megadrive'
    n3ds: '3ds'
    pcengine: 'pce'
    wonderswancolor: 'wonderswan-color'
    gameandwatch: 'gw'
    gamegear: 'gg'

but a better config can be:

# Asociate different platform names to your current file system platform names
system:
  platforms:
    # [RomM platform name] : [your custom platforms folder names]
 folder         
    lynx: [atarilynx, alynx, atari-lynx]
    dc: [dreamcast, segadc]
    sms: [mastersystem, ms]

Basically in this edit of mine we got the romm naming convention first, and then the possible folder to search in. So every user can even contribute by adding their naming convention, romm can iterate this list and stop whenever it found the correct folder name (as no one usually got two folder for the same system). In this way you can ship a config that doesn't require any user action on the folders side as probably their naming conventions are already met. If not they can be added.

Common naming convention can be taken from:

zurdi15 commented 1 year ago

I agree with this a lot. At the beginning I just take into account the garlicOS naming convention and EmuDeck convention, but I guess it would be useful to list the most popular slugs for every platform.

Also I need to think in how RomM will manage the internal convention, because it is planned to add more scrapers and each one can have their own naming convention (didn't check yet too much about ScreenScraper for example)

XargonWan commented 1 year ago

This may be replaced by this logic: https://github.com/zurdi15/romm/discussions/294