A tiny little utility for getting and setting the "Unique File Identifier" (UFID) field in MP3 files.

Mp3 is a populuar way to encode music as a compressed digital file. Id3v2 is a way of embedding metadata in mp3 files. UFID is a specific frame type in the Id3v2 standard that labels the mp3 file with a unique identifier that acts as a database key.

This program sets and retrieves such labels.

./ufid -s owner-url filename  (to set a UFID, but not replace one)
./ufid -r owner-url filename  (to replace or set a UFID)
./ufid -g owner-url filename  (to get the UFID)
./ufid -d filename  (to delete all UFIDs)
./ufid -l filename  (to list all UFIDs)

To compile the program, do:
g++ -c ufid.C and
g++ -o ufid ufid.o -lid3 -luuid

Requirements: libuuid and id3lib

License: GPL

Download: ufid.C

Note: according to the id3v2 2.3.0 informal standard, the UFID frame should contain an "Owner Identifier" field and an "Identifier" field. Confusingly, id3lib does not call the fields by the names in the standard, but rather refers to them as an "Owner" field and a "Data" field. The field names/types aren't actually encoded in the file, so this doesn't matter for interoperability reasons.

Projects page, Dan Risacher