I've developed Adrian's patch a little further to allow modification of the ratings:
The branch is based on 2.6-alpha3.
This works by creating plain text files in any directory that has rated music files.
- Works for any file type and on all file systems
- Ratings belong to users, not to files. The ratings file name is an option (default: "ratings"), so you can do "ratings_alice", "ratings_bob", etc for shared music libraries
- Ratings are very easy to backup and very hard to lose
- Reorganizing folders is no problem
- Renaming files breaks the ratings, but seeing the ratings file should hint at that and you can still match them manually (or with some scripting) after that.
- Changing ratings does not change large binary files (which using tags would do) and slow down backups
- It's one file per directory, so there's not much clutter (and it's a bit like cover.jpg)
- Simple, fast, unixy and you can do all kinds of scripting with this (finding all 5-star songs for a playlist and such)