crc32tag 0.25beta
Description
This content plugin calculates CRC32 values, allowing multiple features:- To check values from SFV files or from tags in filenames. E.G. FileName_[0AA03FF4].bin.
- To rename files to FileName_[CRC32] format.
- To find SFV that are declaring missing files.
- To return current CRC32 calculated from file.
- To calculate CRC32 from MP3 files, ID3 tags regardless (v1 & v2).
- To speed up by skipping already calculated files from cached lists.
- And more.
What’s new
- NOTE: Do not forget to enable both ini entries: Int_CacheSaveToFile=1 and Int_CacheLoadFromFile=1 to benefit all of the cache list updated functions.
- Speed optimisation: Added ini entry: Int_MaxBufferSize, which should greatly increases the reading speed in some cases (the previous versions were fixed 4096B buffer)
- Speed optimisation: Now GetCrc32From.* functions will return empty field for SFV filetype when ini entry Int_TreatSfvAsSpecial is equal to 1. This is to avoid searching for SFV files for another SFV.
- Speed compromise: Now GetCrc32From.Auto_Result will only return "tag" instead of "tag/sfv" (skip SFV searching if file is already covered by tag in name).
- Added GetCrc32From.Auto_Result_LegacySlower which has the same functions as the previous version of GetCrc32From.Auto_Result (more precise).
- Added GetCrc32From.Auto_Result_LegacySlower string entry to crc32tag.lng.
- Str_Delayed default ini entry is now "- - -" against "- - - - -" before.
- Speed optimisation: Greatly optimized cache list reading speed in memory by using 256 sorted lists of 256 lines each.
- Speed optimisation: Now accessing cache list in memory should feel almost instant: 8001\256 = 31.25x faster than before!
- Longevity Optimisation: Now the life of cache list entries before being overwrited should be way much longer, thanks to both the 256 lists sorting and the increased total size: 65536 entries vs 8001 for older versions.
- Longevity Optimisation: Because of the new bigger cache list entries count (16+65536 vs 8001), the memory usage increased from +3MB to +65MB (tested on x86 version).
- Safety: basic check at loading the cache file to automatically ignore and replace in case of older/corrupted/incompatible content.
- PrivateInt_CacheListIndex ini entry is now obsolete and will not anymore be loaded nor saved to ini file.
- Default now ini entry Int_Size3 is equal to 52428800(50MB) (250MB on previous version)
- Changed returning string "corrupted META?" to "BAD META?"
- Speed optimisation: More accurate searching for the matching SFV file. Searching order until SFV is found is now: E.G. c:\folder\file.txt --> file.sfv, file.txt.sfv, folder.sfv, *.sfv or f*.sfv, sfv not found.
- Speed compromise: Added ini entry Int_FolderSearchOnlyMatchingFirstChar_FASTER. If set to 1, search only for files matching the first letter. E.G.: c:\test.txt --> c:\t*.sfv. Otherwise: c:\*.sfv
- Speed compromise: Added ini entry Int_FolderSearchMaxFilesCount. -1=search for all (can be very slow if LOT of sfv in current folder) 0 or more=Maximum searching before returning CRC not found in SFV.
- Now compiled with VS2012EX
* 0.24b,
- use crc32tag.ini from plugin directory if it already exists otherwise use contplug.ini as before (tbeu)
* 0.23b,
- Corrected spanish words in crc32tag.lng (Sombra)
- added 64 bit support (tbeu)
- full support of Unicode (tbeu)
- crc32 calculation is based on zlib 1.2.7 avoiding inline assembler (tbeu)
- Str_CacheFileName ini entry (from contplug.ini) does not support relative path anymore
* 0.22b,
- Fixed a bug where the WithoutMETADATA value was not returned correctly (showing sometimes a wrong crc32)
* 0.21b,
- Added WithoutMETADATA & OnDemand_WithoutMETADATA (currently working only for ID3 from MP3 and WAV files).
- Now it permit to calculate crc32 from MP3 files, ID3 tags regardless (v1 & v2).
- The result of WithoutMETADATA is also saved into cache list; like "c:\file.mp3, 11, 2001/1/01, 01:01:01NOMETAFFFFFFFF"
* 0.20b,
-Now GetCrc32FromFile automatically check the cache value before returning a delaying or the "(on demand)" value.
-Now CheckCrcFrom return a non-delayed value for the Tag based entries.
-Now CheckCrcFrom may check the cache value and automatically delaying the result instead of "(on demand)" value.
* 0.19b,
-Now ALL internal string comparison functions are no more case sensitive.
-Added ini entry : Int_CacheRefreshAlsoSubReps (0 = don't refresh subfolders in cache)
-Fixed a problem where an identical value could be saved in cache more than once when Int_UseCache=0
-More messy code than ever!
* 0.18b,
-Fixed the cache file that was not unleashed properly after plugin loading.
-Added the ini entry : Int_UseCache=1 (0 = never read crc on cache but still writing on it).
-Added the private ini entry : PrivateInt_CacheListIndex for internal needs.
-Cache is now saved as it is (with its empty cleared lines).
-Some minors fixes and code cleared.
* 0.17b,
-Added DEU language for crc32tag.lng (contribution from TychoBarfy, thank you!).
-Added pluginst.inf for automatic installation (contribution from TychoBarfy).
-Now some values can be edited directly into TC's content plugins ini file : contplug.ini.
-Now Special treat for *.sfv file is optional but enabled by default (see into ini file, value : Int_TreatSfvAsSpecial).
-Increased cachelist from 4001 to 8001
-cleared some temporary code, which decreasing plugin size from 112kb to 70kb
-Fixed a bug where sfv content was incorrectly interpreted with line bigger than 512, the new value is set to 2048
-Cache can be saved and reloaded from a cache file (disabled by default into ini file)
* 0.16b,
-Now CheckCrcFrom for a file with *.sfv extention will be treated alternatively, and will return special related values.
-Added return string "x/x missing !", "Empty !" and "OK" for new sfv CheckCrcFrom special function.
-Now string comparison is no more case sensitive for a sfv content : PROUT.BIN listed in a sfv will match the filename PRoUT.BiN
* 0.15b,
-Fixed a "bug" where some functions did not worked well with path bigger than 127 chars.
* 0.14b,
-Added a rotating cache, which improve a lot of things (list is too long for here)
-Improved speed when scanning a folder with multiple sfv
-Added a refresh cache function by folder/subfolders. (tc7 only)
-Added 3 variable Size1 to Size3 (should be editable in future)
-Added OnDemand_IfBiggerThanSize1, OnlyIfLesserThanSize2 for GetCrc32FromFile
-Added Auto_OnDemand_IfBiggerThanSize3 for CheckCrc32From
-Added tc's language support for french and spanish
-plugin is now compressed by upx 2.03
-Minors fixes, major release :)
* 0.13b,
-Added .sfv support (read-only) for GetCrc32From and CheckCrc32From.
-Added functions Sfv_Crc32, Sfv_YesNo, Auto_Crc32, Auto_Result, for GetCrc32From.
-Modified OnDemandIfTagName to OnDemand_IfTagName for GetCrc32FromFile.
-Added functions Sfv, Sfv_OnlyOnDemand, Auto, Auto_OnlyOnDemand for CheckCrc32From.
-Modified some messages to match better with tc (crc ok->OK, ! WRONG->Wrong Crc! ect...).
* 0.12a,
-Added the message "! aborted" and fixed a misinterpretation when user was canceling crc32 calculation.
-Added the message "(on demand)" to signal when a value need to be asked.
-Added the message "........" to signal when a crc32 result is incoming (delayed).
-Some minors fixes and code cleared.
* 0.10a,
-First alpha release, for testing purpose preferentially.