Support and General Use > Audio Playback, Database and Playlists

Cumulative tagnavi filters

(1/1)

seani:
Is there any way with current tagnavi functionality to nest filters/search parameters, and/or combine these with search results?

At the moment, it appears that I can specify a sub-menu and add a list of custom filters to that menu. Once the custom filter has been specified, I can follow this up with a sequence such as "artist -> album" to allow search results to be shown in a hierarchical format for the newly filtered subset.

As far as I can see, this is a one-time deal; you can custom filter to begin with, but then you're reliant on straightforward ID3 tag structure (albeit flexibly formatted and sorted :-))

Is there any way that a custom filter can be referenced at more than one level, i.e.

  artist -> "my_filter_1" -> album -> "my_filter_2"

Failing that, is it possible to mix the hierachical list of tracks with user specified sub-menu items, on a results screen:

  Artist One (existing hierachical entries)
  Artist Two
  .
  .
  .
  Artist N

  Title Search (sub-menu)


In this case, any filtering specified in the sub-menu acts on the subset of tracks already determined by Rockbox at that point in the hierarchy.

roolku:

--- Quote from: seani on June 11, 2007, 10:49:58 AM ---Is there any way with current tagnavi functionality to nest filters/search parameters, and/or combine these with search results?

--- End quote ---

I am not entirely sure I understand what you mean (your terminology seems to differ from the 'official'), but as http://www.rockbox.org/twiki/bin/view/Main/DataBase#tagnavi_config_v2_0_Syntax suggests, you can have conditions (which my include user queries) at every filter level.


--- Quote from: seani on June 11, 2007, 10:49:58 AM ---Failing that, is it possible to mix the hierachical list of tracks with user specified sub-menu items, on a results screen:
--- End quote ---

Only if you specify all branches as entries in a custom menu (which obviously defeats the purpose of a filter).

seani:
Well, I'd concede that my terminology is likely "unofficial"/inconsistent, but I'll aim to do better.

Also the explanation wasn't clear. Rather than attempt to clarify at the moment, perhaps if I describe a particular scenario, the generalisation will just pop out :-)

I want to be able to set up a menu with custom filters that allow me to search for track titles containing the words "good", "bad", or "ugly".

When one of these is selected, I'd like some way to either:

1) Select one of tracks already identified and play it

or

2) Apply another custom filter, this time for those titles containing "hope", "faith" or "charity".

If I select one of the tracks presented in (1), game over.

If I select one of the filters in (2), I'd like to see a list of track titles containing "good" and "hope" or "good" and "faith", or "good" and "charity", and so on, for all 9 possible combinations.

The point being that the search defined in my first level either presents me with the result-set so far, any one of which I may select, or defines the subset to which the second filter can be applied.

Try as I might, I can't see how I can achieve this with the current syntax.

roolku:
For starters there is no "OR" operator, so it won't work.
Furthermore you need to have a filter to apply a condition - in your case you want one that only returns a single value. So assuming all your songs have the same genre and using "AND" instead of "OR" you could do something like

"Test"  -> genre ? title ~ "good" & title ~ "bad" & title ~ "ugly" -> genre ? title ~ "hope" & title ~ "faith" & title ~ "charity" -> Title = "fmt_title"

This would give you a single genre entry with "All tracks" containing tracks with "good", "bad" and "ugly" in the title.

Or you could pick the genre entry again at the next level to restrict it further to tracks containing
"good", "bad", "ugly", "hope", "faith" and "charity"

It doesn't strike me as being very useful though.

seani:
Yes, I realise OR isn't supported (and has been previously requested and rejected on the grounds of performance), and the compound *fixed* filters of the type you describe are of very limited real-world use for my purposes (except to confirm that the functionality I'm after definitely *isn't* supported with current syntax).


So my more realistic real world scenario is:

1) I use the genre tag to attach multiple "keywords" to each of my tracks, each genre "keyword" seperated by a delimiter, as in the following examples:

  "|Rock|"
  "|Classical|"
  "|Electronic|"
  "|Chillout|"
  "|Classical|Rock|"
  "|Electronic|Chillout|"
  "|New Age|"
  "|Classical|New Age|"
  "|Gym|50bpm|"
  "|Gym|100bpm|"
  "|Gym|Rock|"
  "|New Age|Electronic|"
  "|Classical|New Age|Electronic|"

This allows me to attach arbitrary attributes to any of my tracks, and select tracks based on those attributes by creating custom filters using the search operator. Nothing that Rockbox doesn't just take in it's stride at the moment.

I need to track the keywords used and create menu entries myself but, ho-hum, it's quite manageable


2) I pick the "Electronic" ("|Electronic|") entry on my custom menu.

Assuming I have no further filters defined against that menu entry, I'm presented with a list of any tracks with the following genre values:

  "|Electronic|"
  "|Electronic|Chillout|"
  "|New Age|Electronic|"
  "|Classical|New Age|Electronic|"


3) Now I'd like to be able to somehow reuse the menu I've already defined at the first step against the new subset. If I pick "|New Age|" now I get a list of tracks matching the following genres:

  "|New Age|Electronic|"
  "|Classical|New Age|Electronic|"


4) If this was available, I can extend this in any direction by adding keywords with meaning for me:

By mood: "Party", "Sunny", "Depressed", "Hyper", "Dinner Party"
By pace: "50bpm", "100bpm", "150bpm"
By instrument: "Piano", "Clarinet", "Electric Guitar"

or any other dimension I decide on. I can end up with very specific filters such as "Party-50bpm-Rock" or "Depressed-Piano"


As it stands I can:

1) Set up any specific cominations in advance as a single filter - relatively inflexible

2) Make it a *bit* more flexible by specifying a user-entered search parameter at each part of the filter stages - fiddly to enter, you need to remember your keywords every time, and you'd end up with unused/too few search terms depending.

But neither of these really exploit the information I'm providing in the keyword list.


I seems to me that the ability to refer to a sub-menu in a filter condition would allow this, and it would have a fair bit of general utility. And this is *really* what using "title" or "artist" or "album" seems to do - they're special case sub-menus, dynamically generated accordingly (in spirit if not implementation).


Of course the functionality I'd *really* be after is a keyword tag that works in the same way as the built-in "album", "artist", "genre" tags et-al currenly available, but which splits the given ID3 tag on a delimiter, presents a list of generated keywords, and allows selections to be made automatically.

Selecting on keyword then becomes:

  genre_keyword

and if I want to apply multiple filters:

  genre_keyword -> genre_keyword -> genre_keyword


Navigation

[0] Message Index

Go to full version