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
