(2019-04-23, 17:42)zachmorris Wrote: This topic is probably better in the development part of the forum, but I'm not sure Kodi would / should use either.
Agree. But maybe here will have more visibility than in the development subforum.
(2019-04-23, 17:42)zachmorris Wrote: Kodi's library database, scraping functionality, artwork database, etc should just be extended from audio/video files to other now-playable files.
Agree.
(2019-04-23, 17:42)zachmorris Wrote: - The artwork is stored in the Kodi database just like it is now (although maybe additional art types might be added specific to games in the future)
Yes, artwork is stored in the Kodi cache. However, the important point here is about choosing a directory/filename layout for the ROMs, the ROMs artwork and the Platform artwork and NFO files. For example, Kodi has strict rules about
how the Movies artwork should be organised,
how the Music artwork should be organised, etc. And the point here is designing a scheme that works for everyone, users with small curated collections (A users) and collector, completionist users (users B).
(2019-04-23, 17:42)zachmorris Wrote: - Scrapers are included just as they are now, users define 'sources' and denote the folder contains games, and then even further maybe denote what system the folder contains, and what scraper to use (so instead of choosing metadata.tvdb.com, you would chose metadata.thegamesdb.com or whatever)
I agree about associating the
platform to each ROM source folder. This will facilitate to choose the cores to run the ROMs, the scrapers operation, etc. This is particularly important for arcade/MAME ROMs, because it is almost impossible to automatically know or even guess the platform. Note that for console/No-Intro systems it is very easy (different file extensions) and CD-based platforms with intermediate difficulty (CD images must be opened and inspected, and there are many formats, ISO, CHD, BIN/CUE, etc.).
However, main problem here is the artwork. For example, this is currently the size of the artwork/assets I have for AML:
Code:
18.2 GiB [##########] /fanarts_SL
15.6 GiB [######## ] /fanarts
14.8 GiB [######## ] /3dboxes
13.8 GiB [####### ] /videosnaps
12.9 GiB [####### ] /3dboxes_SL
11.4 GiB [###### ] /manuals
9.3 GiB [##### ] /manuals_SL
7.0 GiB [### ] /flyers
4.7 GiB [## ] /videosnaps_SL
4.1 GiB [## ] /covers_SL
3.2 GiB [# ] /artwork
3.0 GiB [# ] /PCBs
2.8 GiB [# ] /cabinets
1.7 GiB [ ] /marquees
1.6 GiB [ ] /snaps
1.6 GiB [ ] /titles
1.1 GiB [ ] /cpanels
738.6 MiB [ ] /titles_SL
533.2 MiB [ ] /snaps_SL
506.1 MiB [ ] /artpreviews
380.1 MiB [ ] /clearlogos
Total disk usage: 128.9 GiB
Just the arcade assets are 130 GB! Obviously, rather than scraping that I think is better to directly download the artwork from many collections available, place it in the correct directory, and Kodi scanner can readily pick it up.
Of course this is not a problem for A users.
(2019-04-23, 17:42)zachmorris Wrote: - Users can choose to use supplementary tools for game management just as they can for media management, and the supplementary media follows the same exact structure as it does for video or audio (again maybe adding additional games specific artwork types in the future)
Supplementary tools are already there (CLRMamePro, Romcenter, etc.) and have been there for around 20 years. Supplementary media already exists (ProgrettoSNAPS, Emumovies) so the thing here is not reinventing the wheel again and again, instead to adapt Kodi to what already exists. When we talk about games these tools assume that the artwork is named like the ROMs and placed in different directories. Even MAME itself requires the artwork to be named like the ROMs and in different directories.
Lastly, what I am trying to avoid will all this is something similar to what happened with the
Artist information folder. In the case of the games, there could be a
Platform information folder where you can place NFO files and artwork for the platforms (using a special naming scheme) and the artwork for ROMS belonging to each platform can be in a subdirectory. For example:
Code:
/home/kodi/Artwork/Sega Genesis_icon.png
/home/kodi/Artwork/Sega Genesis_fanart.png
/home/kodi/Artwork/Sega Genesis.NFO
/home/kodi/Artwork/Sega Genesis/boxfronts/Sonic The Hedgehog (Europe).png
/home/kodi/Artwork/Sega Genesis/fanarts/Sonic The Hedgehog (Europe).png
...
If the Kodi database designers make a poor decision it means B users will need to rename thousands of files or scrape gigabytes of artwork. Or, like in the Artist information folder, have to modify the filename scheme later to fix mistakes in the designing stage.