I meant to have this as the commit message for 1.5 but I had an issue wiht the message. so I added some spaces to the files to force another commit. Gromulus v1.5: user metadata save workflow, schema expansion, and UI refactor - Added user-editable game metadata workflow with explicit Save button (no autosave). - Added dirty-state tracking and Save/Discard/Cancel prompts when navigating away or closing with unsaved changes. - Added DB schema support for new metadata fields: - favorite_game - release_date, release_date_scraped - game_genre, game_genre_scraped - cooperative, cooperative_scraped - max_players, max_players_scraped - Wired UI to user-first metadata precedence with _scraped fallback for release date, genre, cooperative, max players, and description. - Added release date display/storage conversion: - GUI display MM-DD-YYYY - DB storage YYYY-MM-DD - Refactored main game info panel: - moved hash/file/No-Intro/TOSEC detail fields into Reports -> Game Properties modal - added compact TOSEC/NoIntro match indicators - added Favorite, Release Date, Genre, Cooperative, Max Players, Description, and User Notes controls - Enhanced artwork previews from prior update: - larger preview boxes - aspect-ratio-preserving scaling - click-to-open full-size modal viewer - Updated schema/documentation files to stay aligned: - models.py - Database Dictonary.md - canonical DB utility schema/migration logic
Gromulus v1.5: user metadata save workflow, schema expansion, and UI refactor - Added user-editable game metadata workflow with explicit Save button (no autosave). - Added dirty-state tracking and Save/Discard/Cancel prompts when navigating away or closing with unsaved changes. - Added DB schema support for new metadata fields: - - , - , - , - , - Wired UI to user-first metadata precedence with fallback for release date, genre, cooperative, max players, and description. - Added release date display/storage conversion: - GUI display - DB storage - Refactored main game info panel: - moved hash/file/No-Intro/TOSEC detail fields into modal - added compact TOSEC/NoIntro match indicators - added Favorite, Release Date, Genre, Cooperative, Max Players, Description, and User Notes controls - Enhanced artwork previews from prior update: - larger preview boxes - aspect-ratio-preserving scaling - click-to-open full-size modal viewer - Updated schema/documentation files to stay aligned: - - - canonical DB utility schema/migration logic
Refactor metadata import and UI workflows; add system-scoped DAT handling, artwork ingestion, and artwork previews - Scope No-Intro/TOSEC imports to selected local system and track import metadata - Improve hash matching using file-level hashes with system-aware joins - Add artwork ingest workflow with type selection, dry-run mode, and busy indicators - Add bottom-row artwork previews (box/title/ingame) driven by selected game - Improve UI responsiveness and layout (system-switch busy dialog, taller game list, preview row positioning)
System-scoped DAT import refactor and metadata matching improvements Refactored DAT import workflow so No-Intro and TOSEC imports are tied to a selected local main_app_system instead of global table replacement. Updated UI import flow to prompt for target system before DAT import. Added schema support for per-system DAT scoping (app_system_id) and DAT import tracking (dat_import_history with source/version/date/count). Updated No-Intro/TOSEC import logic to replace rows only for the selected system and upsert last-import metadata. Switched game metadata matching to use main_app_file_hash.file_md5_hash (via container_file_id) instead of container hash. Updated game list/detail lookups to use file-level hash matching, including case-insensitive MD5 comparison. Improved TOSEC/No-Intro lookup accuracy and kept read paths non-destructive (schema writes only during migration/import paths). Added/updated indexing and normalization hooks to support system-scoped matching performance and backward compatibility.
Refactor catalog data flow: unify schema usage, fix UI data contracts, and match metadata via main_app_file_hash
Updated to fix the issue where I'm opening the connection on import but closing at the end of each function. added a database manager class and added the OnExit in the UI mainloop to close the db connection.
Updated ImportNewNoIntroDat function to support a new schema where there is now a separate no intro system table.
I'm tagging this as the final version of version 1. This version works, although it's limited, but it doesnt support zip files and archives in general. I'm going to re-do the tables so that it better supports this. This will then start the version 2.
Added the system table and added methods for importing roms.
Gromulus, which is a catalog inventory for roms, games and maybe one day applications.
This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, enter a numeric revision.