loading…
tools/find_duplicates.py compares every piece in the catalog by its
music, not its title — the sorted multiset of (onset, pitch, hand) finds copies that are the same file
under two names, and a transposition-invariant melody fingerprint finds the easy versions, excerpts and
one-hand reductions cut from a longer piece. Titles alone miss both: two of the pairs here share no word at all,
and two that look like a deliberate "(Lesson Version)" pair turn out to be the same file uploaded twice.
admin_delete_piece will not clear because it predates those tables — escrowed commission coins,
a booked recital, an advertised concert. (Everything else it misses is inert: Excalibur, the ladder and the
sections all read their tables through the live catalog, so a deleted piece drops out of them by itself.) And ⚠ different owners means the copies belong to
different people: a private piece is that player's own library, and removing it takes their piece away rather
than tidying yours.
up-dupreview) and survive a reload — download the list
to keep them. Delete them calls app.admin_delete_piece and is admin-only; it cannot be undone.
Re-run python3 tools/find_duplicates.py afterwards to refresh this page.