foo_hardlinks is a component that provides %hardlink_count% and %hardlink_paths% titleformat information (also viewable on the file properties page), and reloads tag metadata for all linked paths in the library when tags are updated on one of them.
compatible with foobar2000 1.6.16+, available in both x86 and x64 versions.
tested on my library with a total ~74K paths imported from across 5 volumes (two of them are SSDs, rest are HDDs), of which my main (organized) collection is on the second SSD, spanning about ~25K paths, with about 10% of them being hardlinked duplicates (into a special "playlist" folders, easily accessible from other applications i use).
OS: W11 x64 build 25915, CPU: i7-9750H
on this setup the update delay is barely noticeable, linked tracks update their metadata almost instantaneosly.
notes:
- has not been tested on Wine, etc.
- the component handles hardlinks placed inside junction folders (on the same volume), as it uses a hashed %hardlink_paths% value for updating, which should be the same for all hardlinked paths, regardless of what their absolute "access" (imported) path may be.
- does not use an additional metadata_index, instead i tried to optimize away what i could when enumerating the library updating/reloading metadata.
- thus, reloading hardlinked metadata on a HDD are probably much slower, and may cause a slight hang in foobar2000's ui update.
latest version:
0.7.0 (initial release)