Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: Columns UI: Filter panel: view by genre>artist>album (Read 5624 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Columns UI: Filter panel: view by genre>artist>album

Hi folks,

how can I make the filter tab work like this? I'm using a new configuration from deviantart(foonate) and there the filter panel has only Genre, Artist, Album fields. My music folder is organised by genre folder>artist folder>albums. I really like how the facets plugin does this but I can't use it because the configuration is on Columns UI.

Columns UI: Filter panel: view by genre>artist>album

Reply #1
you can add new filters under file>preferences>display>columns UI>filters.

on the main interface, right click the filter headers to change.

Columns UI: Filter panel: view by genre>artist>album

Reply #2
you can add new filters under file>preferences>display>columns UI>filters.

on the main interface, right click the filter headers to change.

Thanks, I knew that, but I can't figure out what to put as the new filters.

I created a new filter called folder and in the field put $directory(%path%,4), but  it's not working. I'm a newb, sorry.

My music is stored like this F:\M\Genre\Artist\Album\

This is what it looks with $directory(%path%,4) filter. It's missing a lot of files(the Cream folder has 5 albums, while it shows only 2) and some are out of place(Beatles, Led Zeppelin, Pink Floyd and Pearl Jam should be in their respective folders). Please check screenshot.

Columns UI: Filter panel: view by genre>artist>album

Reply #3
Obviously your folder hierarchy isn't uniformly organized. Looking at the structure you've written, $directory(%path%,3) should've returned your genre folders.

Looking at your screenshot and the fact you used $directory(%path%,4), disc folders within album folders might explain why you obtained your genre folders. The returning of 'M' is likely those album folders without disc folders. Other values returned are harder to explain... double album folders, etc. could be a possibility.

If your tracks have a genre tag, why not just use that tag in the filter? If viewing by folder hierarchy is a must, you might be better off replacing that filter with Album List Panel. Unfortunately however, it doesn't influence what populates filters.

Columns UI: Filter panel: view by genre>artist>album

Reply #4
"I can't figure out what to put as the new filters. . ."

You mean you can't create title-formatting syntax for all three Filters to realize your chosen display ?

Your chosen display is three filters placed vertically. . .
- Top Filter is:  a classified folder being indexed by your media library, and it is the second folder from the root of the drive.
- Middle Filter is: a classified folder being indexed by your media library, and it is the third folder from the root of the drive.
- Bottom Filter is: a classified folder being indexed by your media library, and it is the fourth folder from the root of the drive.

So for each filter, you want title-formatting syntax to display all the classified folder names at the specified directory level.

Is all that I have described correct ?

Here is some useful reading material. . .text from another thread at this forum:
Quote
__http://www.hydrogenaudio.org/forums/index.php?showtopic=84085
foobar grouping by folder from root of disc; grouping by tag - Hydrogenaudio Forums:


...........................................
Posted by Yirkha,  Oct 6 2010


Strip the first part of the path (till first backslash):

    $puts(d1,$substr(%path%,$add($strchr(%path%,\),1),999))

Strip the second part of the path:

    $puts(d2,$substr($get(d1),$add($strchr($get(d1),\),1),999))

Etc.

Finally print only the characters till the next backslash:

    $substr($get(d2),0,$sub($strchr($get(d2),\),1))



...........................................
Posted by herojoker,  Oct 6 2010

Here is a one-liner alternative for the N-th directory from the root:

  $directory($replace(%path%,:,),$sub($sub($len(%path%),$len($replace(%path%,\,))),N))

  N=0 yields the very root (hard drive)
  N=1 yields the first directory level
  etc.

  If you want the actual file to be captured as the highest level, replace "%path%" by "%path%\" everywhere.

Columns UI: Filter panel: view by genre>artist>album

Reply #5
Finally managed to do make it work exactly like the facets component did. :-)



$directory($replace(%path%,:,),$sub($sub($len(%path%),$len($replace(%path%,\,))),2))

This line did the trick for the problematic first filter, which is supposed to show the Genre folders of my library. The second and third filters can use tags, makes no difference, all files are tagged.

The problem with using the genre tag in the first filter is this; all my files get tagged with freedb and in my laziness I don't double check all files. Which results in Pink Floyd for example being tagged as Psych Rock in some albums, Prog Rock in others, etc. In the end I get a lot of different genres for the same artist which doesn't work for me while browsing my library. My crude and simple genre classification works for me.


Thank you everyone, managed to get it working and learn something. ;-)