Hey folks,
This is referring to my post in the Gallery topic...
(1) I like the Album view concept - some more details would be appreciated on how you organize that?
(2) How are you avoiding lines between the panels?
Hi @mjm716
(2) Second question first, the background color (in Preferences... Colors And Fonts) is the same as the window color, RGB 240. So the splitters are camouflaged. It helps there is transparency and the fake blur coming through.
(1) A bit of title formatting. I guess I'll just paste it with a few brief notes and leave you to sort it out as you please...
Aside from the standard fields, my files are tagged with FEATURED, ENSEMBLE, RELEASETYPE, ARTISTGROUP, and DISCSUBTITLE. (At least these are the relevant ones). Of course RELEASETYPE is the key one for most of the headings ("Singles", etc), however I leave the tag empty on most albums which then is coded as "Studio Albums". ENSEMBLE tag you can ignore I think, it should fall back to ALBUM ARTIST in most cases ($if3), I mostly use it as album wide sort tag for bands. And ARTISTGROUP is the link for bands ("Soundgarden") to show up under the solo artist ("Chris Cornell"), in this case the band albums are tagged with ARTISTGROUP=Chris Cornell, for example.
Facets correlates this into one artist entry thanks to the multiple patterns feature. Without this, or using another library viewer, you could still get RELEASETYPE groupings I guess, but could not include the extra fields / headings for completion. So...
Facets - Artist column:
$if($not($stricmp(%genre%,Podcast)),%<artist>%)|[$if($not($stricmp(%genre%,Podcast)),%<featured>%)]|[%<artistgroup>%]|$if($strstr($meta(album artist),Various Artists),Various Artists <<>>)
^ Excludes podcasts, and adds a group for VA albums.
Then EsPlaylist (in default 'Follow Active Playlist' mode) shows the results. Make a new "Album (by Release Type)" group with 2 grouping levels - level 1 for the heading of Artist / Release Type, and level 2 for the Album cover and info. Be sure to tick the box next to level 2 to make it the default.
(Level 1 - Artist) Grouping:
$if(%artistgroup%,%artistgroup%)$if3(%ensemble%,%album artist%)$if($strstr(%releasetype%,Single),Single)$if($strstr(%releasetype%,Live),Live)$if($strstr(%releasetype%,Compilation),Compilation)$if($strstr(%genre%,Music Video),Video)
(Level 1 - Artist) Title:
$puts(en,$if3( $meta_sep(ensemble, ),$if($or($strcmp(%ensemble%,%album artist%),$strstr(%artist%, & )), , )$meta_sep(artist, ), $meta_sep(album artist, ),'[Unknown Artist]')$if($or($and(%ensemble%,$not($strstr(%releasetype%,Single)),$not($strstr(%releasetype%,Compilation)),$not($strstr(%releasetype%,Live)),$not($strstr(%genre%,Music Video))),$and($not(%track artist%),$not($strstr(%releasetype%,Single)),$not($strstr(%releasetype%,Compilation)),$not($strstr(%releasetype%,Live)),$not($strstr(%genre%,Music Video)))), $es_highlight(6)Albums$es_highlight())$if(%track artist%,$if(%ensemble%,, $es_highlight(6)Appears On$es_highlight()))$if($strstr(%releasetype%,Single), $es_highlight(6)Singles$es_highlight())$if($strstr(%releasetype%,Compilation), $es_highlight(6)Compilations$es_highlight())$if($strstr(%releasetype%,Live), $es_highlight(6)Concerts$es_highlight())$if($strcmp(%genre%,Music Video), $es_highlight(6)Videos$es_highlight()))$if($and(%artistgroup%,$strcmp($num(%tracknumber%,1),1)),$if($strstr(%album artist%,$meta(artistgroup,0)), $get(en),$get(en) $es_highlight(6)' / ' $es_highlight(5) $meta(artistgroup,0)[ $meta(artistgroup,1)] $es_highlight(6)Groups$es_highlight()),$if($strcmp(%album artist%,%artistgroup%),$get(en) ,$if($and(%artistgroup%,$not(%featured%),$not($strcmp($num(%tracknumber%,1),1))),$get(en) )))$if($and(%featured%,$not($strcmp($num(%tracknumber%,1),1))),$if(%artistsort%, $get(en) , $if($strstr(%featured%, & ), , )$meta_sep(featured, ) $es_highlight(6)Features On$es_highlight() $if($strstr(%releasetype%,Single),$es_highlight(6)Singles$es_highlight() )),$if($and(%featured%,$not(%artistgroup%),$strcmp($num(%tracknumber%,1),1)),$get(en)) )$if($not(%artistgroup%),$if($not(%featured%),$get(en) ))
^ Some unicode characters for icons. (I used to use a different icon for ENSEMBLE, but now the same)
^ Basically a lot of (non- nested) $if functions where only one returns true for each album. I did this ages ago and I'm sure it could be cleaned up now that I know better, but honestly, it takes time. I forget what the ARTISTSORT was needed for, and the other issue is with TRACKNUMBER=1, where EsPlaylist likes to group things under whatever tags the first track has. If the first track has a FEATURED artist tag, EsPlaylist groups the entire album under that instead of the primary artist. So have to ignore it in some cases. (Might not always work perfect)
(Level 1 - Artist) Artwork: set to Artist.
(Level 2 - Album) Grouping:
%album%
(Level 2 - Album) Title:
[$if($strstr(%discsubtitle%,Live),%discsubtitle%,%album%)]$if($and($not(%album%),$strcmp(%genre%,Music Video)),Music Videos)$if(%favorite%, )$ifgreater(%_Days in library%,28,, ✱)
^ If disc 2 (etc) of a set is a "Live" recording (always mentioned in DISCSUBTITLE), I split it from the "Studio Album" and group it under "Concerts".
(Level 2 - Album) Side Info:
%album artist%$crlf()
$es_highlight(-1)[$year(%date%)]$if($and(%date%,%releasedate%),' / ')[$year(%releasedate%)]$crlf()
$es_highlight(-2)'('%es_subgroup_count% track$ifgreater(%es_subgroup_count%,1,s,)[$ifgreater(%es_subgroup_count%,1,$if($strstr(%discsubtitle%,Live),, / %totaldiscs% discs),)]')'$crlf()
$es_highlight(-2)'('$if(%length%,$iflonger(%es_subgroup_length%,5,$add($mul($left(%es_subgroup_length%,1),60),$substr(%es_subgroup_length%,3,4)) minutes,$iflonger(%es_subgroup_length%,4,$left(%es_subgroup_length%,2) minutes,$ifequal($left(%es_subgroup_length%,1),0,$right(%es_subgroup_length%,2) seconds,$left(%es_subgroup_length%,1) minute$ifgreater($left(%es_subgroup_length%,1),1,s,)))),~ mintues)')'
^ I use RELEASEDATE field for a reissue / remaster date, while DATE is the original.
^ The album LENGTH is displayed in minutes (i.e. "75 minutes") - if I recall this code only works for durations under 10 hours, which is fine for most albums. I have another one which converts to "days, hours, minutes" for podcasts.
(Level 2 - Album) Artwork: set to Cover Front.
Finally enable 'Force-Sorted' for the entire grouping:
$puts(da,|%date%|%releasedate%|$stripprefix(%album%)|%discnumber%|%tracknumber%)$if($and($not(%es_group_header%),$not(%artistgroup%),$not($strstr(%releasetype%,Single)),$not($strstr(%releasetype%,Compilation)),$not($strstr(%releasetype%,Live)),$not($strstr(%genre%,Music Video))),$stripprefix($if3($meta(ensemble,0)aa,%track artist%aaa,$meta(album artist,0) a,$meta(artist,0) a))$get(da),$if($and($strstr(%releasetype%,Single),$not(%artistgroup%)),$stripprefix($if3($meta(ensemble,0)b,$meta(album artist,0) bb,$meta(artist,0) bb))$get(da),$if($and(%artistgroup%,$not($strstr(%releasetype%,Single)),$not($strstr(%releasetype%,Compilation))),$stripprefix($if3($meta(ensemble,0)c,$meta(album artist,0) cc,$meta(artist,0) cc))$get(da),$if($and($strstr(%releasetype%,Single),%artistgroup%),$stripprefix($if3($meta(ensemble,0)d,$meta(album artist,0) dd,$meta(artist,0) dd))$get(da),$if($strstr(%releasetype%,Compilation),$stripprefix($if3($meta(ensemble,0)ee,%track artist%eee,$meta(album artist,0) e,$meta(artist,0) e))$get(da),$if($strstr(%releasetype%,Live),$stripprefix($if3($meta(ensemble,0)f,$meta(album artist,0) ff,$meta(artist,0) ff))$get(da),$if($strstr(%genre%,Music Video),$stripprefix($if3($meta(ensemble,0)g,$meta(album artist,0) gg,$meta(artist,0) gg))$get(da),$stripprefix($meta(featured,0)) h$get(da))))))))
^ This time a lot of (nested) $if functions where again only one should return true for each album. The sorting is done by adding letters A-H after the artist name. The objective is to first sort by artist name, then put each type in order: Albums, Singles, Groups, Compilations, Appears On, Concerts, Videos. My problem here is I have not figured out how to sort FEATURED tag as well, without screwing up the rest (complete albums that might have featured artists need to stay complete). So that one annoyingly ends up being sorted by ARTIST name, which might put it before or after the selected artist.
A work in progress, as everything foobar related.
(Incidentally if trying to figure this stuff out, I recommend pasting it into Title Formatting Sandbox component. There you can click on functions to see the output, whether true/false, and where they begin and end - super useful)
Cheers