-
Notifications
You must be signed in to change notification settings - Fork 0
Inner Workings
stoj edited this page Mar 29, 2023
·
15 revisions
- Parse the PinballX/Y DB to extract all the tables (aka games)
- For each configured "content type" (e.g. table audio, wheel images, etc)..
- Enumerate all files within the the configured "content folder"
- For each configured "file extension", process files with matching extension..
- For each file match against a table based on ALL the available criteria (i.e. ignoring configured "check criteria".. this is only used when rendering results)..
- Associate file against a table (aka 'hit')..
- Exact: DB Description == file name (minus file extension). 'Description' only used for content files; png, mp3, etc.
- Duplicate extension: more than 1 exact match (i.e. different file extensions)
- Wrong case: DB description == file name igoring case
- Table: DB TableFile == file name (minus file extension). 'TableFile' only be used for Vpin files; vpx, b2s, and pov.
- Fuzzy: refer Fuzzy Logic
- Mark file as 'unknown' if none of the above criteia match.
- Associate file against a table (aka 'hit')..
- For each file match against a table based on ALL the available criteria (i.e. ignoring configured "check criteria".. this is only used when rendering results)..
- For files that don't match any configured extension..
- Mark file as 'unsupported' IF the check criteria is enabled.
- For each table (from the DB)..
- For each configured content type..
- For each 'hit' (matching file) AND if the fix criteria option is active..
- Rename file: the closest configured match based on priority order..
- Wrong case
- Table name
- Fuzzy
- Delete files: anyting that wasn't a exact match (or renamed file).
- Rename file: the closest configured match based on priority order..
- Delete unknown and unsupported files: i.e. anything that wasn't designatd as a table 'hit'
- For each 'hit' (matching file) AND if the fix criteria option is active..
- For each configured content type..
- ALL renamed and deleted files are first copied to the backup folder and indexed against the current date/time.
- If the backup folder is empty (e.g. no fixed files), then delete the backup folder (and any sub-folders)
- Same as Cleaner
- Effectively the same as Cleaner, except..
- the source folder is the folder specified in the merger setup, i.e. NOT the folder corresponding to the configured content type.
- Content types is limited to one.
- Match criteria types is reduced, e.g. "unknown files" is n/a.
- For each table (from the DB)..
- For the single configured content type..
- For each 'hit' (matching file) AND if the fix criteria option is active AND if the ignore option is not relevant..
- Remove the existing file from the destination folder
- Copy the new file from the source folder. Note, no attempt to 'clean' the file is performed.. the 'Cleaner' needs to be run again.
- For each 'hit' (matching file) AND if the fix criteria option is active AND if the ignore option is not relevant..
- For the single configured content type..
- File backup handling is the same as Cleaner.
ClrVpin v7