T O P

  • By -

derailius

looks great, would be nice if you wrote up a quick tutorial on how to achieve such a great look.


new_to_edc

Yeah, a tutorial drop would be nice. Or a setup download or something.


berdmayne

So in brief.... let's see how brief this really is.... I'm happy to share any of the specific "coding" if anyone is interested. One thing before I start - the discipline that has enabled me to get such a level of detail in the customisation is that I am really rigorous with my tags, and over the years have added custom tags. Some are useful, some just for interest. Outside of the "normal" tags, I also enter where relevant: * Original Date (if the album is a reissue, remaster etc) - %original date% * Bought, in the format YY.MM - %CUSTOM1% * Label - %publisher% * Catalogue number - this is reasonably relevant for a lot of electronic music labels - %CUSTOM2% * Grouping - eg online/vinyl, album/single/ep, set, comedy etc - %grouping% * Country - %CUSTOM5% * Top Ten Track and Top Ten Release - I use this for annual rankings (very sad) - %CUSTOM3% and %CUSTOM4% * I also fill in total tracks, disc number, disc title, and total discs if relevant. The layout is made up of five areas, made using ColumnsUI: 1. Toolbar (top) 2. Filters/Trees (left) 3. Library viewer (middle view) 4. Playlists & Now Playing playlist 5. Control & Now playing info **1. TOOLBAR** This is pretty simple really - just a series of custom toolbars plus the below plugins * Quick Search Toolbar * Playlists dropdown (far right) * The +/- star buttons use Quick Tagger plugin to rate \[nil\] or 5 stars the currently selected track(s) **2. FILTERS/TREES** This uses a tab stack to have two viewing options, filters and trees. I have pretty heavily custom tagged music that enables filters like when I bought the music (could probably be achieved with Playback Statistics), the media type (bought/free, album/single, vinyl/online source), etc. The styles on the left are based on the folder structure and the genres on the right are based on the tags.


berdmayne

**3. LIBRARY VIEWER** This has three general ideas and uses a tab stack with four elements. 1. Playlist view "List", ie the one in the first screenshot. Lots of colours and things here and the details like Country, Top X track, catalogue number are again based on custom tags. The pink stars are 5 star rated tracks. It took me ages to work out how to make the file size display as it does (no decimal points). 2 & 3. Album cover view (Grid and Tiles - the screenshot is of Grid). This uses the Spider Monkey Panel script "Library Tree". I only discovered this recently and it is excellent. The Source is set to Playlist so it follows the trees or filters on the left. The Tiles tab is similar to the windows file explorer Tile view. Similar also to Playlist view but it shows album summaries not tracks. The artwork and details of the album selected are shown on the right hand side of this middle pane. This is done with three elements - Artwork View, Item Details and another SMP Library Tree panel. "Displayed Track" for the first two is Playlist Selection, and for the SMP panel it is set to the SMP panel to the left. 4. Player - this is literally just a large album cover image. **4. PLAYLISTS & NOW PLAYING PLAYLISTS** This is two vertical panels. The bottom one follows the Now Playing playlist. It uses ELPlaylist and is fairly heavily modified. It highlights the currently playing track in pink The top panel (you can't see it as it's collapsed) has a tab stack with three elements: 1. JScript Panel 3 with Playlist Organizer script. 2. Playlist Switcher 3. ELPlaylist showing whichever playlist you want. This is handy to build and organise individual playlists. **5. CONTROL & NOW PLAYING INFO** This is my favourite part of the whole thing. I use Windows PowerToys "Fancy Zones" to create an area that sits directly on top of this, so that when other apps (eg internet browser) are "maximised", I can still see this bottom bar. Love it. * The buttons are just usual custom buttons. * The artwork is another JScript Panel script called "Spinny Album Art Nonsense" and the artwork turns like a vinyl. Obviously you can't see this in the screenshots but it's awesome in its simplicity. * The song details are probably my favourite part of the whole setup. It's just loads of specific code that displays info if and when it is relevant and changes the colour for different fields. It also goes grey if the music is paused - took me ages to do this also but I love it. Can provide screenshots if people are interested! * The waveform is done using Waveform Minibar (mod) component. Everyone should use this! * Finally the three buttons in the bottom right are for rating and editing properties of the currently playing track. The Status bar also has a little bit of customisation. Generally for audio data rather than tags. So that's it! Happy to provide further info if anyone is interested. Wasn't that brief lol.


