Hello,

I am gramanas from GSoC 2017. I've implemeted the Crate Filter and it is 
already merged
in master. I hope you find it useful.
Next on the list are the Nested Crates. Here I would like to present the logic 
begind them
and get some feedback from the list.

* Nested crates means a tree structure of the crate system, like a file system.
    Consider the following example:
    
      - Metal
        - Progressive
          - Instrumental
        - Alternative
      - Rock
        - Instrumental
    
    This is a nice way to organise the tracks in these two major categories 
(metal/rock)
    Obviously Rock/Instrumentals are different songs that 
Metal/Progressive/Instrumentals
    and they exist in a different crate, but with the same name.
    
    To solve this issue I am thinking of naming each crate like a link in a 
file system.
    For example the crates above would have a name like this in the DB:
    
    /Metal
    /Metal/Progressive
    /Metal/Progressive/Instrumental
    /Metal/Alternative
    /Rock
    /Rock/Instrumental
    
    The CrateTreeItemModel will take care of showing only the last word of the 
name.
    The crate: filter would work like this:
    
    ** If you want to see all instrumentals you type crate: instrumental
    and you get both /Metal/Progressive/Instrumental and /Rock/Instrumental.
    ** If you want only Metal instrumental songs you type crate: metal crate: 
instrumental
    and you get only /Metal/Progressive/Instrumental songs.

----------

* Each crate can contain other crates AND tracks.
    This means that in the example above if you have songs inside the 
Progressive crate,
    there is no way to see them alone, you have to see them with the nested 
instrumentals as well.
    This is because when you want to see what progressive songs you have you 
don't care if they are
    instrumental or not. If you care, you should have another crate inside 
Progressive that's for
    the songs that have lyrics.

----------

* A crate can't contain itself nor his parent, or his parent's parent etc.
    Obviously..

    I am thinking this can be enforced by the database, were there will be a 
table
        | ParentID | ChildID |
    with the relationship of the crates.

Please comment on my ideas! Cheers!


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Get Mixxx, the #1 Free MP3 DJ Mixing software Today
http://mixxx.org


Mixxx-devel mailing list
Mixxx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mixxx-devel

Reply via email to