On 06/06/2017 09:02 AM, Anast Gramm wrote:
On 170606 14:23:07, Markus Klösges wrote:
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)
I think this is way too complicated for the purposes that crates serve. The way
the crate filter already works is fine.
Since the query uses the LIKE operator to find crates it is basically a
wildcard.
I agree, the wildcards are overcomplicated and I don't think it fits
very well with how searches work otherwise. However, there should be a
way to search for only the tracks in a parent crate and none of its
children. Perhaps another special search operator could be used for
this. For example, if "^" was the search operator, crate:^Rock would
show only tracks in the Rock crate but not in any child crates. I don't
know if "^" is the best character to use for this, it is just an example
to demonstrate the idea. Using the above example crate hierarchy,
crate:^instrumental would match all the tracks in both Rock/Instrumental
and Metal/Progressive/Instrumental but none of their subcrates. If you
wanted to query only one of those crates, you could make the query more
specific with either "crate:^Rock/Instrumental" or "crate:^instrumental
crate:rock".
------------------------------------------------------------------------------
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