I like your suggestion. Moving to a schema that distinguishes different
sources will become important as we try and tackle the removable-libraries
project (e.g. ipods, usb sticks, network shares, etc.)
In general we wanted to avoid making a library record for tracks coming from
itunes or rhythmbox so that their metadata would be re-loaded each time you
loaded them. Basically, if someone has said they want to use iTunes --
they're making a statement that they want to manage their library outside of
Mixxx and so we avoid recording any metadata about the track except for what
iTunes provides us. I think this is stunted compared to the ideal, but it's
a lot less work than presenting a merge metadata / resolve conflicts UI when
reloading your iTunes library. If you've added all your RB tracks to Mixxx
playlists, and then you delete those tracks from your RB library what should
we do in Mixxx? To avoid having to deal with the corner cases of syncing, we
made them siloed.
The iTunes/RB tracks could really use a context item for "Add to Mixxx
Library" but for now you can accomplish that by dragging and dropping them
on the 'Library' section.
On Sat, Aug 6, 2011 at 3:38 PM, Andreas Pflug <pgadmin@...:
> 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
> 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
> 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.
> 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!
> Mixxx-devel mailing list