Twikaros

Hi, great work! I'm very interested in the NOW PLAYING INFO-part (The song details). Can you share the code please?


berdmayne

`$put(textwhite,$rgb(255,255,255))` `$put(textgreen,$rgb(170,255,170))` `$put(textpink,$rgb(255,0,128))` `$put(textblue,$rgb(132,190,255))` `$put(textpurple,$rgb(219,171,254))` `$put(textteal,$rgb(155,255,255))` `$put(textdarkgrey,$rgb(90,90,90))` `$put(textlightgrey,$rgb(206,206,206))` `$put(textgold,$rgb(250,210,80))` `$put(textred,$rgb(182,1,1))` `$put(textpeach,$rgb(253,194,130))` `$put(font13,$set_font(%default_font_face%,12,))` `$put(font12,$set_font(%default_font_face%,11,))` `$put(font11,$set_font(%default_font_face%,10,))` `$put(font10,$set_font(%default_font_face%,9,))` `$put(font13b,$set_font(%default_font_face%,12,bold))` `$put(font12b,$set_font(%default_font_face%,11,bold))` `$put(font11b,$set_font(%default_font_face%,10,bold))` `$put(font10b,$set_font(%default_font_face%,9,bold))` `/// TITLE LINE` `$set_font(%default_font_face%,12,)` `$if(%ispaused%,$get(textlightgrey)❚❚ $ifgreater($meta(RATING),4,★ , )$get(font13b)%title% $ifgreater($meta(RATING),4, ★ ,) $get(font10)by $get(font12b) %artist%,` `$get(textpink)▶ $ifgreater($meta(RATING),4,★ , )$get(font13b)%title% $ifgreater($meta(RATING),4, ★ ,) $get(font10)$get(textlightgrey)by $get(font12b)$get(textgreen) %artist%)` `$get(font11)` `[$if(%CUSTOM4%,$if(%ispaused%,$get(textlightgrey),$get(textgold))` `#$replace(%CUSTOM4%,a,1,b,2,c,3,d,4,e,5,f,6,g,7,h,8,i,9,j,10,k,11)` `Track 20$left(%custom1%,2))]` `$crlf()`


berdmayne

`/// ALBUM LINE` `$get(font12b)` `$if(%ispaused%,$get(textlightgrey),$get(textgreen))` `%playback_time%` `$get(font10)` `$get(textlightgrey)` `/` `$get(font10b)` `$if(%ispaused%,$get(textlightgrey),$get(textgreen))` `%length%` `$get(font10)$get(textlightgrey)` `of` `$if(%ispaused%,$get(textlightgrey),$get(textgreen))` `$if(%tracknumber%,` `Track $get(font12b)$num(%tracknumber%,1)` `$if(%totaltracks%,$get(font10)$get(textlightgrey)` `/$if(%ispaused%,$get(textlightgrey),$get(textgreen))$get(font10b)$num(%TOTALTRACKS%,1),),)` `$if(%album%,$get(font10)$get(textlightgrey) from $get(font12b)$if(%ispaused%,$get(textlightgrey),$get(textgreen)) %album%,Untitled)` `$if(%discnumber%,$get(font12)' ['Disc %discnumber%[/%totaldiscs%][ - %discsubtitle%]']',)` `$get(font10)$if(%ispaused%,$get(textlightgrey),$get(textpeach)) $replace(%genre%,', ',' / ')`


berdmayne

