Nice to see your fast progress on the crate filter (y)

* 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.

Just to make sure I got you right, with a Crate-Tree like this (and things with 
+ are songs)
/Metal
 + UnsortedMetalSong
/Metal/Progressive
 + NonInstrumentalProgressiveSong
/Metal/Progressive/Instrumental
 + InstrumentalProgressiveMetalSong

If I select /Metal from the TreeView I will see all three Songs, Selecting /Metal/Progressive will 
show "NonInstrumentalProgressiveSong" and "InstrumentalProgressiveMetalSong"? 
On a first glance that makes perfect sense.
But I'd like to be able to view only the 'UnsortedMetalSong', for sorting it 
further down into the tree-structure (when organizing my library).
Maybe a Checkbox above the TreeView "Show titles in child-crates", ticked by default, 
would work for that. Like that one would be able to see all Metal stuff (default) and also only 
those that are direct children of "/Metal" (not in child-crates of /Metal).

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.

That also makes sense. What about an additional absolute filter-syntax like 
this:
 - "/" and "*" are not allowed in Crate names.
 - if no "/" nor "*" are in the query, search as you do above (find crate in 
hierarchy that matches by name)
 - allow 'absolute' searches in crates, like in a unix-file-system (starting with or 
containing "/")
 - use "*" as a wildcard for subcrates and songs on the way
 - if there is no "/" at the start of the search-query, treat that as a "*"
   - crate: /Rock will show items in /Rock but not sub-crates
   - crate: /Rock/* will show items in /Rock and all child-crates
   - crate: /*/Instrumental would find all Instrumental songs no matter what 
Genre they are in (if Instrumental is always the last layer in the tree, 
otherwise use /* at the end).
   - crate: Alternative/Instrumental/* would find all alternative instrumental 
songs no matter the genre (assuming the naming-structure you used above)

For me (coming from a Unix Filesystem-view) that looks super intuitive. It does 
not allow to search for terms that are in different order in the path as your 
suggestion (thats why I would treat it as an extension to it):
 - /Metal/Alternative/Instrumental
 - /Rock/Instrumental/Alternative
can both be matched by crate: Instrumental create: Alternative, where a 
path-matching syntax looks weird.

Are there other people that could imagine crate-structures that would profit from those wildcards? Maybe we 
need a "**" wildcard to match any subcrate-path (including "/") and titles, and 
"*" to only match direct subcrates.

Anyway: That's maybe out of scope for your GSOC work atm? And could easily be 
implemented in a second step. But I think that your idea of naming crates and 
their position in the tree via paths would lay a great ground for such a filter.

Keep up the good work for mixxx!
Cheers,
Markus

------------------------------------------------------------------------------
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