Hi all,

I have been working on implementing a Traktor library feature recently. 
Importing the music collection and show them in the tracktableview works 
quite well.  Displaying Traktor playlists and folders in the sidebar are 
possible if you have organized your music in a flat hierarchy -- Mixxx 
library features do not allow tree structures in the childmodel (at the 
moment).

Technically, I use a fast QT SAX-like parser to progress the Traktor XML 
library. Tracks a written to new database table. In my opinion, using 
DOM trees as in iTunes and Rhythmbox features is too slow in general. 
Moreover, If we decide to use SQL for all foreign imported formats, it 
keeps the library clean and other contributors may have less problems in 
understanding our code base. What do you guys think?

Some of my next steps require a modification of the sidebarmodel such 
that arbitrary deep childnode models  are supported. Unfortunately, I 
have no good idea how to implement that in a fast and clean way. This is 
because, there are some fixed rules on creating the sidebar model. For 
instance, the internal pointer of a particular childmodel element, e.g., 
a concrete playlist or crate, is  always a childmodel object. This is 
works well for childmodels with one level but any higher level won't work.

Proposed solution
First I would like to replace all QStringListModels of the library 
features with a TreeItemModel. This model has been adopted from 
http://doc.trolltech.com/4.6/itemviews-simpletreemodel.html and supports 
tree structures.  In a second step, I'd like to replace the rules on how 
to create the sidebar model indexes. If a sidebar item corresponds to a 
childmodel, I'd like replace its internal pointer by an  internal 
pointer of the TreeItemModel object. I hope the core developers were 
able to follow :-) Does it make sense to implement such an approach? Any 
opinions or further recommendations? I am thankful for any help!

Thanks,

Tobias




------------------------------------------------------------------------------
Beautiful is writing same markup. Internet Explorer 9 supports
standards for HTML5, CSS3, SVG 1.1,  ECMAScript5, and DOM L2 & L3.
Spend less time writing and  rewriting code and more time creating great
experiences on the web. Be a part of the beta today.
http://p.sf.net/sfu/beautyoftheweb
_______________________________________________
Mixxx-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mixxx-devel

Reply via email to