[Rhythmbox-devel] Practical Rhythmbox usage ...



Colin Walters wrote:
> On Wed, 2004-05-19 at 18:40, Nicholas Wieland wrote: 
> > If I make a little change in a song RB doesn't mantain metadata, for
> > example ratings or passages. Quite irritating, maybe someone wants to
> > rate everything ...
> 
> Yeah, it's hard to fix really cleanly, but we could probably hack around
> it by just keeping a record of all files we've ever seen and assume that
> if a file is ever later added with the same name it should have the same
> ratings, etc.

One very cool thing about iTunes (at least on a Mac) is that you can
move tracks around/rename them/whatever in the filesystem and the app
doesn't lose the connection between the file and the metadata.  The
reason?  After digging a bit, it turns out to be an artifact of the fact
that the default filesystem on a Mac is HFS+.  So this is not something
we can adopt.  :-/

Filenames (and especially full paths) are a bit fragile, however.  I'm
forever having to rename files to get rid of non-7bit clean characters,
and it'd be nice to move things back and forth to my FAT16 USB keychain
drive seamlessly.  The other thing is that filenames may not be unique
enough, especially having having been truncated to be short enough for
FAT16.

How about doing a hash (MD5sum?) of each song file and using that to
keep track of unique songs and the associated metadata?  Songs are
(normally) only imported once so it shouldn't slow down Rb in general
use.  

When a "new" (by filename) track is encountered, Rb could hash the
track.  If it matches a hash already in the database (perhaps in
combination with track length, if the hash is not thought to be unique
enough), Rb could either automatically re-associate the metadata or
present a dialog box with the info from the ID3 tags in the file and
from the matching-hash-entry aready in the database and let the user
confirm the match.

By using a hash, the metadata would surivive even extreme
reorganizations such as moving all tracks from a local drive onto a
network share.  It would also give us the flexibility to merge metadata
from different instances of Rb if the user wants.  What I'm thinking of
here is a user with a desktop and a laptop. Both have Rb.  The desktop
has all the user's tracks.  The laptop has a subset of tracks.  If both
can share the same (or a copy of the same) metadata database, then I can
move arbitrary subsets of my tracks from the desktop onto the smaller
hard drive of the laptop & have the associated metadata be picked up. 
It would also be a foundation for a future where playcounts are
synchronized back and forth across different machines and/or portable
devices which may be associated with a machine.  An alternative usage
scenario is one where a workgroup of people share a central music source
and want to combine their efforts in rating tracks.

thomas





[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]