Commit Graph

50 Commits

Author SHA1 Message Date
Michael Green
163aa7a446 Add enhanced schedule management for background tasks (#267) 2024-01-27 23:30:35 +11:00
Michael Green
7f2e186d06 Refactored code, and added Amiga CDTV and CD32, and ColecoVision to the PlatformMap (#252)
* More bug fixes

* Update PlatformMap for Amiga CDTV and CD32, and ColecoVision

* Fixed default platform setting for library scan

* Refactor of rematcher

* Temp unzips are no longer deleted immediately - now kept and cleaned up after 5 minutes

* Library Scan now spawns worker processes to perform scans in parallel. Number of workers is limited by MaxWorkers default = 4

* More logging

* More null reference checks

* Overhaul of ROM and MediaGroup handling in web page

* Minor collections updates

* Newlines are now replaced with breaks in HTML on Game summary page
2024-01-10 12:57:31 +11:00
Michael Green
7d5419d33c Multiple Updates (#251)
* Added more error logging to zip expansion

* Added more logging

* More logging, and archive contents can now be seen in rom info

* Bug fixes and caching enhancements

* Import path now cleaned after import
2024-01-07 01:07:10 +11:00
Michael Green
ce9ab91e5b Limit library scan workers to four concurrent processes
* Formatting fixes

* Library scans are now limited to 4 worker processes
2024-01-04 16:01:33 +11:00
Michael Green
eac35ee8a3 A new library scanner process will now be started for each library
* A new library scanner process will now be started for each library
2024-01-04 12:04:46 +11:00
Michael Green
311c7733fa Assorted bug fixes (#242)
* Fixed DBNull error when updating metadata

* Fixed platform id bug with media group launching

* Updates to support Hasheous - testing only

* Refactored alot of code, initial support for Hasheous
2023-12-30 20:28:23 +11:00
Michael Green
57248cd467 Overhaul of SQL queries to (hopefully) improve performance with large libraries (#233)
* Latest round of performance updates

* Improved first set up logging

* Updated logging display
2023-12-17 00:51:46 +11:00
Michael Green
722c153e40 Many queries re-written to improve performance (#232) 2023-12-14 22:06:16 +11:00
Michael Green
789ec7fc17 Improve background task progress feedback (#228)
* Include a last run duration field for background tasks

* Improved background task progress feedback
2023-12-12 17:42:40 +11:00
Michael Green
e7239c428b Library filtering and display enhancements (#214)
* Implement infinite scrolling and paging (selected via preference) (closes #202)
* Display game counts on more filter types (closes #194)
* Make game counts larger (closes #194)
* Include age groups in filtering (closes #200)
* Add sorting options (closes #145)
2023-12-07 13:20:53 +11:00
Michael Green
fcdc5cdbde Fixed typo in rematcher code (#192)
* Include ROM's without a signature match in rematcher efforts

* Rematcher will now execute on all titles if manually started

* Fixed typo in rematcher code
2023-11-26 02:06:27 +11:00
Michael Green
f85f246a26 Include ROM's without a signature match in rematcher efforts (#191)
* Include ROM's without a signature match in rematcher efforts

* Rematcher will now execute on all titles if manually started
2023-11-26 01:51:03 +11:00
Michael Green
2ade60c551 Code clean up and API versioning (#178)
* Merged tools project into main project

* Applied API versioning
2023-10-31 10:42:15 +11:00
Michael Green
7ae6eb82f0 Split LibraryScan and Rematching into separate background tasks (#166)
* Simplified LibraryScan service and moved rematching to it's own service

* Added rematcher to tasks blocked by OrganiseLibrary
2023-10-18 08:56:02 +11:00
Michael Green
8688e1d5c0 Added a try/catch block when unzipping files to ensure errors are properly logged, and temp files are cleaned up (#165) 2023-10-17 11:22:45 +11:00
Michael Green
7c504ba8fd Recursively import files in the import directory. Duplicates are now moved to the same path, but in the import errors directory (#159) 2023-10-15 15:45:50 +11:00
Michael Green
a8bf5a9412 Added logging for duplicates uploaded via UI (#158) 2023-10-14 16:13:26 +11:00
Michael Green
a190f31ac5 Duplicate imported files are now sent to a duplicates folder 2023-10-14 15:41:36 +11:00
Michael Green
b0e74a2010 Add MariaDB support (#156)
* Fixed startup db check

* Relation tables are created automatically for IGDB metadata

* Removed JSON dependency from filters

* Removed JSON searches from Game library queries

* Gaseous now runs without error on MariaDB

* Fixed static database name bug

* Updated docker files and README
2023-10-14 14:59:53 +11:00
Michael Green
1934558595 Create libraries based on external unmanaged directories (#147)
* Library management is now complete

* Library functions complete

* Added default platform support
2023-10-09 12:19:59 +11:00
Michael Green
73bcfe2458 Provide a platform override option during web based import (#94) 2023-09-10 11:36:31 +10:00
Michael Green
bd7124a5be Expand the dat file ingestor to handle more formats (#84)
* MAME DAT's can now be imported, beginning of DB updates

* Fixed various database bugs that occur during upgrade from earlier versions

* Removed collation and MySQL specific options from database scripts
2023-09-06 07:52:11 +10:00
Michael Green
25f1895fe5 Added feature to build collections of ROM's based on a filter (#76)
* fix: added visual feed back for mass rom matching

* chore(deps): EmulatorJS version bump

* chore(deps): nuget package version bump

* feat: added cover art to the emulator

* ci: updated .gitignore

* ci: remove .DS_Store files

* feat: updated the about box, and labeled the IGDB user score

* chore(deps): EmulatorJS version bump

* feat: start of collections build, and styling changes

* fix: updated PlatformMap.json file with more platforms and fixed SNES extensions

* feat: more progress on romsets

* doc: updated readme to include new screenshots and discord link

* fix: repairs an issue where the author column in signatures was too narrow

* chore(deps): EmulatorJS version bump

* feat: Collection build code mostly complete

* fix: renamed collection classes to avoid conflicts in Swagger

* Re-wrote collection builder to correct major bugs and performance

* Completed collection builder and zipper

* API changes completed

* Fixed some last minute Collections API bugs

* Collections mostly complete. Todo: delete button

* Completed collections build
2023-09-01 21:02:15 +10:00
Michael Green
14f836d46a Improve metadata first load performance (#46)
* fix: reduces the number of full metadata calls - speeding up imports #45

* chore(deps): update EmulatorJS
2023-08-06 22:14:39 +10:00
Michael Green
59df041cfd fix: typo in zip signature builder would cause a loop (#41) 2023-07-27 16:49:30 +10:00
Michael Green
2355c5ac97 fix: zip inspection now works during library scans as well as during import (#40) 2023-07-27 15:41:58 +10:00
Michael Green
7891acd218 feat: extract zip files smaller than 1GiB to attempt to get a signature from the files inside. The first hit is considered to be the signature for the archive. (#39) 2023-07-27 00:15:15 +10:00
Michael Green
35bb2f18d9 Add support for adding EmulatorJS firmware (#28)
* feat: EmulatorJS support - importing of BIOS files #15

* feat: added Bios controller to make Bios files available to the emulator, also resolved SNES identification issues (see: #25)

* feat: added firmware selector to emulator screen

* refactor: moved EmulatorJS to a subfolder

* feat: added firmware image availability page
2023-07-19 13:18:39 +10:00
Michael Green
844a357c63 fix: added condition to move the game file if it’s path is different than expected 2023-07-07 15:49:25 +10:00
Michael Green
64aa7d15bb fix: added full rescan 2023-07-07 15:21:58 +10:00
Michael Green
ffbe8b19c8 fix: added hash checking 2023-07-07 15:04:38 +10:00
Michael Green
e84726e800 fix: added more queries to ensure up to date information 2023-07-07 11:10:34 +10:00
Michael Green
85d562e84e fix: delete database entries with import directory path and scan for orphaned files first 2023-07-07 11:08:14 +10:00
Michael Green
ae17674b76 fix: added duplicate record cleanup 2023-07-07 10:20:36 +10:00
Michael Green
ecfc258cba feat: added library scan to maintain the library 2023-07-07 09:40:16 +10:00
Michael Green
1b14e697a2 feat: added initial Docker support (still testing) and refactored the database for case-sensitive hosts 2023-07-02 01:12:26 +10:00
Michael Green
fba9b7a6c9 refactor: moved import file name version trimming 2023-06-29 14:46:41 +10:00
Michael Green
e86aa80df6 fix: added early breakout from game search if the title is found 2023-06-29 09:29:23 +10:00
Michael Green
495c39f2dd refactor: search engine enhancements to make finding titles more reliable 2023-06-29 09:18:07 +10:00
Michael Green
f5cfe9deb6 refactor: separated import code into it’s component chunks to allow for updating a ROM’s link to a platform and/or game 2023-06-28 13:23:10 +10:00
Michael Green
00cc051dc6 feat: added metadata source field - this will determine the handling of the flags attribute 2023-06-18 23:08:02 +10:00
Michael Green
a6b0c85ad0 refactor: added an array of files to skip during import 2023-05-26 23:25:38 +10:00
Michael Green
5ffc33472d fix: improved title matching 2023-05-16 19:14:54 +10:00
Michael Green
5732c19ca4 feat: enhanced title matching, added more metadata types 2023-05-16 00:39:54 +10:00
Michael Green
520380243d fix: suppress log entries for items in the import folder that already exist in the database 2023-05-05 09:53:36 +10:00
Michael Green
e68f6003ba feat: initial support for metadata refresh 2023-05-05 00:29:38 +10:00
Michael Green
f16b2aabbf fix: updated import code and added organise library command 2023-05-03 23:36:07 +10:00
Michael Green
3b3cf3c239 feat: platforms and games from IGDB are now imported successfully 2023-05-01 00:42:23 +10:00
Michael Green
36616caf7b feat: added support for platform logos 2023-04-09 23:45:48 +10:00
Michael Green
b36b3a8f57 feat: now pulls platform information and stores it in the database 2023-04-09 01:19:50 +10:00