After I have iTunes running under Linux, I'm missing some features: no
add to AutoDJ/Playlist/Crate. The reason is probably that there's no
globally unique ID for any track, regardless of its origin. Instead,
tracks are stored in separate tables: library, traktor_library,
itunes_library etc. This is an unfortunate duplication of storage locations.

I suggest to redesign the db model: drop all specific library and track
tables, instead add a column to library designating the track origin,
something like

CREATE TABLE library_provider (
  id INTEGER NOT NULL PRIMARY KEY,
  type INTEGER NOT NULL, -- default, itunes, traktor, ...; might need
more elaboration
  name varchar(64)
);

ALTER TABLE library ADD library_provider_id INTEGER REFERENCES
library_provider(id);


with a library_provider entry for each provider:
- default
- itunes
- traktor
- ipod
- USB-stick
- USB-stick-2
...

There isn't really a need for separate tables, since ultimately a track
is a track. The library_provider_id could be used to maintain the
tracks, e.g. removing the entries when a library media is ejected. OTOH,
storing all tracks jointly enables all organisational features without
further effort.

Regards,
Andreas


------------------------------------------------------------------------------
BlackBerry® DevCon Americas, Oct. 18-20, San Francisco, CA
The must-attend event for mobile developers. Connect with experts. 
Get tools for creating Super Apps. See the latest technologies.
Sessions, hands-on labs, demos & much more. Register early & save!
http://p.sf.net/sfu/rim-blackberry-1
_______________________________________________
Mixxx-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mixxx-devel

Reply via email to