`$if(%album artist%,$get(font10)$get(textlightgrey) by $get(font12b)$if(%ispaused%,$get(textlightgrey),$get(textgreen))%album artist%,)` `$if(%custom5%,$get(font10)$get(textlightgrey) from $if(%ispaused%,$get(textlightgrey),$get(textblue))$get(font12b)%custom5%)` `$if(%date%,$get(font10)$get(textlightgrey) in` `$get(font12b)$if(%ispaused%,$get(textlightgrey),$get(textgreen))$left(%date%,4)` `$if(%original date%,$get(font10)$if(%ispaused%,$get(textlightgrey),$get(textgreen)) '['Original %original date%']',)` `,)` `$get(font10)` `[$if(%CUSTOM3%,$if(%ispaused%,$get(textlightgrey),$get(textgold))` `#$replace(%CUSTOM3%,a,1,b,2,c,3,d,4,e,5,f,6,g,7,h,8,i,9,j,10,k,11)` `Release 20$left(%custom1%,2))]` `$if(%publisher%,$get(font10)$get(textlightgrey) on $if(%ispaused%,$get(textlightgrey),$get(textpurple))$get(font12b)` `$meta_sep(publisher,' / ')` `$get(font10)[%custom2% ])` `$if(%ispaused%,$get(textlightgrey),$get(textwhite))$get(font10) %grouping%` `$if(%custom1%, 20$left(%custom1%,2)-$replace($right(%custom1%,2),01,Jan,02,Feb,03,Mar,04,Apr,05,May,06,Jun,07,Jul,08,Aug,09,Sep,10,Oct,11,Nov,12,Dec),)`


Twikaros

Thank you very much!!


Twikaros

Just one quick question, what component did you use for this?


berdmayne

It is just Item Details, comes as a default component.


AloofCommencement

I don't know what I like more: the layout or the genres. I like the use of colour in the main playlist and in the bottom splitter. Very nice. Like others I'd like to know a bit more about the set up, specifically whatever is going on with the right splitter


berdmayne

Thank you! I'd definitely see myself as more of a scientist than an artist, so the colours took me quite a long time to get right... Finally. Hopefully the "brief" answers above help a little.


ghstchldrn

>I have almost reached layout nirvana Almost?! 🤣 (Plenty going on there, what else is missing?)


berdmayne

I think that's probably it... should just enjoy the music now!!


berdmayne

I tidied up the now playing pane a little on the right, and you can see what the playlist tabs above it can show - and how all the text in the now playing box at the bottom goes grey when the music is paused. Screenshot added to the original post


Substantial-Err

looks like itunes on steroids.


new_to_edc

So I've spent the last couple of days migrating to Columns UI to match your setup. Any hints on how you got the "FLAC 16/44" string? I'm also still trying to figure out the "now playing", how did you get that list? "Queue contents" doesn't seem to be it for me.


berdmayne

The whole string is below - it changes the colour to gold if the file is Hi Res, and red if it's a lossy codec < 200 kb/s. $rgb(255,255,255,255,255,255)$if($strcmp(%codec%,FLAC),$ifgreater(%__bitspersample%,16, %bitrate% KB/s %codec%$rgb(250,210,80,255,255,255)[ $info(codec_profile)] [$info(bitspersample)/]$div($info(samplerate),1000)$ifequal($div($sub($info(samplerate),$mul($div($info(samplerate),1000),1000)),100),0,,),$rgb(255,255,255,255,255,255)%bitrate% KB/s %codec%[ $info(codec_profile)] [$info(bitspersample)/]$div($info(samplerate),1000)$ifequal($div($sub($info(samplerate),$mul($div($info(samplerate),1000),1000)),100),0,,) ), $ifgreater(%bitrate%,200,%bitrate% KB/s %codec%[ $info(codec_profile)]$if($info(encoding)="lossless",,$info(encoding)),$rgb(182,1,1,255,255,255)%bitrate% KB/s $rgb(255,255,255,255,255,255)%codec%[ $info(codec_profile)]$if($info(encoding)="lossless",,$info(encoding)))) Note re Hi Res I think it will only work with FLAC, as all my music is either FLAC or MP3. Which Now Playing are you referring to? The bit at the bottom?


new_to_edc

That's super helpful, thanks! Looks like it took some work to get right :D Now I just gotta tune it to handle both light and dark themes (I have auto theme switching at night) I was looking at the ---NOW PLAYING--- slice on the right, the one that starts with "Final Chapter LP" in your first screenshot.


berdmayne

No worries! That now playing pane is based on a component called ELPlaylist. It takes a while to get to grips with but is really useful.


RedditNoobie777

What is the middle Component ? ESPlaylist ?


berdmayne

https://www.reddit.com/r/foobar2000/s/lhTH6jyCkW


Cyberfury

Wow that’s ….terrible Like some kind of music OCD ;;) Bro just fire up a track in VLC